diff --git a/core/.changelog.d/2888.changed b/core/.changelog.d/2888.changed new file mode 100644 index 0000000000..601a9831db --- /dev/null +++ b/core/.changelog.d/2888.changed @@ -0,0 +1 @@ +[T2T1] Adjust buttons used for scrolling multipage content. diff --git a/core/embed/rust/src/ui/component/mod.rs b/core/embed/rust/src/ui/component/mod.rs index 6f85fe167c..e07909dd78 100644 --- a/core/embed/rust/src/ui/component/mod.rs +++ b/core/embed/rust/src/ui/component/mod.rs @@ -24,7 +24,7 @@ pub use map::MsgMap; pub use marquee::Marquee; pub use maybe::Maybe; pub use pad::Pad; -pub use paginated::{AuxPageMsg, PageMsg, Paginate}; +pub use paginated::{PageMsg, Paginate}; pub use painter::Painter; pub use placed::{FixedHeightBar, Floating, GridPlaced, Split}; pub use qr_code::Qr; diff --git a/core/embed/rust/src/ui/component/paginated.rs b/core/embed/rust/src/ui/component/paginated.rs index 3bdbe2dabd..c8c992c8a1 100644 --- a/core/embed/rust/src/ui/component/paginated.rs +++ b/core/embed/rust/src/ui/component/paginated.rs @@ -1,7 +1,13 @@ -pub enum AuxPageMsg { - /// Page component was instantiated with BACK button on every page and it - /// was pressed. - GoBack, +/// Common message type for pagination components. +pub enum PageMsg { + /// Pass-through from paged component. + Content(T), + + /// Confirmed using page controls. + Confirmed, + + /// Cancelled using page controls. + Cancelled, /// Page component was configured to react to swipes and user swiped left. SwipeLeft, @@ -10,19 +16,6 @@ pub enum AuxPageMsg { SwipeRight, } -/// Common message type for pagination components. -pub enum PageMsg { - /// Pass-through from paged component. - Content(T), - - /// Messages from page controls outside the paged component, like - /// "OK" and "Cancel" buttons. - Controls(U), - - /// Auxilliary events used by exotic pages on touchscreens. - Aux(AuxPageMsg), -} - pub trait Paginate { /// How many pages of content are there in total? fn page_count(&mut self) -> usize; diff --git a/core/embed/rust/src/ui/model_tr/component/page.rs b/core/embed/rust/src/ui/model_tr/component/page.rs index 762a352d5d..fc3dddbd3b 100644 --- a/core/embed/rust/src/ui/model_tr/component/page.rs +++ b/core/embed/rust/src/ui/model_tr/component/page.rs @@ -162,7 +162,7 @@ where T: Component + Paginate, U: StringType + Clone, { - type Msg = PageMsg; + type Msg = PageMsg; fn place(&mut self, bounds: Rect) -> Rect { let (content_area, button_area) = bounds.split_bottom(theme::BUTTON_HEIGHT); @@ -191,7 +191,7 @@ where self.change_page(ctx); } else { // Clicked CANCEL. Send result. - return Some(PageMsg::Controls(false)); + return Some(PageMsg::Cancelled); } } ButtonPos::Right => { @@ -201,7 +201,7 @@ where self.change_page(ctx); } else { // Clicked CONFIRM. Send result. - return Some(PageMsg::Controls(true)); + return Some(PageMsg::Confirmed); } } _ => {} diff --git a/core/embed/rust/src/ui/model_tr/layout.rs b/core/embed/rust/src/ui/model_tr/layout.rs index 24e8b29324..84989fa3e5 100644 --- a/core/embed/rust/src/ui/model_tr/layout.rs +++ b/core/embed/rust/src/ui/model_tr/layout.rs @@ -93,10 +93,9 @@ where { fn msg_try_into_obj(&self, msg: Self::Msg) -> Result { match msg { - PageMsg::Content(_) => Err(Error::TypeError), - PageMsg::Controls(true) => Ok(CONFIRMED.as_obj()), - PageMsg::Controls(false) => Ok(CANCELLED.as_obj()), - PageMsg::Aux(_) => Err(Error::TypeError), + PageMsg::Confirmed => Ok(CONFIRMED.as_obj()), + PageMsg::Cancelled => Ok(CANCELLED.as_obj()), + _ => Err(Error::TypeError), } } } diff --git a/core/embed/rust/src/ui/model_tt/component/hold_to_confirm.rs b/core/embed/rust/src/ui/model_tt/component/hold_to_confirm.rs deleted file mode 100644 index a5e56f1661..0000000000 --- a/core/embed/rust/src/ui/model_tt/component/hold_to_confirm.rs +++ /dev/null @@ -1,244 +0,0 @@ -use crate::{ - time::Instant, - ui::{ - component::{Child, Component, ComponentExt, Event, EventCtx, FixedHeightBar, Pad}, - geometry::{Grid, Insets, Rect}, - util::animation_disabled, - }, -}; - -use super::{theme, Button, ButtonMsg, ButtonStyleSheet, Loader, LoaderMsg}; - -pub enum HoldToConfirmMsg { - Content(T), - Confirmed, - Cancelled, -} - -pub struct HoldToConfirm { - loader: Loader, - content: Child, - buttons: Child>, - pad: Pad, -} - -impl HoldToConfirm -where - T: Component, -{ - pub fn new(content: T) -> Self { - Self { - loader: Loader::new(), - content: Child::new(content), - buttons: Child::new(CancelHold::new(theme::button_confirm())), - pad: Pad::with_background(theme::BG), - } - } - - pub fn inner(&self) -> &T { - self.content.inner() - } -} - -impl Component for HoldToConfirm -where - T: Component, -{ - type Msg = HoldToConfirmMsg; - - fn place(&mut self, bounds: Rect) -> Rect { - let controls_area = self.buttons.place(bounds); - let content_area = bounds - .inset(Insets::bottom(controls_area.height())) - .inset(Insets::bottom(theme::BUTTON_SPACING)) - .inset(Insets::left(theme::CONTENT_BORDER)); - self.pad.place(content_area); - self.loader.place(content_area); - self.content.place(content_area); - bounds - } - - fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option { - if let Some(msg) = self.content.event(ctx, event) { - return Some(HoldToConfirmMsg::Content(msg)); - } - let button_msg = match self.buttons.event(ctx, event) { - Some(CancelHoldMsg::Cancelled) => return Some(HoldToConfirmMsg::Cancelled), - Some(CancelHoldMsg::HoldButton(b)) => Some(b), - _ => None, - }; - if handle_hold_event( - ctx, - event, - button_msg, - &mut self.loader, - &mut self.pad, - &mut self.content, - ) { - return Some(HoldToConfirmMsg::Confirmed); - } - None - } - - fn paint(&mut self) { - self.pad.paint(); - if self.loader.is_animating() { - self.loader.paint(); - } else { - self.content.paint(); - } - self.buttons.paint(); - } - - #[cfg(feature = "ui_bounds")] - fn bounds(&self, sink: &mut dyn FnMut(Rect)) { - sink(self.pad.area); - if self.loader.is_animating() { - self.loader.bounds(sink) - } else { - self.content.bounds(sink) - } - self.buttons.bounds(sink); - } -} - -#[cfg(feature = "ui_debug")] -impl crate::trace::Trace for HoldToConfirm -where - T: crate::trace::Trace, -{ - fn trace(&self, t: &mut dyn crate::trace::Tracer) { - t.component("HoldToConfirm"); - t.child("content", &self.content); - } -} - -pub struct CancelHold { - cancel: Option>>, - hold: Child>, -} - -pub enum CancelHoldMsg { - Cancelled, - HoldButton(ButtonMsg), -} - -impl CancelHold { - pub fn new(button_style: ButtonStyleSheet) -> FixedHeightBar { - theme::button_bar(Self { - cancel: Some(Button::with_icon(theme::ICON_CANCEL).into_child()), - hold: Button::with_text("HOLD TO CONFIRM") - .styled(button_style) - .into_child(), - }) - } - - pub fn with_cancel_arrow() -> FixedHeightBar { - theme::button_bar(Self { - cancel: Some(Button::with_icon(theme::ICON_UP).into_child()), - hold: Button::with_text("HOLD TO CONFIRM") - .styled(theme::button_confirm()) - .into_child(), - }) - } - - pub fn without_cancel() -> FixedHeightBar { - theme::button_bar(Self { - cancel: None, - hold: Button::with_text("HOLD TO CONFIRM") - .styled(theme::button_confirm()) - .into_child(), - }) - } -} - -impl Component for CancelHold { - type Msg = CancelHoldMsg; - - fn place(&mut self, bounds: Rect) -> Rect { - if self.cancel.is_some() { - let grid = Grid::new(bounds, 1, 4).with_spacing(theme::BUTTON_SPACING); - self.cancel.place(grid.row_col(0, 0)); - self.hold - .place(grid.row_col(0, 1).union(grid.row_col(0, 3))); - } else { - self.hold.place(bounds); - }; - bounds - } - - fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option { - if let Some(ButtonMsg::Clicked) = self.cancel.event(ctx, event) { - return Some(CancelHoldMsg::Cancelled); - } - self.hold.event(ctx, event).map(CancelHoldMsg::HoldButton) - } - - fn paint(&mut self) { - self.cancel.paint(); - self.hold.paint(); - } - - #[cfg(feature = "ui_bounds")] - fn bounds(&self, sink: &mut dyn FnMut(Rect)) { - self.cancel.bounds(sink); - self.hold.bounds(sink); - } -} - -#[cfg(feature = "ui_debug")] -impl crate::trace::Trace for CancelHold { - fn trace(&self, t: &mut dyn crate::trace::Tracer) { - t.component("CancelHold"); - } -} - -/// Hold-to-confirm logic to be called from event handler of the component that -/// owns `pad`, `loader`, and `content` and a Button. It is expected that the -/// associated button already processed `event` and returned `button_msg`. -/// Returns `true` when the interaction successfully finished. -#[must_use] -pub fn handle_hold_event( - ctx: &mut EventCtx, - event: Event, - button_msg: Option, - loader: &mut Loader, - pad: &mut Pad, - content: &mut T, -) -> bool -where - T: Component, -{ - let now = Instant::now(); - - if let Some(LoaderMsg::ShrunkCompletely) = loader.event(ctx, event) { - // Clear the remnants of the loader. - pad.clear(); - // Switch it to the initial state, so we stop painting it. - loader.reset(); - // Re-draw the whole content tree. - content.request_complete_repaint(ctx); - // This can be a result of an animation frame event, we should take - // care to not short-circuit here and deliver the event to the - // content as well. - } - match button_msg { - Some(ButtonMsg::Pressed) => { - loader.start_growing(ctx, now); - pad.clear(); // Clear the remnants of the content. - } - Some(ButtonMsg::Released) => { - loader.start_shrinking(ctx, now); - } - Some(ButtonMsg::Clicked) => { - if loader.is_completely_grown(now) || animation_disabled() { - return true; - } else { - loader.start_shrinking(ctx, now); - } - } - _ => {} - } - - false -} 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 80cb36e1dc..b2f1be3f49 100644 --- a/core/embed/rust/src/ui/model_tt/component/mod.rs +++ b/core/embed/rust/src/ui/model_tt/component/mod.rs @@ -7,10 +7,8 @@ mod fido; mod fido_icons; mod error; mod frame; -mod hold_to_confirm; #[cfg(feature = "micropython")] mod homescreen; -mod horizontal_page; mod keyboard; mod loader; mod number_input; @@ -18,6 +16,7 @@ mod page; mod progress; mod result; mod scroll; +mod simple_page; mod swipe; mod welcome_screen; @@ -31,10 +30,8 @@ pub use dialog::{Dialog, DialogMsg, IconDialog}; pub use error::ErrorScreen; pub use fido::{FidoConfirm, FidoMsg}; pub use frame::{Frame, FrameMsg}; -pub use hold_to_confirm::{HoldToConfirm, HoldToConfirmMsg}; #[cfg(feature = "micropython")] pub use homescreen::{Homescreen, HomescreenMsg, Lockscreen}; -pub use horizontal_page::HorizontalPage; pub use keyboard::{ bip39::Bip39Input, mnemonic::{MnemonicInput, MnemonicKeyboard, MnemonicKeyboardMsg}, @@ -45,10 +42,11 @@ pub use keyboard::{ }; pub use loader::{Loader, LoaderMsg, LoaderStyle, LoaderStyleSheet}; pub use number_input::{NumberInputDialog, NumberInputDialogMsg}; -pub use page::{SwipeHoldPage, SwipePage}; +pub use page::ButtonPage; pub use progress::Progress; pub use result::{ResultFooter, ResultScreen, ResultStyle}; pub use scroll::ScrollBar; +pub use simple_page::SimplePage; pub use swipe::{Swipe, SwipeDirection}; pub use welcome_screen::WelcomeScreen; diff --git a/core/embed/rust/src/ui/model_tt/component/page.rs b/core/embed/rust/src/ui/model_tt/component/page.rs index 502b090888..757cad16f3 100644 --- a/core/embed/rust/src/ui/model_tt/component/page.rs +++ b/core/embed/rust/src/ui/model_tt/component/page.rs @@ -1,109 +1,112 @@ -use crate::ui::{ - component::{ - base::ComponentExt, - paginated::{AuxPageMsg, PageMsg}, - Component, Event, EventCtx, FixedHeightBar, Pad, Paginate, +use crate::{ + time::Instant, + ui::{ + component::{paginated::PageMsg, Component, ComponentExt, Event, EventCtx, Pad, Paginate}, + display::{self, Color}, + geometry::{Insets, Rect}, + util::animation_disabled, }, - display::{self, toif::Icon, Color}, - geometry::{Grid, Insets, Rect}, - model_tt::component::{Button, ButtonContent, ButtonMsg}, }; use super::{ - hold_to_confirm::{handle_hold_event, CancelHold, CancelHoldMsg}, - theme, CancelConfirmMsg, Loader, ScrollBar, Swipe, SwipeDirection, + theme, Button, ButtonContent, ButtonMsg, ButtonStyleSheet, Loader, LoaderMsg, ScrollBar, Swipe, + SwipeDirection, }; -/// Describes behavior of left button. -enum ButtonPrevCancels { - /// Button never causes `PageMsg::Aux(AuxPageMsg::GoBack)` to be emitted. - Never, - - /// Button cancels the layout if pressed on the first page. Otherwise it - /// goes to previous page. - FirstPage, - - /// Button cancels the layout on any page, except the last where controls - /// are displayed. - AnyPage, -} - -impl ButtonPrevCancels { - fn should_cancel(&self, is_first_page: bool) -> bool { - match self { - ButtonPrevCancels::Never => false, - ButtonPrevCancels::FirstPage => is_first_page, - ButtonPrevCancels::AnyPage => true, - } - } - - fn icon(&self, is_first_page: bool) -> Icon { - match self { - ButtonPrevCancels::Never => theme::ICON_UP, - ButtonPrevCancels::FirstPage if is_first_page => theme::ICON_CANCEL, - ButtonPrevCancels::FirstPage => theme::ICON_UP, - ButtonPrevCancels::AnyPage => theme::ICON_BACK, - } - } -} - -pub struct SwipePage -where - U: Component, -{ +/// Allows pagination of inner component. Shows scroll bar, confirm & cancel +/// buttons. Optionally handles hold-to-confirm with loader. +pub struct ButtonPage { + /// Inner component. content: T, - controls: U, + /// Cleared when page changes. pad: Pad, + /// Swipe controller. swipe: Swipe, scrollbar: ScrollBar, + /// Hold-to-confirm mode whenever this is `Some(loader)`. + loader: Option, + button_cancel: Option>, + button_confirm: Button, button_prev: Button<&'static str>, button_next: Button<&'static str>, - button_prev_cancels: ButtonPrevCancels, - is_go_back: Option bool>, + /// Show cancel button instead of back button. + cancel_from_any_page: bool, + /// Whether to pass-through left swipe to parent component. swipe_left: bool, + /// Whether to pass-through right swipe to parent component. swipe_right: bool, + /// Fade to given backlight level on next paint(). fade: Option, } -impl SwipePage +impl ButtonPage where T: Paginate, T: Component, - U: Component, + U: AsRef + From<&'static str>, { - pub fn new(content: T, controls: U, background: Color) -> Self { + pub fn new(content: T, background: Color) -> Self { Self { content, - controls, - scrollbar: ScrollBar::vertical(), - swipe: Swipe::new(), pad: Pad::with_background(background), + swipe: Swipe::new(), + scrollbar: ScrollBar::vertical(), + loader: None, + button_cancel: Some(Button::with_icon(theme::ICON_CANCEL)), + button_confirm: Button::with_icon(theme::ICON_CONFIRM).styled(theme::button_confirm()), button_prev: Button::with_icon(theme::ICON_UP).initially_enabled(false), button_next: Button::with_icon(theme::ICON_DOWN), - button_prev_cancels: ButtonPrevCancels::Never, - is_go_back: None, + cancel_from_any_page: false, swipe_left: false, swipe_right: false, fade: None, } } + pub fn without_cancel(mut self) -> Self { + self.button_cancel = None; + self + } + + pub fn with_cancel_confirm(mut self, left: Option, right: Option) -> Self { + let cancel = match left { + Some(verb) => match verb.as_ref() { + "^" => Button::with_icon(theme::ICON_UP), + "<" => Button::with_icon(theme::ICON_BACK), + _ => Button::with_text(verb), + }, + _ => Button::with_icon(theme::ICON_CANCEL), + }; + let confirm = match right { + Some(verb) => Button::with_text(verb).styled(theme::button_confirm()), + _ => Button::with_icon(theme::ICON_CONFIRM).styled(theme::button_confirm()), + }; + self.button_cancel = Some(cancel); + self.button_confirm = confirm; + self + } + + pub fn with_hold(mut self) -> Self { + self.button_confirm = + Button::with_text("HOLD TO CONFIRM".into()).styled(theme::button_confirm()); + self.loader = Some(Loader::new()); + self + } + pub fn with_back_button(mut self) -> Self { - self.button_prev_cancels = ButtonPrevCancels::AnyPage; - self.button_prev = Button::with_icon(theme::ICON_BACK).initially_enabled(true); + self.cancel_from_any_page = true; + self.button_prev = Button::with_icon(theme::ICON_BACK).initially_enabled(false); + self.button_cancel = Some(Button::with_icon(theme::ICON_BACK)); self } - pub fn with_cancel_on_first_page(mut self) -> Self { - self.button_prev_cancels = ButtonPrevCancels::FirstPage; - self.button_prev = Button::with_icon(theme::ICON_CANCEL).initially_enabled(true); + pub fn with_cancel_arrow(mut self) -> Self { + self.button_cancel = Some(Button::with_icon(theme::ICON_UP)); self } - /// If `controls` message matches the function then we will go page back - /// instead of propagating the message to parent component. - pub fn with_go_back(mut self, is_go_back: fn(&U::Msg) -> bool) -> Self { - self.is_go_back = Some(is_go_back); + pub fn with_confirm_style(mut self, style: ButtonStyleSheet) -> Self { + self.button_confirm = self.button_confirm.styled(style); self } @@ -124,28 +127,16 @@ where self.swipe.allow_right = self.swipe_right; } - fn on_page_change(&mut self, ctx: &mut EventCtx) { + fn change_page(&mut self, ctx: &mut EventCtx, step: isize) { + // Advance scrollbar. + self.scrollbar.go_to_relative(step); + // Adjust the swipe parameters according to the scrollbar. self.setup_swipe(); - // Enable/disable prev/next buttons. - self.button_prev.set_content( - ctx, - ButtonContent::Icon( - self.button_prev_cancels - .icon(self.scrollbar.active_page == 0), - ), - ); - self.button_prev.enable_if( - ctx, - self.scrollbar.has_previous_page() - || matches!( - self.button_prev_cancels, - ButtonPrevCancels::FirstPage | ButtonPrevCancels::AnyPage - ), - ); - self.button_next - .enable_if(ctx, self.scrollbar.has_next_page()); + // Enable/disable prev button. + self.button_prev + .enable_if(ctx, self.scrollbar.has_previous_page()); // Change the page in the content, make sure it gets completely repainted and // clear the background under it. @@ -158,17 +149,145 @@ where self.fade = Some(theme::BACKLIGHT_NORMAL); } - /// Like `place()` but returns area for loader (content + scrollbar) to be - /// used in SwipeHoldPage. - fn place_get_content_area(&mut self, bounds: Rect) -> Rect { - let mut layout = PageLayout::new(bounds); + fn is_cancel_visible(&self) -> bool { + self.cancel_from_any_page || !self.scrollbar.has_previous_page() + } + + fn handle_swipe( + &mut self, + ctx: &mut EventCtx, + event: Event, + ) -> HandleResult<::Msg> { + if let Some(swipe) = self.swipe.event(ctx, event) { + match swipe { + SwipeDirection::Up => { + // Scroll down, if possible. + return HandleResult::NextPage; + } + SwipeDirection::Down => { + // Scroll up, if possible. + return HandleResult::PrevPage; + } + SwipeDirection::Left if self.swipe_left => { + return HandleResult::Return(PageMsg::SwipeLeft); + } + SwipeDirection::Right if self.swipe_right => { + return HandleResult::Return(PageMsg::SwipeRight); + } + _ => { + // Ignore other directions. + } + } + } + + HandleResult::Continue + } + + fn handle_button( + &mut self, + ctx: &mut EventCtx, + event: Event, + ) -> HandleResult<(Option<::Msg>, Option)> { + if self.scrollbar.has_next_page() { + if let Some(ButtonMsg::Clicked) = self.button_next.event(ctx, event) { + return HandleResult::NextPage; + } + } else { + let result = self.button_confirm.event(ctx, event); + match result { + Some(ButtonMsg::Clicked) => { + return HandleResult::Return((Some(PageMsg::Confirmed), result)) + } + Some(_) => return HandleResult::Return((None, result)), + None => {} + } + } + if self.is_cancel_visible() { + if let Some(ButtonMsg::Clicked) = self.button_cancel.event(ctx, event) { + return HandleResult::Return((Some(PageMsg::Cancelled), None)); + } + } else if let Some(ButtonMsg::Clicked) = self.button_prev.event(ctx, event) { + return HandleResult::PrevPage; + } + + HandleResult::Continue + } + + fn handle_hold( + &mut self, + ctx: &mut EventCtx, + event: Event, + button_msg: &Option, + ) -> HandleResult<::Msg> { + let Some(loader) = &mut self.loader else { + return HandleResult::Continue; + }; + let now = Instant::now(); + + if let Some(LoaderMsg::ShrunkCompletely) = loader.event(ctx, event) { + // Clear the remnants of the loader. + self.pad.clear(); + // Switch it to the initial state, so we stop painting it. + loader.reset(); + // Re-draw the whole content tree. + self.content.request_complete_repaint(ctx); + // This can be a result of an animation frame event, we should take + // care to not short-circuit here and deliver the event to the + // content as well. + } + match button_msg { + Some(ButtonMsg::Pressed) => { + loader.start_growing(ctx, now); + self.pad.clear(); // Clear the remnants of the content. + } + Some(ButtonMsg::Released) => { + loader.start_shrinking(ctx, now); + } + Some(ButtonMsg::Clicked) => { + if loader.is_completely_grown(now) || animation_disabled() { + return HandleResult::Return(PageMsg::Confirmed); + } else { + loader.start_shrinking(ctx, now); + } + } + _ => {} + } + + HandleResult::Continue + } +} + +enum HandleResult { + Return(T), + PrevPage, + NextPage, + Continue, +} + +impl Component for ButtonPage +where + T: Paginate, + T: Component, + U: AsRef + From<&'static str>, +{ + type Msg = PageMsg; + + fn place(&mut self, bounds: Rect) -> Rect { + let small_left_button = match (&self.button_cancel, &self.button_confirm) { + (None, _) => true, + (Some(cancel), confirm) => match (cancel.content(), confirm.content()) { + (ButtonContent::Text(t), _) => t.as_ref().len() <= 4, + (ButtonContent::Icon(_), ButtonContent::Icon(_)) => false, + _ => true, + }, + }; + let layout = PageLayout::new(bounds, small_left_button); self.pad.place(bounds); self.swipe.place(bounds); - self.button_prev.place(layout.button_prev); - self.button_next.place(layout.button_next); - - let buttons_area = self.controls.place(layout.controls); - layout.set_buttons_height(buttons_area.height()); + self.button_cancel.place(layout.button_left); + self.button_confirm.place(layout.button_right); + self.button_prev.place(layout.button_left); + self.button_next.place(layout.button_right); self.scrollbar.place(layout.scrollbar); // Layout the content. Try to fit it on a single page first, and reduce the area @@ -185,103 +304,90 @@ where } }; + if page_count == 1 && self.button_cancel.is_none() { + self.button_confirm.place(layout.button_both); + } + // Now that we finally have the page count, we can setup the scrollbar and the // swiper. self.scrollbar.set_count_and_active_page(page_count, 0); self.setup_swipe(); - layout.content_single_page.union(layout.scrollbar) - } -} - -impl Component for SwipePage -where - T: Paginate, - T: Component, - U: Component, -{ - type Msg = PageMsg; - - fn place(&mut self, bounds: Rect) -> Rect { - self.place_get_content_area(bounds); + let content_area = layout.content_single_page.union(layout.scrollbar); + self.loader.place(content_area); bounds } fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option { ctx.set_page_count(self.scrollbar.page_count); - if let Some(swipe) = self.swipe.event(ctx, event) { - match swipe { - SwipeDirection::Up => { - // Scroll down, if possible. - self.scrollbar.go_to_next_page(); - self.on_page_change(ctx); - return None; - } - SwipeDirection::Down => { - // Scroll up, if possible. - self.scrollbar.go_to_previous_page(); - self.on_page_change(ctx); - return None; - } - SwipeDirection::Left if self.swipe_left => { - return Some(PageMsg::Aux(AuxPageMsg::SwipeLeft)); - } - SwipeDirection::Right if self.swipe_right => { - return Some(PageMsg::Aux(AuxPageMsg::SwipeRight)); - } - _ => { - // Ignore other directions. - } + + match self.handle_swipe(ctx, event) { + HandleResult::Return(r) => return Some(r), + HandleResult::PrevPage => { + self.change_page(ctx, -1); + return None; } + HandleResult::NextPage => { + self.change_page(ctx, 1); + return None; + } + HandleResult::Continue => {} } + if let Some(msg) = self.content.event(ctx, event) { return Some(PageMsg::Content(msg)); } - if !self.scrollbar.has_next_page() { - if let Some(msg) = self.controls.event(ctx, event) { - // Handle the case when one of the controls buttons is configured to go back a - // page. - if let Some(f) = self.is_go_back { - if f(&msg) { - self.scrollbar.go_to_previous_page(); - self.on_page_change(ctx); - return None; - } - } - return Some(PageMsg::Controls(msg)); + + let mut confirm_button_msg = None; + let mut button_result = None; + + match self.handle_button(ctx, event) { + HandleResult::Return((Some(r), None)) => return Some(r), + HandleResult::Return((r, m)) => { + button_result = r; + confirm_button_msg = m; } - } else { - if let Some(ButtonMsg::Clicked) = self.button_prev.event(ctx, event) { - if self - .button_prev_cancels - .should_cancel(self.scrollbar.active_page == 0) - { - return Some(PageMsg::Aux(AuxPageMsg::GoBack)); - } - self.scrollbar.go_to_previous_page(); - self.on_page_change(ctx); + HandleResult::PrevPage => { + self.change_page(ctx, -1); return None; } - if let Some(ButtonMsg::Clicked) = self.button_next.event(ctx, event) { - self.scrollbar.go_to_next_page(); - self.on_page_change(ctx); + HandleResult::NextPage => { + self.change_page(ctx, 1); return None; } + HandleResult::Continue => {} } - None + + if self.loader.is_some() { + return match self.handle_hold(ctx, event, &confirm_button_msg) { + HandleResult::Return(r) => Some(r), + HandleResult::Continue => None, + _ => unreachable!(), + }; + } + button_result } fn paint(&mut self) { self.pad.paint(); - self.content.paint(); - if self.scrollbar.has_pages() { - self.scrollbar.paint(); + match &self.loader { + Some(l) if l.is_animating() => self.loader.paint(), + _ => { + self.content.paint(); + if self.scrollbar.has_pages() { + self.scrollbar.paint(); + } + } + } + if self.button_cancel.is_some() && self.is_cancel_visible() { + self.button_cancel.paint(); + } else { + self.button_prev.paint(); } if self.scrollbar.has_next_page() { - self.button_prev.paint(); self.button_next.paint(); } else { - self.controls.paint(); + self.button_confirm.paint(); } if let Some(val) = self.fade.take() { // Note that this is blocking and takes some time. @@ -294,27 +400,24 @@ where sink(self.pad.area); self.scrollbar.bounds(sink); self.content.bounds(sink); - if !self.scrollbar.has_next_page() { - self.controls.bounds(sink); - } else { - self.button_prev.bounds(sink); - self.button_next.bounds(sink); - } + self.button_cancel.bounds(sink); + self.button_confirm.bounds(sink); + self.button_prev.bounds(sink); + self.button_next.bounds(sink); } } #[cfg(feature = "ui_debug")] -impl crate::trace::Trace for SwipePage +impl crate::trace::Trace for ButtonPage where T: crate::trace::Trace, - U: crate::trace::Trace + Component, { fn trace(&self, t: &mut dyn crate::trace::Tracer) { - t.component("SwipePage"); + t.component("ButtonPage"); t.int("active_page", self.scrollbar.active_page as i64); t.int("page_count", self.scrollbar.page_count as i64); + t.bool("hold", self.loader.is_some()); t.child("content", &self.content); - t.child("controls", &self.controls); } } @@ -326,178 +429,41 @@ pub struct PageLayout { /// Scroll bar when multiple pages. pub scrollbar: Rect, /// Controls displayed on last page. - pub controls: Rect, - pub button_prev: Rect, - pub button_next: Rect, + pub button_left: Rect, + pub button_right: Rect, + pub button_both: Rect, } impl PageLayout { const SCROLLBAR_WIDTH: i16 = 8; const SCROLLBAR_SPACE: i16 = 5; - pub fn new(area: Rect) -> Self { - let (controls, _space) = area.split_right(theme::CONTENT_BORDER); + pub fn new(area: Rect, small_left_button: bool) -> Self { + let (area, button_both) = area.split_bottom(theme::BUTTON_HEIGHT); + let area = area.inset(Insets::bottom(theme::BUTTON_SPACING)); let (_space, content) = area.split_left(theme::CONTENT_BORDER); let (content_single_page, _space) = content.split_right(theme::CONTENT_BORDER); let (content, scrollbar) = content.split_right(Self::SCROLLBAR_SPACE + Self::SCROLLBAR_WIDTH); let (_space, scrollbar) = scrollbar.split_left(Self::SCROLLBAR_SPACE); - let (_, one_row_buttons) = area.split_bottom(theme::BUTTON_HEIGHT); - let grid = Grid::new(one_row_buttons, 1, 2).with_spacing(theme::BUTTON_SPACING); - let button_prev = grid.row_col(0, 0); - let button_next = grid.row_col(0, 1); + let width = if small_left_button { + theme::BUTTON_WIDTH + } else { + (button_both.width() - theme::BUTTON_SPACING) / 2 + }; + let (button_left, button_right) = button_both.split_left(width); + let button_right = button_right.inset(Insets::left(theme::BUTTON_SPACING)); Self { content_single_page, content, scrollbar, - controls, - button_prev, - button_next, + button_left, + button_right, + button_both, } } - - pub fn set_buttons_height(&mut self, height: i16) { - let buttons_inset = Insets::bottom(height + theme::BUTTON_SPACING); - self.content_single_page = self.content_single_page.inset(buttons_inset); - self.content = self.content.inset(buttons_inset); - self.scrollbar = self.scrollbar.inset(buttons_inset); - } -} - -pub struct SwipeHoldPage { - inner: SwipePage>, - loader: Loader, - pad: Pad, -} - -impl SwipeHoldPage -where - T: Paginate, - T: Component, -{ - pub fn new(content: T, background: Color) -> Self { - let buttons = CancelHold::new(theme::button_confirm()); - Self { - inner: SwipePage::new(content, buttons, background).with_cancel_on_first_page(), - loader: Loader::new(), - pad: Pad::with_background(background), - } - } - - pub fn with_danger(content: T, background: Color) -> Self { - let buttons = CancelHold::new(theme::button_danger()); - Self { - inner: SwipePage::new(content, buttons, background).with_cancel_on_first_page(), - loader: Loader::new(), - pad: Pad::with_background(background), - } - } - - pub fn without_cancel(content: T, background: Color) -> Self { - let buttons = CancelHold::without_cancel(); - Self { - inner: SwipePage::new(content, buttons, background), - loader: Loader::new(), - pad: Pad::with_background(background), - } - } - - pub fn with_cancel_arrow(content: T, background: Color) -> Self { - let buttons = CancelHold::with_cancel_arrow(); - Self { - inner: SwipePage::new(content, buttons, background), - loader: Loader::new(), - pad: Pad::with_background(background), - } - } - - pub fn with_swipe_left(mut self) -> Self { - self.inner = self.inner.with_swipe_left(); - self - } -} - -impl Component for SwipeHoldPage -where - T: Paginate, - T: Component, -{ - type Msg = PageMsg; - - fn place(&mut self, bounds: Rect) -> Rect { - let content_area = self.inner.place_get_content_area(bounds); - self.loader.place(content_area); - self.pad.place(content_area); - bounds - } - - fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option { - let msg = self.inner.event(ctx, event); - let button_msg = match msg { - Some(PageMsg::Content(c)) => return Some(PageMsg::Content(c)), - Some(PageMsg::Controls(CancelHoldMsg::Cancelled)) => { - return Some(PageMsg::Controls(CancelConfirmMsg::Cancelled)) - } - Some(PageMsg::Controls(CancelHoldMsg::HoldButton(b))) => Some(b), - Some(PageMsg::Aux(a)) => return Some(PageMsg::Aux(a)), - _ => None, - }; - if handle_hold_event( - ctx, - event, - button_msg, - &mut self.loader, - &mut self.pad, - &mut self.inner.content, - ) { - return Some(PageMsg::Controls(CancelConfirmMsg::Confirmed)); - } - if self.inner.pad.will_paint().is_some() { - self.inner.controls.request_complete_repaint(ctx); - } - None - } - - fn paint(&mut self) { - self.pad.paint(); - self.inner.pad.paint(); - if self.loader.is_animating() { - self.loader.paint() - } else { - self.inner.content.paint(); - if self.inner.scrollbar.has_pages() { - self.inner.scrollbar.paint(); - } - } - if self.inner.scrollbar.has_next_page() { - self.inner.button_prev.paint(); - self.inner.button_next.paint(); - } else { - self.inner.controls.paint(); - } - if let Some(val) = self.inner.fade.take() { - // Note that this is blocking and takes some time. - display::fade_backlight(val); - } - } - - #[cfg(feature = "ui_bounds")] - fn bounds(&self, sink: &mut dyn FnMut(Rect)) { - self.loader.bounds(sink); - self.inner.bounds(sink); - } -} - -#[cfg(feature = "ui_debug")] -impl crate::trace::Trace for SwipeHoldPage -where - T: crate::trace::Trace, -{ - fn trace(&self, t: &mut dyn crate::trace::Tracer) { - self.inner.trace(t) - } } #[cfg(test)] @@ -508,13 +474,10 @@ mod tests { strutil::SkipPrefix, trace::tests::trace, ui::{ - component::{ - text::paragraphs::{Paragraph, Paragraphs}, - Empty, - }, + component::text::paragraphs::{Paragraph, Paragraphs}, event::TouchEvent, geometry::Point, - model_tt::{component::Button, constant, theme}, + model_tt::{constant, theme}, }, }; @@ -557,24 +520,21 @@ mod tests { #[test] fn paragraphs_empty() { - let mut page = SwipePage::new( + let mut page = ButtonPage::<_, &'static str>::new( Paragraphs::<[Paragraph<&'static str>; 0]>::new([]), - Empty, theme::BG, ); page.place(SCREEN); let expected = serde_json::json!({ - "component": "SwipePage", + "component": "ButtonPage", "active_page": 0, "page_count": 1, "content": { "component": "Paragraphs", "paragraphs": [], }, - "controls": { - "component": "Empty", - }, + "hold": false, }); assert_eq!(trace(&page), expected); @@ -586,7 +546,7 @@ mod tests { #[test] fn paragraphs_single() { - let mut page = SwipePage::new( + let mut page = ButtonPage::<_, &'static str>::new( Paragraphs::new([ Paragraph::new( &theme::TEXT_NORMAL, @@ -597,13 +557,12 @@ mod tests { "Second, bold, paragraph should also fit on the screen whole I think.", ), ]), - Empty, theme::BG, ); page.place(SCREEN); let expected = serde_json::json!({ - "component": "SwipePage", + "component": "ButtonPage", "active_page": 0, "page_count": 1, "content": { @@ -613,9 +572,7 @@ mod tests { ["Second, bold, paragraph", "\n", "should also fit on the", "\n", "screen whole I think."], ], }, - "controls": { - "component": "Empty", - }, + "hold": false, }); assert_eq!(trace(&page), expected); @@ -627,20 +584,19 @@ mod tests { #[test] fn paragraphs_one_long() { - let mut page = SwipePage::new( + let mut page = ButtonPage::<_, &'static str>::new( Paragraphs::new( Paragraph::new( &theme::TEXT_BOLD, "This is somewhat long paragraph that goes on and on and on and on and on and will definitely not fit on just a single screen. You have to swipe a bit to see all the text it contains I guess. There's just so much letters in it.", ) ), - theme::button_bar(Button::with_text("NO")), theme::BG, ); page.place(SCREEN); let first_page = serde_json::json!({ - "component": "SwipePage", + "component": "ButtonPage", "active_page": 0, "page_count": 2, "content": { @@ -658,16 +614,10 @@ mod tests { ], ], }, - "controls": { - "component": "FixedHeightBar", - "inner": { - "component": "Button", - "text": "NO", - }, - }, + "hold": false, }); let second_page = serde_json::json!({ - "component": "SwipePage", + "component": "ButtonPage", "active_page": 1, "page_count": 2, "content": { @@ -676,13 +626,7 @@ mod tests { ["There's just so much", "\n", "letters in it."], ], }, - "controls": { - "component": "FixedHeightBar", - "inner": { - "component": "Button", - "text": "NO", - }, - }, + "hold": false, }); assert_eq!(trace(&page), first_page); @@ -698,7 +642,7 @@ mod tests { #[test] fn paragraphs_three_long() { - let mut page = SwipePage::new( + let mut page = ButtonPage::<_, &'static str>::new( Paragraphs::new([ Paragraph::new( &theme::TEXT_BOLD, @@ -713,13 +657,12 @@ mod tests { "Let's add another one for a good measure. This one should overflow all the way to the third page with a bit of luck.", ), ]), - theme::button_bar(Button::with_text("IDK")), theme::BG, ); page.place(SCREEN); let first_page = serde_json::json!({ - "component": "SwipePage", + "component": "ButtonPage", "active_page": 0, "page_count": 3, "content": { @@ -738,16 +681,10 @@ mod tests { ], ], }, - "controls": { - "component": "FixedHeightBar", - "inner": { - "component": "Button", - "text": "IDK", - }, - }, + "hold": false, }); let second_page = serde_json::json!({ - "component": "SwipePage", + "component": "ButtonPage", "active_page": 1, "page_count": 3, "content": { @@ -766,16 +703,10 @@ mod tests { ], ], }, - "controls": { - "component": "FixedHeightBar", - "inner": { - "component": "Button", - "text": "IDK", - }, - }, + "hold": false, }); let third_page = serde_json::json!({ - "component": "SwipePage", + "component": "ButtonPage", "active_page": 2, "page_count": 3, "content": { @@ -789,13 +720,7 @@ mod tests { ], ], }, - "controls": { - "component": "FixedHeightBar", - "inner": { - "component": "Button", - "text": "IDK", - }, - }, + "hold": false, }); assert_eq!(trace(&page), first_page); @@ -817,19 +742,18 @@ mod tests { #[test] fn paragraphs_hard_break() { - let mut page = SwipePage::new( + let mut page = ButtonPage::<_, &'static str>::new( Paragraphs::new([ Paragraph::new(&theme::TEXT_NORMAL, "Short one.").break_after(), Paragraph::new(&theme::TEXT_NORMAL, "Short two.").break_after(), Paragraph::new(&theme::TEXT_NORMAL, "Short three.").break_after(), ]), - theme::button_bar(Empty), theme::BG, ); page.place(SCREEN); let first_page = serde_json::json!({ - "component": "SwipePage", + "component": "ButtonPage", "active_page": 0, "page_count": 3, "content": { @@ -840,15 +764,10 @@ mod tests { ], ], }, - "controls": { - "component": "FixedHeightBar", - "inner": { - "component": "Empty", - }, - }, + "hold": false, }); let second_page = serde_json::json!({ - "component": "SwipePage", + "component": "ButtonPage", "active_page": 1, "page_count": 3, "content": { @@ -859,15 +778,10 @@ mod tests { ], ], }, - "controls": { - "component": "FixedHeightBar", - "inner": { - "component": "Empty", - }, - }, + "hold": false, }); let third_page = serde_json::json!({ - "component": "SwipePage", + "component": "ButtonPage", "active_page": 2, "page_count": 3, "content": { @@ -878,12 +792,7 @@ mod tests { ], ], }, - "controls": { - "component": "FixedHeightBar", - "inner": { - "component": "Empty", - }, - }, + "hold": false, }); assert_eq!(trace(&page), first_page); diff --git a/core/embed/rust/src/ui/model_tt/component/scroll.rs b/core/embed/rust/src/ui/model_tt/component/scroll.rs index c17bb6607c..bef3684657 100644 --- a/core/embed/rust/src/ui/model_tt/component/scroll.rs +++ b/core/embed/rust/src/ui/model_tt/component/scroll.rs @@ -56,11 +56,17 @@ impl ScrollBar { } pub fn go_to_next_page(&mut self) { - self.go_to(self.active_page.saturating_add(1).min(self.page_count - 1)); + self.go_to_relative(1) } pub fn go_to_previous_page(&mut self) { - self.go_to(self.active_page.saturating_sub(1)); + self.go_to_relative(-1) + } + + pub fn go_to_relative(&mut self, step: isize) { + self.go_to( + (self.active_page as isize + step).clamp(0, self.page_count as isize - 1) as usize, + ); } pub fn go_to(&mut self, active_page: usize) { diff --git a/core/embed/rust/src/ui/model_tt/component/horizontal_page.rs b/core/embed/rust/src/ui/model_tt/component/simple_page.rs similarity index 51% rename from core/embed/rust/src/ui/model_tt/component/horizontal_page.rs rename to core/embed/rust/src/ui/model_tt/component/simple_page.rs index fc0c7bcced..ffb25bfd53 100644 --- a/core/embed/rust/src/ui/model_tt/component/horizontal_page.rs +++ b/core/embed/rust/src/ui/model_tt/component/simple_page.rs @@ -1,9 +1,7 @@ use crate::ui::{ - component::{ - base::ComponentExt, AuxPageMsg, Component, Event, EventCtx, Never, Pad, PageMsg, Paginate, - }, + component::{base::ComponentExt, Component, Event, EventCtx, Pad, PageMsg, Paginate}, display::{self, Color}, - geometry::{Insets, Rect}, + geometry::{Axis, Insets, Rect}, }; use super::{theme, ScrollBar, Swipe, SwipeDirection}; @@ -11,26 +9,40 @@ use super::{theme, ScrollBar, Swipe, SwipeDirection}; const SCROLLBAR_HEIGHT: i16 = 18; const SCROLLBAR_BORDER: i16 = 4; -pub struct HorizontalPage { +pub struct SimplePage { content: T, pad: Pad, swipe: Swipe, scrollbar: ScrollBar, + axis: Axis, swipe_right_to_go_back: bool, fade: Option, } -impl HorizontalPage +impl SimplePage where T: Paginate, T: Component, { - pub fn new(content: T, background: Color) -> Self { + pub fn horizontal(content: T, background: Color) -> Self { Self { content, swipe: Swipe::new(), pad: Pad::with_background(background), scrollbar: ScrollBar::horizontal(), + axis: Axis::Horizontal, + swipe_right_to_go_back: false, + fade: None, + } + } + + pub fn vertical(content: T, background: Color) -> Self { + Self { + content, + swipe: Swipe::new(), + pad: Pad::with_background(background), + scrollbar: ScrollBar::vertical(), + axis: Axis::Vertical, swipe_right_to_go_back: false, fade: None, } @@ -46,11 +58,20 @@ where } fn setup_swipe(&mut self) { - self.swipe.allow_left = self.scrollbar.has_next_page(); - self.swipe.allow_right = self.scrollbar.has_previous_page() || self.swipe_right_to_go_back; + if self.is_horizontal() { + self.swipe.allow_left = self.scrollbar.has_next_page(); + self.swipe.allow_right = + self.scrollbar.has_previous_page() || self.swipe_right_to_go_back; + } else { + self.swipe.allow_up = self.scrollbar.has_next_page(); + self.swipe.allow_down = self.scrollbar.has_previous_page(); + self.swipe.allow_right = self.swipe_right_to_go_back; + } } - fn on_page_change(&mut self, ctx: &mut EventCtx) { + fn change_page(&mut self, ctx: &mut EventCtx, step: isize) { + // Advance scrollbar. + self.scrollbar.go_to_relative(step); // Adjust the swipe parameters according to the scrollbar. self.setup_swipe(); @@ -64,23 +85,43 @@ where // paint. self.fade = Some(theme::BACKLIGHT_NORMAL); } + + fn is_horizontal(&self) -> bool { + matches!(self.axis, Axis::Horizontal) + } } -impl Component for HorizontalPage +impl Component for SimplePage where T: Paginate, T: Component, { - type Msg = PageMsg; + type Msg = PageMsg; fn place(&mut self, bounds: Rect) -> Rect { self.swipe.place(bounds); - let (content, scrollbar) = bounds.split_bottom(SCROLLBAR_HEIGHT + SCROLLBAR_BORDER); - self.pad.place(content); - self.content.place(content); - self.scrollbar - .place(scrollbar.inset(Insets::bottom(SCROLLBAR_BORDER))); + let (content, scrollbar) = if self.is_horizontal() { + bounds.split_bottom(SCROLLBAR_HEIGHT + SCROLLBAR_BORDER) + } else { + bounds.split_right(SCROLLBAR_HEIGHT + SCROLLBAR_BORDER) + }; + + self.content.place(bounds); + if self.content.page_count() > 1 { + self.pad.place(content); + self.content.place(content); + } else { + self.pad.place(bounds); + } + + if self.is_horizontal() { + self.scrollbar + .place(scrollbar.inset(Insets::bottom(SCROLLBAR_BORDER))); + } else { + self.scrollbar + .place(scrollbar.inset(Insets::right(SCROLLBAR_BORDER))); + } self.scrollbar .set_count_and_active_page(self.content.page_count(), 0); @@ -92,18 +133,19 @@ where fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option { ctx.set_page_count(self.scrollbar.page_count); if let Some(swipe) = self.swipe.event(ctx, event) { - match swipe { - SwipeDirection::Left => { - self.scrollbar.go_to_next_page(); - self.on_page_change(ctx); + match (swipe, self.axis) { + (SwipeDirection::Left, Axis::Horizontal) | (SwipeDirection::Up, Axis::Vertical) => { + self.change_page(ctx, 1); return None; } - SwipeDirection::Right => { - if self.swipe_right_to_go_back && self.scrollbar.active_page == 0 { - return Some(PageMsg::Aux(AuxPageMsg::GoBack)); - } - self.scrollbar.go_to_previous_page(); - self.on_page_change(ctx); + (SwipeDirection::Right, _) + if self.swipe_right_to_go_back && self.scrollbar.active_page == 0 => + { + return Some(PageMsg::Cancelled); + } + (SwipeDirection::Right, Axis::Horizontal) + | (SwipeDirection::Down, Axis::Vertical) => { + self.change_page(ctx, -1); return None; } _ => { @@ -117,7 +159,9 @@ where fn paint(&mut self) { self.pad.paint(); self.content.paint(); - self.scrollbar.paint(); + if self.scrollbar.has_pages() { + self.scrollbar.paint(); + } if let Some(val) = self.fade.take() { // Note that this is blocking and takes some time. display::fade_backlight(val); @@ -133,12 +177,12 @@ where } #[cfg(feature = "ui_debug")] -impl crate::trace::Trace for HorizontalPage +impl crate::trace::Trace for SimplePage where T: crate::trace::Trace, { fn trace(&self, t: &mut dyn crate::trace::Tracer) { - t.component("HorizontalPage"); + t.component("SimplePage"); t.int("active_page", self.scrollbar.active_page as i64); t.int("page_count", self.scrollbar.page_count as i64); t.child("content", &self.content); diff --git a/core/embed/rust/src/ui/model_tt/layout.rs b/core/embed/rust/src/ui/model_tt/layout.rs index 1f1539f211..22a9f9fd56 100644 --- a/core/embed/rust/src/ui/model_tt/layout.rs +++ b/core/embed/rust/src/ui/model_tt/layout.rs @@ -20,7 +20,7 @@ use crate::{ component::{ base::ComponentExt, image::BlendedImage, - paginated::{AuxPageMsg, PageMsg, Paginate}, + paginated::{PageMsg, Paginate}, painter, placed::GridPlaced, text::{ @@ -48,13 +48,12 @@ use crate::{ use super::{ component::{ - AddressDetails, Bip39Input, Button, ButtonMsg, ButtonStyleSheet, CancelConfirmMsg, - CancelInfoConfirmMsg, CoinJoinProgress, Dialog, DialogMsg, FidoConfirm, FidoMsg, Frame, - FrameMsg, HoldToConfirm, HoldToConfirmMsg, Homescreen, HomescreenMsg, HorizontalPage, - IconDialog, Lockscreen, MnemonicInput, MnemonicKeyboard, MnemonicKeyboardMsg, - NumberInputDialog, NumberInputDialogMsg, PassphraseKeyboard, PassphraseKeyboardMsg, - PinKeyboard, PinKeyboardMsg, Progress, SelectWordCount, SelectWordCountMsg, SelectWordMsg, - Slip39Input, SwipeHoldPage, SwipePage, WelcomeScreen, + AddressDetails, Bip39Input, Button, ButtonMsg, ButtonPage, ButtonStyleSheet, + CancelConfirmMsg, CancelInfoConfirmMsg, CoinJoinProgress, Dialog, DialogMsg, FidoConfirm, + FidoMsg, Frame, FrameMsg, Homescreen, HomescreenMsg, IconDialog, Lockscreen, MnemonicInput, + MnemonicKeyboard, MnemonicKeyboardMsg, NumberInputDialog, NumberInputDialogMsg, + PassphraseKeyboard, PassphraseKeyboardMsg, PinKeyboard, PinKeyboardMsg, Progress, + SelectWordCount, SelectWordCountMsg, SelectWordMsg, SimplePage, Slip39Input, WelcomeScreen, }, constant, theme, }; @@ -144,19 +143,6 @@ where } } -impl ComponentMsgObj for HoldToConfirm -where - T: ComponentMsgObj, -{ - fn msg_try_into_obj(&self, msg: Self::Msg) -> Result { - match msg { - HoldToConfirmMsg::Content(c) => Ok(self.inner().msg_try_into_obj(c)?), - HoldToConfirmMsg::Confirmed => Ok(CONFIRMED.as_obj()), - HoldToConfirmMsg::Cancelled => Ok(CANCELLED.as_obj()), - } - } -} - impl ComponentMsgObj for PinKeyboard where T: AsRef, @@ -209,34 +195,18 @@ where } } -impl ComponentMsgObj for SwipePage +impl ComponentMsgObj for ButtonPage where T: Component + Paginate, - U: Component, - ::Msg: TryInto, + U: AsRef + From<&'static str>, { fn msg_try_into_obj(&self, msg: Self::Msg) -> Result { match msg { PageMsg::Content(_) => Err(Error::TypeError), - PageMsg::Controls(msg) => msg.try_into(), - PageMsg::Aux(AuxPageMsg::GoBack) => Ok(CANCELLED.as_obj()), - PageMsg::Aux(AuxPageMsg::SwipeLeft) => Ok(INFO.as_obj()), - PageMsg::Aux(AuxPageMsg::SwipeRight) => Ok(CANCELLED.as_obj()), - } - } -} - -impl ComponentMsgObj for SwipeHoldPage -where - T: Component + Paginate, -{ - fn msg_try_into_obj(&self, msg: Self::Msg) -> Result { - match msg { - PageMsg::Content(_) => Err(Error::TypeError), - PageMsg::Controls(msg) => msg.try_into(), - PageMsg::Aux(AuxPageMsg::GoBack) => Ok(CANCELLED.as_obj()), - PageMsg::Aux(AuxPageMsg::SwipeLeft) => Ok(INFO.as_obj()), - PageMsg::Aux(AuxPageMsg::SwipeRight) => Ok(CANCELLED.as_obj()), + PageMsg::Confirmed => Ok(CONFIRMED.as_obj()), + PageMsg::Cancelled => Ok(CANCELLED.as_obj()), + PageMsg::SwipeLeft => Ok(INFO.as_obj()), + PageMsg::SwipeRight => Ok(CANCELLED.as_obj()), } } } @@ -361,16 +331,15 @@ impl ComponentMsgObj for Qr { } } -impl ComponentMsgObj for HorizontalPage +impl ComponentMsgObj for SimplePage where T: ComponentMsgObj + Paginate, { fn msg_try_into_obj(&self, msg: Self::Msg) -> Result { match msg { PageMsg::Content(inner_msg) => Ok(self.inner().msg_try_into_obj(inner_msg)?), - PageMsg::Controls(_) => Err(Error::TypeError), - PageMsg::Aux(AuxPageMsg::GoBack) => Ok(CANCELLED.as_obj()), - PageMsg::Aux(_) => Err(Error::TypeError), + PageMsg::Cancelled => Ok(CANCELLED.as_obj()), + _ => Err(Error::TypeError), } } } @@ -428,21 +397,15 @@ extern "C" fn new_confirm_action(n_args: usize, args: *const Obj, kwargs: *mut M paragraphs.into_paragraphs() }; - let obj = if hold { - let page = if hold_danger { - SwipeHoldPage::with_danger(paragraphs, theme::BG) - } else { - SwipeHoldPage::new(paragraphs, theme::BG) - }; - LayoutObj::new(Frame::left_aligned(theme::label_title(), title, page))? + let mut page = if hold { + ButtonPage::new(paragraphs, theme::BG).with_hold() } else { - let buttons = Button::cancel_confirm_text(verb_cancel, verb); - LayoutObj::new(Frame::left_aligned( - theme::label_title(), - title, - SwipePage::new(paragraphs, buttons, theme::BG).with_cancel_on_first_page(), - ))? + ButtonPage::new(paragraphs, theme::BG).with_cancel_confirm(verb_cancel, verb) }; + if hold && hold_danger { + page = page.with_confirm_style(theme::button_danger()) + } + let obj = LayoutObj::new(Frame::left_aligned(theme::label_title(), title, page))?; Ok(obj.into()) }; unsafe { util::try_with_args_and_kwargs(n_args, args, kwargs, block) } @@ -472,15 +435,11 @@ extern "C" fn new_confirm_emphasized(n_args: usize, args: *const Obj, kwargs: *m } } - let buttons = Button::::cancel_confirm_text(None, verb); let obj = LayoutObj::new(Frame::left_aligned( theme::label_title(), title, - SwipePage::new( - FormattedText::new(ops).vertically_centered(), - buttons, - theme::BG, - ), + ButtonPage::new(FormattedText::new(ops).vertically_centered(), theme::BG) + .with_cancel_confirm(None, verb), ))?; Ok(obj.into()) }; @@ -558,36 +517,21 @@ impl ConfirmBlobParams { } .into_paragraphs(); - let obj = if self.hold { - let mut frame = Frame::left_aligned( - theme::label_title(), - self.title, - SwipeHoldPage::new(paragraphs, theme::BG), - ); - if let Some(subtitle) = self.subtitle { - frame = frame.with_subtitle(theme::label_subtitle(), subtitle); - } - if self.info_button { - frame = frame.with_info_button(); - } - LayoutObj::new(frame)? + let page: ButtonPage<_, StrBuffer> = if self.hold { + ButtonPage::new(paragraphs, theme::BG).with_hold() } else if let Some(verb) = self.verb { - let buttons = Button::cancel_confirm_text(self.verb_cancel, Some(verb)); - let mut frame = Frame::left_aligned( - theme::label_title(), - self.title, - SwipePage::new(paragraphs, buttons, theme::BG).with_cancel_on_first_page(), - ); - if let Some(subtitle) = self.subtitle { - frame = frame.with_subtitle(theme::label_subtitle(), subtitle); - } - if self.info_button { - frame = frame.with_info_button(); - } - LayoutObj::new(frame)? + ButtonPage::new(paragraphs, theme::BG).with_cancel_confirm(self.verb_cancel, Some(verb)) } else { panic!("Either `hold=true` or `verb=Some(StrBuffer)` must be specified"); }; + let mut frame = Frame::left_aligned(theme::label_title(), self.title, page); + if let Some(subtitle) = self.subtitle { + frame = frame.with_subtitle(theme::label_subtitle(), subtitle); + } + if self.info_button { + frame = frame.with_info_button(); + } + let obj = LayoutObj::new(frame)?; Ok(obj.into()) } } @@ -649,14 +593,13 @@ extern "C" fn new_confirm_address(n_args: usize, args: *const Obj, kwargs: *mut } .into_paragraphs(); - let buttons = Button::cancel_confirm_text(None, Some("CONFIRM")); let obj = LayoutObj::new( Frame::left_aligned( theme::label_title(), title, - SwipePage::new(paragraphs, buttons, theme::BG) + ButtonPage::new(paragraphs, theme::BG) .with_swipe_left() - .with_cancel_on_first_page(), + .with_cancel_confirm(None, Some("CONFIRM")), ) .with_info_button(), )?; @@ -677,21 +620,13 @@ extern "C" fn new_confirm_properties(n_args: usize, args: *const Obj, kwargs: *m &theme::TEXT_MONO, &theme::TEXT_MONO, )?; - let obj = if hold { - LayoutObj::new(Frame::left_aligned( - theme::label_title(), - title, - SwipeHoldPage::new(paragraphs.into_paragraphs(), theme::BG), - ))? + let page: ButtonPage<_, StrBuffer> = if hold { + ButtonPage::new(paragraphs.into_paragraphs(), theme::BG).with_hold() } else { - let buttons = Button::cancel_confirm_text(None, Some("CONFIRM")); - LayoutObj::new(Frame::left_aligned( - theme::label_title(), - title, - SwipePage::new(paragraphs.into_paragraphs(), buttons, theme::BG) - .with_cancel_on_first_page(), - ))? + ButtonPage::new(paragraphs.into_paragraphs(), theme::BG) + .with_cancel_confirm(None, Some("CONFIRM".into())) }; + let obj = LayoutObj::new(Frame::left_aligned(theme::label_title(), title, page))?; Ok(obj.into()) }; unsafe { util::try_with_args_and_kwargs(n_args, args, kwargs, block) } @@ -789,7 +724,8 @@ extern "C" fn new_show_address_details(n_args: usize, args: *const Obj, kwargs: ad.add_xpub(xtitle, text)?; } - let obj = LayoutObj::new(HorizontalPage::new(ad, theme::BG).with_swipe_right_to_go_back())?; + let obj = + LayoutObj::new(SimplePage::horizontal(ad, theme::BG).with_swipe_right_to_go_back())?; Ok(obj.into()) }; unsafe { util::try_with_args_and_kwargs(n_args, args, kwargs, block) } @@ -814,7 +750,8 @@ extern "C" fn new_show_info_with_cancel(n_args: usize, args: *const Obj, kwargs: Frame::left_aligned( theme::label_title(), title, - SwipePage::new(paragraphs.into_paragraphs(), Empty, theme::BG).with_swipe_right(), + SimplePage::vertical(paragraphs.into_paragraphs(), theme::BG) + .with_swipe_right_to_go_back(), ) .with_cancel_button(), )?; @@ -866,11 +803,11 @@ extern "C" fn new_confirm_total(n_args: usize, args: *const Obj, kwargs: *mut Ma paragraphs.add(Paragraph::new(&theme::TEXT_NORMAL, label)); paragraphs.add(Paragraph::new(&theme::TEXT_MONO, value)); } - let mut page = if cancel_arrow { - SwipeHoldPage::with_cancel_arrow(paragraphs.into_paragraphs(), theme::BG) - } else { - SwipeHoldPage::new(paragraphs.into_paragraphs(), theme::BG) - }; + let mut page: ButtonPage<_, StrBuffer> = + ButtonPage::new(paragraphs.into_paragraphs(), theme::BG).with_hold(); + if cancel_arrow { + page = page.with_cancel_arrow() + } if info_button { page = page.with_swipe_left(); } @@ -903,11 +840,11 @@ extern "C" fn new_confirm_modify_output(n_args: usize, args: *const Obj, kwargs: Paragraph::new(&theme::TEXT_MONO, amount_new), ]); - let buttons = Button::cancel_confirm_text(Some("^"), Some("CONTINUE")); let obj = LayoutObj::new(Frame::left_aligned( theme::label_title(), "MODIFY AMOUNT", - SwipePage::new(paragraphs, buttons, theme::BG), + ButtonPage::<_, StrBuffer>::new(paragraphs, theme::BG) + .with_cancel_confirm(Some("^".into()), Some("CONTINUE".into())), ))?; Ok(obj.into()) }; @@ -942,7 +879,9 @@ extern "C" fn new_confirm_modify_fee(n_args: usize, args: *const Obj, kwargs: *m Frame::left_aligned( theme::label_title(), title, - SwipeHoldPage::new(paragraphs, theme::BG).with_swipe_left(), + ButtonPage::<_, StrBuffer>::new(paragraphs, theme::BG) + .with_hold() + .with_swipe_left(), ) .with_info_button(), )?; @@ -1241,15 +1180,13 @@ extern "C" fn new_confirm_more(n_args: usize, args: *const Obj, kwargs: *mut Map paragraphs.add(Paragraph::new(style, text)); } - let button = - theme::button_bar(Button::with_text(button).map(|msg| { - (matches!(msg, ButtonMsg::Clicked)).then(|| CancelConfirmMsg::Confirmed) - })); - let obj = LayoutObj::new(Frame::left_aligned( theme::label_title(), title, - SwipePage::new(paragraphs.into_paragraphs(), button, theme::BG).with_back_button(), + ButtonPage::new(paragraphs.into_paragraphs(), theme::BG) + .with_cancel_confirm(None, Some(button)) + .with_confirm_style(theme::button_default()) + .with_back_button(), ))?; Ok(obj.into()) }; @@ -1271,7 +1208,7 @@ extern "C" fn new_confirm_coinjoin(n_args: usize, args: *const Obj, kwargs: *mut let obj = LayoutObj::new(Frame::left_aligned( theme::label_title(), "AUTHORIZE COINJOIN", - SwipeHoldPage::new(paragraphs, theme::BG), + ButtonPage::<_, StrBuffer>::new(paragraphs, theme::BG).with_hold(), ))?; Ok(obj.into()) }; @@ -1331,12 +1268,10 @@ extern "C" fn new_select_word(n_args: usize, args: *const Obj, kwargs: *mut Map) let words: [StrBuffer; 3] = iter_into_array(words_iterable)?; let paragraphs = Paragraphs::new([Paragraph::new(&theme::TEXT_DEMIBOLD, description)]); - let buttons = Button::select_word(words); - let obj = LayoutObj::new(Frame::left_aligned( theme::label_title(), title, - SwipePage::new(paragraphs, buttons, theme::BG), + Dialog::new(paragraphs, Button::select_word(words)), ))?; Ok(obj.into()) }; @@ -1357,7 +1292,9 @@ extern "C" fn new_show_share_words(n_args: usize, args: *const Obj, kwargs: *mut let obj = LayoutObj::new(Frame::left_aligned( theme::label_title(), title, - SwipeHoldPage::without_cancel(paragraphs.into_paragraphs(), theme::BG), + ButtonPage::<_, StrBuffer>::new(paragraphs.into_paragraphs(), theme::BG) + .with_hold() + .without_cancel(), ))?; Ok(obj.into()) }; @@ -1535,13 +1472,10 @@ extern "C" fn new_show_remaining_shares(n_args: usize, args: *const Obj, kwargs: let obj = LayoutObj::new(Frame::left_aligned( theme::label_title(), "REMAINING SHARES", - SwipePage::new( - paragraphs.into_paragraphs(), - theme::button_bar(Button::with_text("CONTINUE").map(|msg| { - (matches!(msg, ButtonMsg::Clicked)).then(|| CancelConfirmMsg::Confirmed) - })), - theme::BG, - ), + ButtonPage::<_, StrBuffer>::new(paragraphs.into_paragraphs(), theme::BG) + .with_cancel_confirm(None, Some("CONTINUE".into())) + .with_confirm_style(theme::button_default()) + .without_cancel(), ))?; Ok(obj.into()) }; diff --git a/core/src/trezor/ui/layouts/tt/__init__.py b/core/src/trezor/ui/layouts/tt/__init__.py index 0392edec8a..64a85291d5 100644 --- a/core/src/trezor/ui/layouts/tt/__init__.py +++ b/core/src/trezor/ui/layouts/tt/__init__.py @@ -1173,6 +1173,7 @@ async def confirm_signverify( title, message, "Confirm message:", + hold=not verify, br_code=BR_TYPE_OTHER, ) diff --git a/tests/input_flows.py b/tests/input_flows.py index 6f52592c68..b87394fb9d 100644 --- a/tests/input_flows.py +++ b/tests/input_flows.py @@ -262,7 +262,7 @@ class InputFlowShowAddressQRCode(InputFlowBase): yield self.debug.click(buttons.CORNER_BUTTON, wait=True) # synchronize; TODO get rid of this once we have single-global-layout - self.debug.synchronize_at("HorizontalPage") + self.debug.synchronize_at("SimplePage") self.debug.swipe_left(wait=True) self.debug.swipe_right(wait=True) @@ -302,7 +302,7 @@ class InputFlowShowAddressQRCodeCancel(InputFlowBase): yield self.debug.click(buttons.CORNER_BUTTON, wait=True) # synchronize; TODO get rid of this once we have single-global-layout - self.debug.synchronize_at("HorizontalPage") + self.debug.synchronize_at("SimplePage") self.debug.swipe_left(wait=True) self.debug.click(buttons.CORNER_BUTTON, wait=True) @@ -427,7 +427,7 @@ class InputFlowShowXpubQRCode(InputFlowBase): self.debug.click(buttons.CORNER_BUTTON, wait=True) # synchronize; TODO get rid of this once we have single-global-layout - self.debug.synchronize_at("HorizontalPage") + self.debug.synchronize_at("SimplePage") self.debug.swipe_left(wait=True) self.debug.swipe_right(wait=True) diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json index 2c299a0085..b8e790abf1 100644 --- a/tests/ui_tests/fixtures.json +++ b/tests/ui_tests/fixtures.json @@ -2010,10 +2010,10 @@ }, "TT": { "click_tests": { -"TT_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "7af8c05b7988cfe1d7cf9bc5d50ac67e2b732c32d28ab7036961f6be5cb062e4", -"TT_test_autolock.py::test_autolock_does_not_interrupt_signing": "dad22e16ceeeaf07811ce9968c8b4c55235d1594f1891e33daa4f2de7d668f2b", +"TT_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "0be068b8447b5f55d55b7df1158c3687a87c3d42dda3dd1b3e6475d244c18b91", +"TT_test_autolock.py::test_autolock_does_not_interrupt_signing": "ea337696790211330f7d14db8cf2adcd24404a3d258e3ff5466740f8504dfbdd", "TT_test_autolock.py::test_autolock_interrupts_passphrase": "679b31036355620e3cce93a214e371b19db503ecd0d9b23765a0cea109f9eef2", -"TT_test_autolock.py::test_autolock_interrupts_signing": "a22c666a77b97de8a95cf43e87e9f9b632627f07099988964781c497795e69e2", +"TT_test_autolock.py::test_autolock_interrupts_signing": "9e4cae9597b00a2dbff318ef4d51818debe703cbd65cda028d32d2e06770be1f", "TT_test_autolock.py::test_autolock_passphrase_keyboard": "1c017178b42ab6e0aa011e26403e5d3361648fef95354abee8820b92f196bad3", "TT_test_autolock.py::test_dryrun_enter_word_slowly": "36d94eecc597db90fe869a824a88c28c3ba8e362fee5b8df9a4f1c972582b0fa", "TT_test_autolock.py::test_dryrun_locks_at_number_of_words": "808fa669aba9edf9b9f210703ec0d5ae7323043ffe1936f49586a01a8df3b672", @@ -2049,11 +2049,11 @@ "TT_test_pin.py::test_wipe_code_setup": "4e82e1a6b33bdfa2b468de4f69a8511ce3be86fb5758005c36644b3960c010f2", "TT_test_recovery.py::test_recovery_bip39": "76c60a0e977422845e5ad79962eac84d2fd9da82e32cfd0f16c10a53133f7a9a", "TT_test_recovery.py::test_recovery_slip39_basic": "95c988d380c1085d412b30bb727c3a49a878e7a08eab32b60a0fc49a0305fbbe", -"TT_test_reset_bip39.py::test_reset_bip39": "c9fbd319d9129d9c2ea6a385f6eed4dc8346e09e9eec0438a183fe3f491f05b9", -"TT_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "8b1f872d8d1d1ef711b977c7775c93f120b59cbeba176913aac0cf7e13d24076", -"TT_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "c25c0073737e3c5ee5218d992e6c2e22b3c8e1a26ad91ce01725339dadffac6d", -"TT_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "8e5e4df27c3066c5c6970f5809cfedf4e86bfd718cc337a416ed0165fcd63d90", -"TT_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "014d332f511ccb5500828380e194c6d7ef22d6ea5af947b139e8049b442fd9c2" +"TT_test_reset_bip39.py::test_reset_bip39": "6b2c8d096a5c0ded808b9c2d21fbd8f37f46b52f1500d404b5d2c4002583949f", +"TT_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "253640695176e693bd08f84df73836abb2b4645489a56721891b1747b34d1020", +"TT_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "d170a294fb35251b3b59d8dfc3a988bb55b91ef21b36587cf6adcc97b294f342", +"TT_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "e9ed94120d4325e003b1d117faa41b4844643670b9ded9c9c77af6b094b8be5f", +"TT_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "c2490e6b956cb5d6a3c6f83a844126b1c0f2462158e354bf7de27247525cfb26" }, "device_tests": { "TT_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-0-bnb1hgm0p7khfk85zpz-68e2cb5a": "fa3d667e1439c9c2a475fff22d94e330c14697ff8dda4bcdded775492cb40a90", @@ -2061,66 +2061,66 @@ "TT_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-0-bn-59d4996f": "9836e9ae0814d1d42cf3957fc6ac6b17dc2503e5c0bb3a27fd1209ebf57c03d1", "TT_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-1-bn-c9025900": "7c2943551ba1616bf057ecdeced1f603a90d60768dbd072573a60dbfdf4933b9", "TT_binance-test_get_public_key.py::test_binance_get_public_key": "3d0517133c0cef58b6d8627527f3960f10706094d0d7113bc622453dd5cc9d8c", -"TT_binance-test_sign_tx.py::test_binance_sign_message[False-message0-expected_response0]": "41a6a796006777557d980358271101f247847b5cab71ba36b5fa54a2dc89b671", -"TT_binance-test_sign_tx.py::test_binance_sign_message[False-message1-expected_response1]": "0e38ce3e1e4f0e855576fdbb590d922685ee560517ec0c56e0f23ac5fedb53cf", -"TT_binance-test_sign_tx.py::test_binance_sign_message[False-message2-expected_response2]": "498ef9bebc2f9cd5c151393b5cb694c08012b27b6a76a21fd2bae1b167f9a604", -"TT_binance-test_sign_tx.py::test_binance_sign_message[True-message0-expected_response0]": "41a6a796006777557d980358271101f247847b5cab71ba36b5fa54a2dc89b671", -"TT_binance-test_sign_tx.py::test_binance_sign_message[True-message1-expected_response1]": "0e38ce3e1e4f0e855576fdbb590d922685ee560517ec0c56e0f23ac5fedb53cf", -"TT_binance-test_sign_tx.py::test_binance_sign_message[True-message2-expected_response2]": "498ef9bebc2f9cd5c151393b5cb694c08012b27b6a76a21fd2bae1b167f9a604", -"TT_bitcoin-test_authorize_coinjoin.py::test_cancel_authorization": "722c888565dc01abbd5fc3bb3b6c37a032ee45ea411c9c7a0619f714acbdfbd7", +"TT_binance-test_sign_tx.py::test_binance_sign_message[False-message0-expected_response0]": "28fde0e964521cf59b97a78c62d0c9655cfc8b0c8b1bdda7f75efb6a6c705a01", +"TT_binance-test_sign_tx.py::test_binance_sign_message[False-message1-expected_response1]": "5c0a4acdd90581b30266f1d97b811a3ad40cc39d2059d14f0a938c9a71016729", +"TT_binance-test_sign_tx.py::test_binance_sign_message[False-message2-expected_response2]": "fc22ef1bf651f8c8475674f3699a47c2ea951f9cc93ca60a4c9b2e8ab3c124cf", +"TT_binance-test_sign_tx.py::test_binance_sign_message[True-message0-expected_response0]": "28fde0e964521cf59b97a78c62d0c9655cfc8b0c8b1bdda7f75efb6a6c705a01", +"TT_binance-test_sign_tx.py::test_binance_sign_message[True-message1-expected_response1]": "5c0a4acdd90581b30266f1d97b811a3ad40cc39d2059d14f0a938c9a71016729", +"TT_binance-test_sign_tx.py::test_binance_sign_message[True-message2-expected_response2]": "fc22ef1bf651f8c8475674f3699a47c2ea951f9cc93ca60a4c9b2e8ab3c124cf", +"TT_bitcoin-test_authorize_coinjoin.py::test_cancel_authorization": "1779de46a1d6549caf369e488c4045f92484327696e212ff679d6ae8b51a01b2", "TT_bitcoin-test_authorize_coinjoin.py::test_get_address": "f4de0499dac628067619c6081d4ebdba0ad196af7bf9662c5387386eba9e9729", "TT_bitcoin-test_authorize_coinjoin.py::test_get_public_key": "38a7eac0cf0be45770fb28da9c2f74bac6404e85f2a3801acdd4b0107d99f2ff", -"TT_bitcoin-test_authorize_coinjoin.py::test_multisession_authorization": "eae73c583d41d62bcd926f7f99866e6bd2f8d52f7935713fff7564a1be662b56", -"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx[False]": "6b53c67261c0a0f3d81e39434a1bf5ce6141cce6342cc263137bf651fc8abebe", -"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx[True]": "6b53c67261c0a0f3d81e39434a1bf5ce6141cce6342cc263137bf651fc8abebe", -"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx_large": "e0923b25095c90df9e0e73361cd6a68cadc32963917d12f646bf592c9222d306", -"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx_migration": "bae8655b0eb398a327d4dec9b188b074d7e31822d1d5fed37a7d2db28663c2ac", -"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx_spend": "f544d73cdf88804e8be2667a976d9501da174c678207e72372f3e1a0cf410381", -"TT_bitcoin-test_authorize_coinjoin.py::test_wrong_account_type": "197c2b92570e85ad560e3bec5ac1bd3d0ed4c66ffc055c7b7f40ce36f5d6468c", -"TT_bitcoin-test_authorize_coinjoin.py::test_wrong_coordinator": "197c2b92570e85ad560e3bec5ac1bd3d0ed4c66ffc055c7b7f40ce36f5d6468c", -"TT_bitcoin-test_bcash.py::test_attack_change_input": "276a9420e4034e0e042ff4b58d55a95900b65840fcb34355d752dc589f40e7d7", -"TT_bitcoin-test_bcash.py::test_send_bch_change": "276a9420e4034e0e042ff4b58d55a95900b65840fcb34355d752dc589f40e7d7", -"TT_bitcoin-test_bcash.py::test_send_bch_external_presigned": "c29e6cdfed3c61b1cde51476786d8768de8f47d4bb8caa28c20b785e913abb7d", -"TT_bitcoin-test_bcash.py::test_send_bch_multisig_change": "097d1737886b562964774dbe51f60f29a1bfee096a2b1859a7278bc921cc2323", -"TT_bitcoin-test_bcash.py::test_send_bch_multisig_wrongchange": "0c5d69a76939d365bc18e04f0af8a95be52d78b63d7567a142a49850eb65f95d", -"TT_bitcoin-test_bcash.py::test_send_bch_nochange": "18dc109952058c3084291ee6b1afedf998dbecd2ddc530516b21ce715a5dbde0", -"TT_bitcoin-test_bcash.py::test_send_bch_oldaddr": "eda4a2b2466582febb4c810dd9a8d8b7be6af72ecb80a2e4302366dd55977bb3", -"TT_bitcoin-test_bgold.py::test_attack_change_input": "8b4f7c61b17763c05e14f4586a5fb016fe5a9cbf42c556e503aab144203e315f", -"TT_bitcoin-test_bgold.py::test_send_bitcoin_gold_change": "8b4f7c61b17763c05e14f4586a5fb016fe5a9cbf42c556e503aab144203e315f", -"TT_bitcoin-test_bgold.py::test_send_bitcoin_gold_nochange": "e1479756ea3e0ff7b0eefee179ab8c11e5b960a93c2ff394e24b550ad1df3bb4", -"TT_bitcoin-test_bgold.py::test_send_btg_external_presigned": "008292c1c901d46b39e06b8995d6ac6c24166658bb00d6b4783b047570e26091", -"TT_bitcoin-test_bgold.py::test_send_btg_multisig_change": "435fd9bda8b656fce005f3a1943592599ac3ce2801a53724a78dd93d1266a701", -"TT_bitcoin-test_bgold.py::test_send_mixed_inputs": "8ff05094c6b70aab1b2a5c82acc66ed5644992dde7506f621a89a4703c1940fb", -"TT_bitcoin-test_bgold.py::test_send_multisig_1": "5cf1b7f99b5b62a6d61bc7105fb75a6ed56600a8dd90221b5b25b9804416bf4d", -"TT_bitcoin-test_bgold.py::test_send_p2sh": "c9040a11ce2986f3f015c36dd90698b0f8b3712ffa6869f2c6ad1ab50141a735", -"TT_bitcoin-test_bgold.py::test_send_p2sh_witness_change": "3b45a085504588b77dac52e121e0c7dd58349de436f3c314c7c4173a919fa396", -"TT_bitcoin-test_dash.py::test_send_dash": "7bb24f76ec59145ec50faa2ae0871615061fc76442ad9610300736c84d62f8aa", -"TT_bitcoin-test_dash.py::test_send_dash_dip2_input": "d9f6add26546a6e4f7afa31b1ec8c1d5e70f51cd6795f3fcf9f15a39fae7bd7f", -"TT_bitcoin-test_decred.py::test_decred_multisig_change": "16b9e64cf39624502b513dad3bd6ce56b98684cd8af859cc460f2e5db0b322cb", -"TT_bitcoin-test_decred.py::test_purchase_ticket_decred": "73a9a00ce22b1939b56cb57ab8069267cd476e8fe1b724c837b24e7b3703fdd8", -"TT_bitcoin-test_decred.py::test_send_decred": "444e8d47b12a6ea264ed7008506fd7f7a4dfdc6a47f1b5d7c8c8e084bb5013c2", -"TT_bitcoin-test_decred.py::test_send_decred_change": "378bfdc9ccda0610c358f2ff2adee18c86cd860030b3b781bd82d3134dc5eef2", -"TT_bitcoin-test_decred.py::test_spend_from_stake_generation_and_revocation_decred": "6457391a28dffb6dc5349c0daee5c9e861fd084c366634a0d01b1537b4850adb", -"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-10025-InputScriptType.SPENDTAPROOT--ad9e3c78": "57c1d68b825f6d0dff4922f26a88718a969f2dd1467467f44078738a79cdc1da", -"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-44-InputScriptType.SPENDADDRESS-pkh-efa37663": "fdd206cd2e00972b6d6e0c1e6b79366af2519bdc703d845f31aaf98efbf0c690", -"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-49-InputScriptType.SPENDP2SHWITNESS-77f1e2d2": "6ba9575219f7f022f520abbb6e2c93f40ac122e6d0d2885ef5b576ea1b8fab7e", -"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-84-InputScriptType.SPENDWITNESS-wpk-16507754": "b4e551ac226a3d74a15570f609bb2ed4b431fda36ca139b181ec5eb558832dc7", -"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-86-InputScriptType.SPENDTAPROOT-tr(-2c28c019": "cbfd37730eeb0a57f1cb4ef79c20dc71fd412bc321c8a713a7895bd76122918c", -"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-44-InputScriptType.SPENDADDRESS-pkh-b15b8a1d": "20b632c7165d7009e623043c4d2b4677adb91d268c119f260f4f4c38efc98f6d", -"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-49-InputScriptType.SPENDP2SHWITNESS-965f4fa3": "9b366246247c74fa71ab444a68b65c7a3f4280f0baab46d8f4a17ab249900c3c", -"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-84-InputScriptType.SPENDWITNESS-wpk-c761bcc8": "93d3d2e2b9d135bd9a48307c464e73aa51c49be7e7ed4774de7d604007b5e48e", -"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-86-InputScriptType.SPENDTAPROOT-tr(-686799ea": "640b002fa2e215cc71c2047d4f57740f1acf0e19d12fbe60a84a8232c5721fed", -"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-10025-InputScriptType.SPENDTAPROOT--77d3a71b": "2e98b57e2dbbe934efa85cdcc628952506dde14152f9626ccd88cc69b1a641b8", -"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-44-InputScriptType.SPENDADDRESS-pkh-a26143a7": "af7809b902ebe70a3444473521c71c6d9e4c999df5c56fd7ca6647321812e33b", -"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-49-InputScriptType.SPENDP2SHWITNESS-195ebda5": "9270ae82eb26889042ef01f56167d43e10705474e27bbe06a0b883aa9c9eeb7f", -"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-84-InputScriptType.SPENDWITNESS-wpk-68f8b526": "c871aab1fd28e7377add3cb9ca9e40c9075ea0182742aded29cf782b86f82939", -"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-86-InputScriptType.SPENDTAPROOT-tr(-07da691f": "4e62cb4d96cce012d0579fb835a944f55c85b31a5d683ab305d4ade3c57dd238", -"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-44-InputScriptType.SPENDADDRESS-pkh-ca853567": "88eb53e7585e9b7032ba332cb06e1c5b75464202fc5a78bc07d9ad9c8c587db1", -"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-49-InputScriptType.SPENDP2SHWITNESS-5da04067": "b1f0a4c188002dbe2020fcc31edbbafbe2091cf717bb1441b356bbad025ba1e0", -"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-84-InputScriptType.SPENDWITNESS-wpk-adba8950": "0abdfa034d7adc8cecf7b0e9ca8406864bf251c20d45a3fb5647aef3c0255722", -"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-86-InputScriptType.SPENDTAPROOT-tr(-e31edeff": "49fb1df01aa2a37ce9782a96b1e9554c6a4c6a4e15beb6c38897b5a80bf373f2", -"TT_bitcoin-test_firo.py::test_spend_lelantus": "8467f703d0f2bcaada714d2662295422f724b8dccbac571c4065912968e3e112", -"TT_bitcoin-test_fujicoin.py::test_send_p2tr": "89d1cc8f6de1c81195f6d0938c997eba93cb9faf82db8428eabde85d2ce94c3a", +"TT_bitcoin-test_authorize_coinjoin.py::test_multisession_authorization": "d39b3290ddfecd5a3ceaf249543eaccb2b71c21eb2dbeabef94fe866ad7ce6a8", +"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx[False]": "fe257d1d1a61ec875332c0f4b5e17342e4c550a07b946579cf269742276c88a2", +"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx[True]": "fe257d1d1a61ec875332c0f4b5e17342e4c550a07b946579cf269742276c88a2", +"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx_large": "312fca890a6e93da6c3705e3b3c97ba38dd336374634dbed9134362420273380", +"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx_migration": "a0757616e39b5883ccfba01af3b386d1fc2d4a00517b2c3d79519ce0f60bc5cd", +"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx_spend": "b8ca0b72adfb0cfa1ff653c83a0995517b71f8bfc217753e16aab49dd82a3a65", +"TT_bitcoin-test_authorize_coinjoin.py::test_wrong_account_type": "4ec28178d68afd83019583d2f70dfc1a66a42f946a801d6a9d210ecb7d700951", +"TT_bitcoin-test_authorize_coinjoin.py::test_wrong_coordinator": "4ec28178d68afd83019583d2f70dfc1a66a42f946a801d6a9d210ecb7d700951", +"TT_bitcoin-test_bcash.py::test_attack_change_input": "5a2732a973bf39bb25bd06180cfdfbc7fe494015c07df9461d15e189851b811d", +"TT_bitcoin-test_bcash.py::test_send_bch_change": "5a2732a973bf39bb25bd06180cfdfbc7fe494015c07df9461d15e189851b811d", +"TT_bitcoin-test_bcash.py::test_send_bch_external_presigned": "0ebad19508c4746198a6728449e4ac0d1cfdf169db907e4ff1acf1ef7f37a400", +"TT_bitcoin-test_bcash.py::test_send_bch_multisig_change": "4e9225e760a416bdef0b2eb1ac07489a7fc216b6a682f4edfd0a99dc7a0364c3", +"TT_bitcoin-test_bcash.py::test_send_bch_multisig_wrongchange": "3350934f73adc12375536ecc125f42631d0f17f37d5a72c3a6a1a062e9e9e565", +"TT_bitcoin-test_bcash.py::test_send_bch_nochange": "1b7584ac7451c9449962322655770d6d46eb8bd073e13b3aa605b4da5bae2327", +"TT_bitcoin-test_bcash.py::test_send_bch_oldaddr": "8c7102bac98a0a09a46bbbeac4c980b4219bb63ac8ad6b1d80797bf9cd991cfd", +"TT_bitcoin-test_bgold.py::test_attack_change_input": "5969da300e12710b02231cebc1aa57ba60d8ca72338ff976c637de228dd743f0", +"TT_bitcoin-test_bgold.py::test_send_bitcoin_gold_change": "5969da300e12710b02231cebc1aa57ba60d8ca72338ff976c637de228dd743f0", +"TT_bitcoin-test_bgold.py::test_send_bitcoin_gold_nochange": "8cbb24c33d0801c03ae2b009cca0b6ade37c5ff437eaa64d8ba640a3da8a3002", +"TT_bitcoin-test_bgold.py::test_send_btg_external_presigned": "22a3e3baf7afcecc5b457ec9f9063e4d729879f79151bc43e1f0738595207b35", +"TT_bitcoin-test_bgold.py::test_send_btg_multisig_change": "f3e442202d95479ca14b053ab801b8002f752be016aba1a6057201d74503b9a3", +"TT_bitcoin-test_bgold.py::test_send_mixed_inputs": "8e93f1dc099203ca34177de6bf7370faa7e846ecedc630b8a16194fe7819d4c8", +"TT_bitcoin-test_bgold.py::test_send_multisig_1": "8066b6a823c1d5e646934754e74ac85652285ad9fdb23a74bd34c9597f6e5618", +"TT_bitcoin-test_bgold.py::test_send_p2sh": "f4b11a171cf48210e50e7e45acf9020a92cec3ac854921de0c133f60e3d0a5a0", +"TT_bitcoin-test_bgold.py::test_send_p2sh_witness_change": "9360c9e41a40282f5ecf6d2ee91fad8e2c10ee3be6634a7eead946eed23f94c7", +"TT_bitcoin-test_dash.py::test_send_dash": "557a45f80747ccb6622001a7540273589a9cfcbbea18ba4a23fb92e94346ccf3", +"TT_bitcoin-test_dash.py::test_send_dash_dip2_input": "a0b3ed97530eb7d1a0af8fb7069deeaf73bc5624dee58be0c1ddddbac85e04d8", +"TT_bitcoin-test_decred.py::test_decred_multisig_change": "f4d8513acbbf3531fafb8092b5a62ca03f789f31e695500a71364b2fd7976159", +"TT_bitcoin-test_decred.py::test_purchase_ticket_decred": "a33a6aa291e4af679e38d21b2222ff16844e6bfebf51f98c766556f520911ed9", +"TT_bitcoin-test_decred.py::test_send_decred": "7e8b1532772cf7695fbcf3460d179d08f22c410687c057ff128882e32d923c92", +"TT_bitcoin-test_decred.py::test_send_decred_change": "d28de2959972fb3ef29bb267fa8bf6b96ac9c7d9ef4550538db5235a5b45307d", +"TT_bitcoin-test_decred.py::test_spend_from_stake_generation_and_revocation_decred": "d4657fa66b4d9e90d99de7bf5ad3123d74fec9c528a819f691bc565b521257f3", +"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-10025-InputScriptType.SPENDTAPROOT--ad9e3c78": "b7744f84c1d8effdd6596c7c0c9175c58bddf5481499ddfa994093c039fd8ad7", +"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-44-InputScriptType.SPENDADDRESS-pkh-efa37663": "fd8bee3f6f1275ccd1bb43e98c2d6b41f71830e53f44e58d05684225dc011c36", +"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-49-InputScriptType.SPENDP2SHWITNESS-77f1e2d2": "d5891eaa531d5f81379a400eb61c81bb94d9589e66fa0c279f96bddf4f6691bb", +"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-84-InputScriptType.SPENDWITNESS-wpk-16507754": "e8a209d5d1ac4747dcc631e14fcdfb15372b694975f68554936ea54b325efd2b", +"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-86-InputScriptType.SPENDTAPROOT-tr(-2c28c019": "7a49565f1d9e551d85f57a17be889342255d751f1ff51787ac6e86577ee65579", +"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-44-InputScriptType.SPENDADDRESS-pkh-b15b8a1d": "982671b6d35761d52d65caba25fa4ea613654bef242aa2a640caa8f13bf4964e", +"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-49-InputScriptType.SPENDP2SHWITNESS-965f4fa3": "bce1140abd6cadaaf3ecfa4628bc2e7c599361d697e6d22fc8e864985bdcfc00", +"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-84-InputScriptType.SPENDWITNESS-wpk-c761bcc8": "4bb6a61478e21c9da7181a48d09e3a994d1b9cd90f25610a11ee4f67e00e43ed", +"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-86-InputScriptType.SPENDTAPROOT-tr(-686799ea": "9a5788adf0267fc81769513010dd3cc724216a8911dcdc2e8e4c5ac54a00695b", +"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-10025-InputScriptType.SPENDTAPROOT--77d3a71b": "a14f44b0b9f9b967f9d42467b4ad1def61a9895bf1bce70fe61dec68d3bd0d8f", +"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-44-InputScriptType.SPENDADDRESS-pkh-a26143a7": "571f7a24a67ff7ea866106f3f797cf8fa5ed5fc4ab825dd2aaf4aa3aba4da1ed", +"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-49-InputScriptType.SPENDP2SHWITNESS-195ebda5": "c080882bb2d1b8109d4a3671a33443cc570fbce639045720e30cff31808ef7d3", +"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-84-InputScriptType.SPENDWITNESS-wpk-68f8b526": "260cfa23e43f26c40fc9e0718be96f4801d8b5d9965fe3cd730d1096968ca57a", +"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-86-InputScriptType.SPENDTAPROOT-tr(-07da691f": "3604dab736d398afe93af15c01cabc4e6dfeb4c64405c1b3df880de6a849051f", +"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-44-InputScriptType.SPENDADDRESS-pkh-ca853567": "7527392c9480e599b2fce443f85735b0c8279c4badfd5c80971f015868d8c1cc", +"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-49-InputScriptType.SPENDP2SHWITNESS-5da04067": "90cbb5e78ab729d04bc6690aa0c96ef24790d8b13cc07c603e35e25b728bcd27", +"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-84-InputScriptType.SPENDWITNESS-wpk-adba8950": "0a9c4463bdd45c982aee437e57f87810b4b9a708f2b781aef03062921158b89e", +"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-86-InputScriptType.SPENDTAPROOT-tr(-e31edeff": "6b4049f4c90bcc37ae0c88423ca6b22a2a51e73ac368629724c65df5a5fb04f1", +"TT_bitcoin-test_firo.py::test_spend_lelantus": "213ced04e2b337576abe1861c11ef69352eb5542f2bef720e50d54cea031f9db", +"TT_bitcoin-test_fujicoin.py::test_send_p2tr": "6104cd021625791fc9141ca802c3c18fb50815459acae06b2eeb05da432352f7", "TT_bitcoin-test_getaddress.py::test_address_mac": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getaddress.py::test_altcoin_address_mac": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getaddress.py::test_bch": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", @@ -2137,7 +2137,7 @@ "TT_bitcoin-test_getaddress.py::test_public_ckd": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getaddress.py::test_tbtc": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getaddress.py::test_tgrs": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_bitcoin-test_getaddress.py::test_unknown_path": "7aa90691e4b6cf93b14d9b0dbb060c0920c4a609bf2e1650ce51159b4b50f7c5", +"TT_bitcoin-test_getaddress.py::test_unknown_path": "1dae1e1f3127cb2112f58e75e5b6eab871da0abadcac14235b3dadbfe0d1da81", "TT_bitcoin-test_getaddress_segwit.py::test_multisig_missing[False]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getaddress_segwit.py::test_multisig_missing[True]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getaddress_segwit.py::test_show_multisig_3": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", @@ -2219,17 +2219,17 @@ "TT_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path9-Ltub2dTvwC4v7GNe-8d6d95fb": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path4-tpubDDKn3FtHc74Ca-f3b70aff": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path5-tpubDGwNSs8z8jZU2-8b5efa13": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path0-xpub6BiVtCpG-d791cce2": "fdd206cd2e00972b6d6e0c1e6b79366af2519bdc703d845f31aaf98efbf0c690", -"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path1-xpub6BiVtCpG-74c78643": "7aec676a1df268c5f8c331ea7aa9bc775c3d55d314000a84db9e934c15f31a64", -"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path2-xpub6FVDRC1j-3074f5a6": "efeb1c376855b29694a15b356367f911dc0bd9674f6615ccdd0ef49def215cf2", -"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path3-xpub6GhTNegK-1b073ed9": "6210edec6f96b94c40bbb8b010dfa2f2acf720056255146eb418f7b586843c42", -"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path6-xpub68Zyu13q-eb190bf2": "b907ee0c161f46c46c42bdc5adc1425617f2417c3eaa87e9f6ebaf629b31734c", -"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path10-Ltub2dcb6N-d2ef4e5a": "d7e572050cb804f5753de2fd4610d1a1f721965f79cb1555d5ce3da27f03c19b", -"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path7-Ltub2Y8PyEM-b9a6bf56": "01560f35bcb670ba7b9b417d59b4c8d5e2ee432b8940b3e8c0e636b336b2e6c3", -"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path8-Ltub2Y8PyEM-d598ed84": "8b80bfad292f880911e60a46dea3c5b88c49ffefdbb8557af39c2ef160102216", -"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path9-Ltub2dTvwC4-bfef8b2e": "e98547fc4e0032aa68c15b30066e3186410b388bbbc3d56dd63d904e6d78a52f", -"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path4-tpubDDKn3FtH-5ca1cba5": "af7809b902ebe70a3444473521c71c6d9e4c999df5c56fd7ca6647321812e33b", -"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path5-tpubDGwNSs8z-60ca5612": "3b9b57b9e97bf14c235dca53f03062eca1430f687d1435759ea2293ec63d9442", +"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path0-xpub6BiVtCpG-d791cce2": "fd8bee3f6f1275ccd1bb43e98c2d6b41f71830e53f44e58d05684225dc011c36", +"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path1-xpub6BiVtCpG-74c78643": "9aea2fedf43283f64dcfed5e7338daf1d6de24a53d98fd4d1cf196c59f6c9fef", +"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path2-xpub6FVDRC1j-3074f5a6": "4306fcc05d5fc0339af98fde11f8c469c009ae9821adb5f4fbc21771889948e2", +"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path3-xpub6GhTNegK-1b073ed9": "bc88f5509187933ac665e377895dba68ac2126b12497497f77748eb9d7904a7e", +"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path6-xpub68Zyu13q-eb190bf2": "247e9e04792d56201bba260c57dd34e843010783579c05fcf9d566bcddb1e19d", +"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path10-Ltub2dcb6N-d2ef4e5a": "1f5e38a4445c414e4e91d4c53c8fde6279c2a651689a36ab9f0715d6d301b98c", +"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path7-Ltub2Y8PyEM-b9a6bf56": "577779f462556dabeeeb43b30e070d9f48e3675550d335aef1fda7e49340acfc", +"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path8-Ltub2Y8PyEM-d598ed84": "86a9959dee713b12d573b2fbc7020350468815bc1736afc7bc5314ee91e8f3d2", +"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path9-Ltub2dTvwC4-bfef8b2e": "7ce4026d560e9d1405b203333979eee26cf9738d7d51f2336180149433209b3e", +"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path4-tpubDDKn3FtH-5ca1cba5": "571f7a24a67ff7ea866106f3f797cf8fa5ed5fc4ab825dd2aaf4aa3aba4da1ed", +"TT_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path5-tpubDGwNSs8z-60ca5612": "44f6c448e5feea29822267d6babf5060c8dbffc5884d6ba9f5aeb3a28d571f1d", "TT_bitcoin-test_getpublickey.py::test_invalid_path[Bcash-path5]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path0]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path2]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", @@ -2248,28 +2248,28 @@ "TT_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path3-03b93f7e6c777143ad-2d6b178b": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path0-02f65ce170451f66f4-9c982c22": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path1-0212f4629f4f224db0-0209bb73": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_bitcoin-test_grs.py::test_legacy": "46e929fdf12ef74532703a517bdb02bb7f2a1303e2c7238179469126acdb33f3", -"TT_bitcoin-test_grs.py::test_legacy_change": "d6c0462068a433c76377b7cdbac1c21046e778fa375f6101bd83e29663e328e2", -"TT_bitcoin-test_grs.py::test_send_p2tr": "8ecb062be69457c818b24321c65e9c4f57cf52fa95500419f27ceea70d23276b", -"TT_bitcoin-test_grs.py::test_send_segwit_native": "3c3061ffccb202a5b0df152e6b010adee701235739ecf9df018ce2e04ade89fc", -"TT_bitcoin-test_grs.py::test_send_segwit_native_change": "a3dcfd6709bf6f06bd497ef3ec65a6f8eeb3683eee0349e8139083f6ec5070a1", -"TT_bitcoin-test_grs.py::test_send_segwit_p2sh": "e3ed43ab12879f7fe53a07179c95e8d634b76fdcc96aa10cd5ebefffebd93d35", -"TT_bitcoin-test_grs.py::test_send_segwit_p2sh_change": "80231f68ff420fbd5073483ad7257bcf66a34247620a74e2e48ea56242c7f115", -"TT_bitcoin-test_komodo.py::test_one_one_fee_sapling": "1dcf5ee9a91c93829e47395e4967c4031c03c2e4457846d68836e0473f29a3c2", -"TT_bitcoin-test_komodo.py::test_one_one_rewards_claim": "8fbe0c978df2adfdae7d9a3bb1f34887fe81cf705981c26116464b5cddb2f557", -"TT_bitcoin-test_multisig.py::test_15_of_15": "af021d2f27fdbaa7640f0ac5006e897f9a3b67b0d5eb13e9d8f80f0a4c9e7437", -"TT_bitcoin-test_multisig.py::test_2_of_3[False]": "2c92b86da391fad5c1ea7c6a8cc9d312071702923715f6717b942417ea8b2ddf", -"TT_bitcoin-test_multisig.py::test_2_of_3[True]": "71c9ed1294bb8ebf69d476897f064f443e7297e4c19d582b009f0d9a7a0040c9", -"TT_bitcoin-test_multisig.py::test_attack_change_input": "7f903186e09642a2d3a9a3e0e8139000bc32da2977989d057c8f4be4bd489c94", +"TT_bitcoin-test_grs.py::test_legacy": "a806ef300fa0e8ff74828a364b2fee979a4c616b3b21111b150cd4dc92770674", +"TT_bitcoin-test_grs.py::test_legacy_change": "39af05ab65895d138ed4a080393f3de3c15072980637d72a58c0659fb4b31032", +"TT_bitcoin-test_grs.py::test_send_p2tr": "8d7cbc9e1e1c2c7e06561563b5ad775bf281eb516c50b61e9fe44293694110be", +"TT_bitcoin-test_grs.py::test_send_segwit_native": "fe926c9eea3e2184a8d54beee1b148faa2c778aa418e26e29089dd4284f87e87", +"TT_bitcoin-test_grs.py::test_send_segwit_native_change": "d8ef8d8a6b9c94c3b25a45015a996a7ba31687024e68f91609ff0cd587b0ff1b", +"TT_bitcoin-test_grs.py::test_send_segwit_p2sh": "c52b96573ff1d0f1a49369298a69c1828e96149f91ff406cdcb43e61245f4449", +"TT_bitcoin-test_grs.py::test_send_segwit_p2sh_change": "f60bafecfdc71ade91c375e95d0789878f7dc72e29319e257525719e55299cfc", +"TT_bitcoin-test_komodo.py::test_one_one_fee_sapling": "7656cdff1d59f868ac6918f84908be975adc26d2a98ee9c9706d845dc8a2ef84", +"TT_bitcoin-test_komodo.py::test_one_one_rewards_claim": "c2fd77b0242d173cd9b95e75c3ca94de10d8d8d2908420241bca24acaba5a010", +"TT_bitcoin-test_multisig.py::test_15_of_15": "d5938400d691e30dc969e06c21939cafe10dc82bb529f8c11019a2af738aac29", +"TT_bitcoin-test_multisig.py::test_2_of_3[False]": "99c3eb14a9297b4d9caf1142f562bdab6d68a779ea4a17a1349d0ac40314bcbe", +"TT_bitcoin-test_multisig.py::test_2_of_3[True]": "6b7c2edc4fb52dfd5d132286dd8f9b3ca84136a522c653116be6f194646bbede", +"TT_bitcoin-test_multisig.py::test_attack_change_input": "0f230d5c6845daf73081e406e4dd5a0252ffb97a65c6196d3c856ece18372b85", "TT_bitcoin-test_multisig.py::test_missing_pubkey": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", -"TT_bitcoin-test_multisig_change.py::test_external_external": "c90ce9887522cd88df57b73525fc2e7c0109f4ae5366da52b0403abf8cd21da4", -"TT_bitcoin-test_multisig_change.py::test_external_internal": "a8d7aac5e6227e3153c1ee357c92aca970c239b7491a73f995c894935351c086", -"TT_bitcoin-test_multisig_change.py::test_internal_external": "03313e2ca9987fa0cd94fef2186b3b46a8ba7c67de58040526b59f4e5c9a3a1d", -"TT_bitcoin-test_multisig_change.py::test_multisig_change_match_first": "2c625782e9f28e0167811f4417ba0d5f42eb7bc650344f7153952a6116b5d0fc", -"TT_bitcoin-test_multisig_change.py::test_multisig_change_match_second": "d7a8820877dd719dfe07438dba856483d9fd0f832be9dd90954150adef47f520", -"TT_bitcoin-test_multisig_change.py::test_multisig_external_external": "24769268d3f4d45fac707152375b9a518fcac905d16b510266bfbf892c6b541f", -"TT_bitcoin-test_multisig_change.py::test_multisig_mismatch_change": "165300318e0480850c0c7d9a3e773ca470db2e3f7a003ca85726f88d5c220ddd", -"TT_bitcoin-test_multisig_change.py::test_multisig_mismatch_inputs": "c282192cd8f8f76474bd5b713edc002882059d792029c42f828c189c96962e9a", +"TT_bitcoin-test_multisig_change.py::test_external_external": "c4d64521e603d5b9e3f86881f464be11334877e16923cc7868b4584996144de9", +"TT_bitcoin-test_multisig_change.py::test_external_internal": "0470c5fa7c26b622c9407e4f957658baa0b8e462aa255b30514495ac4e4a29a6", +"TT_bitcoin-test_multisig_change.py::test_internal_external": "34916d218a88982a0e031d3da676ba794357a43c13448cdf6ee064669fdfc9da", +"TT_bitcoin-test_multisig_change.py::test_multisig_change_match_first": "4f4a1630b3435b1755d1d724012be607006fe2c7f04e2a5edfe0fa4aa846165c", +"TT_bitcoin-test_multisig_change.py::test_multisig_change_match_second": "44d8941b9161ad7f12cb2e8f231509faf2e65dda2fba38504acb39b96311935b", +"TT_bitcoin-test_multisig_change.py::test_multisig_external_external": "fec43fa5690a40668ed2bba6d713cfec07ebc8c38bc686f82d9954f7e417c8d3", +"TT_bitcoin-test_multisig_change.py::test_multisig_mismatch_change": "fccfaa06091bd0f574e4c78d6b6f89ab1842a33cc873ed60cf484bf33db3b451", +"TT_bitcoin-test_multisig_change.py::test_multisig_mismatch_inputs": "f3202ea515b4c5935c8ac5eb377cdc68106fe5f05968b99234954ad4aec25e6f", "TT_bitcoin-test_nonstandard_paths.py::test_getaddress[m-1195487518-6-255-script_types3-False]": "31755b656cad58d7d32dcebbf939797e416b37156a07e887b55c83f815e8968c", "TT_bitcoin-test_nonstandard_paths.py::test_getaddress[m-1195487518-6-255-script_types3-True]": "70933a9dad255906242bebbeaa13246fe08feee20f6a4a2149541a967a0ff550", "TT_bitcoin-test_nonstandard_paths.py::test_getaddress[m-1195487518-script_types2-False]": "686e0a918898f62a77ae2fcc2ca3b9438b441416169d327a3518c5e917036fcd", @@ -2293,246 +2293,246 @@ "TT_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-3h-100h-4-255-script_types1]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-4-255-script_types0]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-49-0-63-0-255-script_types4]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_bitcoin-test_nonstandard_paths.py::test_signmessage[m-1195487518-6-255-script_types3]": "42c36c511cb5ed43194c676c8c011a8c93e087c49ea6572e4e2fe91452c9c38f", -"TT_bitcoin-test_nonstandard_paths.py::test_signmessage[m-1195487518-script_types2]": "6cc1e34d703ce286d4985b197cc18d3726670eaf87b7f3845c9533094606905c", -"TT_bitcoin-test_nonstandard_paths.py::test_signmessage[m-3h-100h-4-255-script_types1]": "c5d4a71a000eb6470c6129013243f2dc18d1757b8924a0fefd915c9a7a725eb6", -"TT_bitcoin-test_nonstandard_paths.py::test_signmessage[m-4-255-script_types0]": "9acd3df638211abc279f40d672137e4accd3d60bc2bb21dc151d3be188505122", -"TT_bitcoin-test_nonstandard_paths.py::test_signmessage[m-49-0-63-0-255-script_types4]": "5c0bbe53bc48f8987dca301b2e244ae6a7ef3653d0f361875d272d81f1f60d95", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx[m-1195487518-6-255-script_types3]": "3979f07f0ab2a152da56364c7917128015983d9b504caa69dcccf244e3c973e3", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx[m-1195487518-script_types2]": "b6b4a66b2d8a714d8134b71ed4cd865364cad50ee2279c20d7fb0f9f70f0987e", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx[m-3h-100h-4-255-script_types1]": "de8b7023ab1fb13e758b048fea5064f52be40273f872a029d2fd1b878cd472ec", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx[m-4-255-script_types0]": "f4e151cb1f5663b1f95a6049abdd3207cadf36355a5eecef1bb28b54b6d07abd", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx[m-49-0-63-0-255-script_types4]": "f2ba18f46140d83a460f7ede83a068be53bd9b72f9257d90cde812efd22644ab", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths0-address_index0]": "a7b14710f3bbc45578a529fcf65300a71c4eb7e906e6d88fa6f90781a3951ef2", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths1-address_index1]": "e75774c28671a22a01346600bfca58951c28b84130d6ee4ae9d231fa16b1d46b", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths2-address_index2]": "c8dd0cd1b6e6c4da7921e94a3d0989915b9b3df4189f679e44b859403e2bb59e", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths3-address_index3]": "7b2c3db00c884c2e673908bbd063abafd317d9858450123d2ad18d0078962878", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths4-address_index4]": "e75774c28671a22a01346600bfca58951c28b84130d6ee4ae9d231fa16b1d46b", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths5-address_index5]": "e75774c28671a22a01346600bfca58951c28b84130d6ee4ae9d231fa16b1d46b", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths6-address_index6]": "e75774c28671a22a01346600bfca58951c28b84130d6ee4ae9d231fa16b1d46b", -"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths7-address_index7]": "860ff4685021a22522d4b21b8c68b50eca600551e2f2be01b6e3f72dde76cd9f", +"TT_bitcoin-test_nonstandard_paths.py::test_signmessage[m-1195487518-6-255-script_types3]": "f5e5824dcb02e87560c883a0327fdc8c37e5aad85360eda53d5af76596f97bf3", +"TT_bitcoin-test_nonstandard_paths.py::test_signmessage[m-1195487518-script_types2]": "60beb81aef398d358459f57b33f7e231427d58e7b6d1e496c54235d8c770c7bd", +"TT_bitcoin-test_nonstandard_paths.py::test_signmessage[m-3h-100h-4-255-script_types1]": "6b9494bc08eb3afd8612e6beb0bfaa57afff7c8dcb280e26acd523b979b12fc6", +"TT_bitcoin-test_nonstandard_paths.py::test_signmessage[m-4-255-script_types0]": "28709fd0bbf3dcca4fcc6a07b6b0259a8f44d1b3bde3b0188f248b2659950019", +"TT_bitcoin-test_nonstandard_paths.py::test_signmessage[m-49-0-63-0-255-script_types4]": "4b775c3b06b33a790774f7cd189b9ff6dcf16fe5a7d4bcccb970ac5f2cfff531", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx[m-1195487518-6-255-script_types3]": "0ffdf6683c3dace1725827bee5e0da3c489276bcc0f3cff411a4a848bb7a2ec8", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx[m-1195487518-script_types2]": "c608ac3b16eb3b1a9e294a809b692c5633ba2c83681bf55c85b4c137bbde5810", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx[m-3h-100h-4-255-script_types1]": "fa9fb399b0fd4f08e344e7581419e1b56d34995650a818f4e637afe8e3f9b3e8", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx[m-4-255-script_types0]": "7d925ab9aec530d3c863f97174a5c837e32f6044c023f1365cbae7bc75cfb7c9", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx[m-49-0-63-0-255-script_types4]": "56108f83b7413d2a4b22048caccecf55911c13b5f1d946c40b97ee60c8bbc429", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths0-address_index0]": "0fa3a45f6b8d31955b0e9aaa68d79f5948a7597901cfed56aec1a35ce57aed3b", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths1-address_index1]": "999fc66f082d9923d670ab7d87c4cc4443a50d6b7fa3442f57d3ab2b2dc0d5fc", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths2-address_index2]": "83a6b8ff9609f07a0e10d5c46357a0c3647fac6671eace084f0568f84ff6d5d7", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths3-address_index3]": "dabd2e4161c862f8b45e5793523c0496a765b247e64f23e202fd2432a1a0e94d", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths4-address_index4]": "999fc66f082d9923d670ab7d87c4cc4443a50d6b7fa3442f57d3ab2b2dc0d5fc", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths5-address_index5]": "999fc66f082d9923d670ab7d87c4cc4443a50d6b7fa3442f57d3ab2b2dc0d5fc", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths6-address_index6]": "999fc66f082d9923d670ab7d87c4cc4443a50d6b7fa3442f57d3ab2b2dc0d5fc", +"TT_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths7-address_index7]": "b62ab2c91fa20d09ea8e79a18904f3ae4465665b4643a1490cf6c0112876d2b7", "TT_bitcoin-test_op_return.py::test_nonzero_opreturn": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", -"TT_bitcoin-test_op_return.py::test_opreturn": "7115b4618f35a0f47236ecf85c7b49b537b44ade10bf34a448dffb628e78d5d1", +"TT_bitcoin-test_op_return.py::test_opreturn": "b4f764f46970686537dedf7acc634675ce8a92e98fe99d2b19d766c546726069", "TT_bitcoin-test_op_return.py::test_opreturn_address": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", -"TT_bitcoin-test_peercoin.py::test_timestamp_included": "e7a55a96b9d22cf189f7faf393c05df08204f7c77f02099b76e8b38a0243c258", +"TT_bitcoin-test_peercoin.py::test_timestamp_included": "638313d3b73353020ea06a2c34c4b14ae87e864d7c027a882d6a55330030c6c0", "TT_bitcoin-test_peercoin.py::test_timestamp_missing": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_bitcoin-test_peercoin.py::test_timestamp_missing_prevtx": "61334aa9119716c0e52bb01e04adb3802bc2f54a71401ed08796fd1b7d0dda89", -"TT_bitcoin-test_signmessage.py::test_signmessage[NFC message]": "f6a1342962d6e3734419fa75610f50bc64c327d977f07febb41ee42fc555aafe", -"TT_bitcoin-test_signmessage.py::test_signmessage[NFKD message]": "f6a1342962d6e3734419fa75610f50bc64c327d977f07febb41ee42fc555aafe", -"TT_bitcoin-test_signmessage.py::test_signmessage[bcash]": "10ffad2721977c6b0d7e6ae300fe9cba575f8a52861b1f88a33c670ec98720aa", -"TT_bitcoin-test_signmessage.py::test_signmessage[decred-empty]": "75ea2dd9d326ae221caee12c9a9d99bf8ea523e268f51de22ea481e93b27c220", -"TT_bitcoin-test_signmessage.py::test_signmessage[decred]": "df6330704885b6ef6e2cb5a6dcb870eb29388a74893ce7ddd621173169a8a3a3", -"TT_bitcoin-test_signmessage.py::test_signmessage[grs-p2pkh]": "2e369f6da5f075f00016d4dfe8c137a1a1ab1617f479dfa35afdc0076a9bd669", -"TT_bitcoin-test_signmessage.py::test_signmessage[grs-segwit-native]": "f18d35e97c870aab60ce61507a9c20f6a7e6e7aa2e7b61b13c95eef7eeb7f20d", -"TT_bitcoin-test_signmessage.py::test_signmessage[grs-segwit-p2sh]": "ece1927edb24684832871df30468d2b767ed45530770f878fda1b3f1575258a4", -"TT_bitcoin-test_signmessage.py::test_signmessage[p2pkh long message]": "cc178f4a5876aad1082a1436999c3e3862da1fc1a6000f63212f35c8d5f7d306", -"TT_bitcoin-test_signmessage.py::test_signmessage[p2pkh0]": "3337dcb6862d654a9f66986468f2623cf60c716d87f6853793799bc0bd942468", -"TT_bitcoin-test_signmessage.py::test_signmessage[p2pkh1]": "3337dcb6862d654a9f66986468f2623cf60c716d87f6853793799bc0bd942468", -"TT_bitcoin-test_signmessage.py::test_signmessage[p2pkh2]": "1b8268d5b76dbafc990f4b194b6029c5dcb9c54bc436fe74bc08e421c4cddd12", -"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-native long message]": "f28a54c2d564ae728038e46c0fd04bbe6fdbd99f841973c62677c4f45c5ce18c", -"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-native0]": "9f962ebf5f02a4004d7ddc5fd82fbc1b57aa42245170c4d1ae022dff22073ce9", -"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-native1]": "9f962ebf5f02a4004d7ddc5fd82fbc1b57aa42245170c4d1ae022dff22073ce9", -"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-native2]": "a58438ee49d30d24c5780c40fb5bb8ff76ecefa50512d0ba264035c521121167", -"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh long message]": "c5434a521d5300f57a3e9a6180a0ba55f00a0780ddaab9a44dc889cadc0d6ed2", -"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh0]": "a8451d0e813dfc9da27bdbd7f480d9e68b7e5bb0fb93e0c600c64487fe6a84ef", -"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh1]": "a8451d0e813dfc9da27bdbd7f480d9e68b7e5bb0fb93e0c600c64487fe6a84ef", -"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh2]": "7622b11c0dda10ce3ea05c52e9b2639ecbd9300ef99d1091d0f95555c65e8780", -"TT_bitcoin-test_signmessage.py::test_signmessage[t1 firmware path]": "e7168688ed2c685cb29e40560a3acd68f8c1d45b97a7f9701ab6c6a37b0b0840", -"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[long_words]": "97338f92cf2a7ca08c57ade278758718b9c1338f368c8c89033401cab46a900c", -"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[newlines]": "db054ecf1fb6f99a9464eed5e638a8533bdd195e60c5bbde4d3166a85ec51678", -"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[no_spaces]": "12c10c2d5cea3892fe20ccc5ea2345f6117c2b159fde2e7b6c4897749108be86", -"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[normal_text]": "d1f26ce2208f3c7645712f9901acf3363789a75babd507f522aaafcc60dbe7b7", -"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[single_line_over]": "ed4663bc4764acf0ac52faa8d74e0c1ee6324ac2feefbf79f0dcce67bdceedf1", -"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[utf_nospace]": "c25ed9adb4aa36baa02b721ed59c1b9960eba416da4e890800937cb3f734afa0", -"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[utf_text]": "2416a6cf5bdd739a41fb91b1dc741ccf735cce1543c95427660f8a6dd99cf380", -"TT_bitcoin-test_signmessage.py::test_signmessage_pagination_trailing_newline": "a865f4741b2e5f074f383957664dcbd48167f2b9480795a0236e9d79f55af6d1", -"TT_bitcoin-test_signmessage.py::test_signmessage_path_warning": "fc72ac07b82dd03a3f3accd23566bad0c89d98a96e92d611adb6222342c4cdd3", -"TT_bitcoin-test_signtx.py::test_attack_change_input_address": "2abe894092869d01873ab573491001cb51b501e9cc8573739c4d618acec03a18", -"TT_bitcoin-test_signtx.py::test_attack_change_outputs": "d06ac6ca15fd47da9e729dfaadc69cd033956be4b8a74f771271f758281193ad", -"TT_bitcoin-test_signtx.py::test_attack_modify_change_address": "f3d9ed64388115399b2fe6cc81e31b22fe78ee1e92df89696b58978dccde5cab", -"TT_bitcoin-test_signtx.py::test_change_on_main_chain_allowed": "f3d9ed64388115399b2fe6cc81e31b22fe78ee1e92df89696b58978dccde5cab", -"TT_bitcoin-test_signtx.py::test_fee_high_hardfail": "488342a6df532e2ab64d3a0cad3df36d8a98fc75ad05fdf7ceaa046ac571b023", -"TT_bitcoin-test_signtx.py::test_fee_high_warning": "4f754ad25cacf7ca957b6aa517cb7fee7a71aa052364c40672b01bd681fc3e6b", +"TT_bitcoin-test_peercoin.py::test_timestamp_missing_prevtx": "f524a9f7ee2fa91105477e0d673e3e5c5e1c1a13222d20d46ae2e375f9921c3d", +"TT_bitcoin-test_signmessage.py::test_signmessage[NFC message]": "c5651ab1894e8f21e848f828d8c3f762beaa2ad902bd3c9d13801b352bc08eab", +"TT_bitcoin-test_signmessage.py::test_signmessage[NFKD message]": "c5651ab1894e8f21e848f828d8c3f762beaa2ad902bd3c9d13801b352bc08eab", +"TT_bitcoin-test_signmessage.py::test_signmessage[bcash]": "cc8295b3150cb6b1c6335211b39d70dd8acad1eca15d489fc191649724cc9717", +"TT_bitcoin-test_signmessage.py::test_signmessage[decred-empty]": "f48a3472c03fd03e6f6e03d99018676eb25b41bf2b3e5540956a41c6c07e666d", +"TT_bitcoin-test_signmessage.py::test_signmessage[decred]": "ff44dcb2f60cd8f196ba178548c59e7f1691eaa71f9e41ca992b6e930d35ef2a", +"TT_bitcoin-test_signmessage.py::test_signmessage[grs-p2pkh]": "8b7f0f59eab5ce1d2d196d3484ee9fc33d62d9144fd54a0e8123a874bacef7cb", +"TT_bitcoin-test_signmessage.py::test_signmessage[grs-segwit-native]": "1f5557919e3b52e96ba55c053d73aa16ccd71327affce624527309ac0d5cb559", +"TT_bitcoin-test_signmessage.py::test_signmessage[grs-segwit-p2sh]": "d6c4b97ae276c207b1dc81ce3327c109d033e77cc804b8359a7b75a3f79600e2", +"TT_bitcoin-test_signmessage.py::test_signmessage[p2pkh long message]": "b6c4fe600b6eae57f19c6f9cb5915af28991f71e2d02f137c563a11b26c479d0", +"TT_bitcoin-test_signmessage.py::test_signmessage[p2pkh0]": "62b72798fafd22863766895d05366c69db5868a30ebec04abf0ad67cb432a45c", +"TT_bitcoin-test_signmessage.py::test_signmessage[p2pkh1]": "62b72798fafd22863766895d05366c69db5868a30ebec04abf0ad67cb432a45c", +"TT_bitcoin-test_signmessage.py::test_signmessage[p2pkh2]": "bdce33995b3558d9ec75c18011f05042e95e119840529ca3a6703baf675d1421", +"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-native long message]": "6d6520a2433ef20cbb81a98182511600e0be2d15994f430c0b88f9385e03ebd5", +"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-native0]": "d31fccdf4488e63c95a0b81e5a9f2a618015ead4916ab66aae17300ef357a177", +"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-native1]": "d31fccdf4488e63c95a0b81e5a9f2a618015ead4916ab66aae17300ef357a177", +"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-native2]": "e50e9207b1f724a0f3f78ec1900c5b3d65a3eec494f928ffc71b261b6b2861e0", +"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh long message]": "51d7ecb8fea5616c07afa145803e990e87c52ac284943a5bb6117a3445d71b57", +"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh0]": "c58074c8839166625c51365714f742085e2563c101314d67dc306cc69e7db5c7", +"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh1]": "c58074c8839166625c51365714f742085e2563c101314d67dc306cc69e7db5c7", +"TT_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh2]": "0f538c0f4796b45217d0ed2cdcdad766a327d6f33ce98d3321e9f2b63b6b2a11", +"TT_bitcoin-test_signmessage.py::test_signmessage[t1 firmware path]": "ff0c289f5bfa0944958cff8508bd7ad34ca16d4edd1080a7d5bceccaf424529c", +"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[long_words]": "42c64bc197ebfa639ee48fe09b78e1d382b616e2b7ba151c7b5babf6fa9170a0", +"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[newlines]": "98f04abde4078abfcd36897e0fc66fd1a9a00ca188d6fa63a30c865abcc09237", +"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[no_spaces]": "1240d69f0f94f97c4bb434dd6196e21950b4d087d0cc0e98fd39b44309f280be", +"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[normal_text]": "45640b58fab8763acc9e246b6aed60e29baa0c73bd7a8250551f8476b30d9bae", +"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[single_line_over]": "9a403e897124ed6ccc2b21d660ce15ab182e4f4c1b6c0edcc0f58bd78d84c7dc", +"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[utf_nospace]": "7a98ec40a4128fad97221ed557f7258140a33a45a4e880b6ca2852342db9e7ad", +"TT_bitcoin-test_signmessage.py::test_signmessage_pagination[utf_text]": "d46db3df7b17cb849e5f2d43f5550e9fc6d5905fe599f8b086630b576fcaa377", +"TT_bitcoin-test_signmessage.py::test_signmessage_pagination_trailing_newline": "b89e4fe57b92652962ca2348877a953b53a275cff2576af7044312d453e6fbcd", +"TT_bitcoin-test_signmessage.py::test_signmessage_path_warning": "ba5c8fe6b755708c8112a210b3897445c982356a34c948adbe576abc7021eba7", +"TT_bitcoin-test_signtx.py::test_attack_change_input_address": "406e9f0bf3be42d1f41176b0d1f97b7286e834e1d15b5397904f981cea9fc5e0", +"TT_bitcoin-test_signtx.py::test_attack_change_outputs": "24ac4be4d6bcb7cdfd372bb3441f10563e13fd684ed3fdcc79c0c8e97830326b", +"TT_bitcoin-test_signtx.py::test_attack_modify_change_address": "477e69874284b2a1ee6e508983eb784fe7742574cc05c7987f45784e2e5d871e", +"TT_bitcoin-test_signtx.py::test_change_on_main_chain_allowed": "477e69874284b2a1ee6e508983eb784fe7742574cc05c7987f45784e2e5d871e", +"TT_bitcoin-test_signtx.py::test_fee_high_hardfail": "eb0077831dee4dcb6d6395d01ebf1a4eb78e05f6864cc3247e5c05b936656053", +"TT_bitcoin-test_signtx.py::test_fee_high_warning": "ad4a82fa012b89ce6a027b88b3170504f5372b93da947517078edbc647b56bad", "TT_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.EXTERNAL]": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.SPENDADDRESS]": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOADDRESS]": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOSCRIPTHASH]": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", -"TT_bitcoin-test_signtx.py::test_information": "85cd988c3b13c2cdaddd22de5d75c0692d77b4a18ff32c90944ac8b04b4e2f66", -"TT_bitcoin-test_signtx.py::test_information_cancel": "faae8fbd09a65487c1f4df3f2100447a75d1b5880a48272653f4574b3e022d3a", -"TT_bitcoin-test_signtx.py::test_information_mixed": "a958bb051f4e78480aca958115aa90a5e544af16c57ef27c9f89d3c7ae02bda7", -"TT_bitcoin-test_signtx.py::test_information_replacement": "fe696c5d2762c49949b35991c188461369bf268fec3fd5fed7ccebf43c4c0062", -"TT_bitcoin-test_signtx.py::test_lock_time[1-4294967295]": "d5b4d1a1e45fe0f5def53d4661b7ba045c24927b78546be1c5211c417a1af554", -"TT_bitcoin-test_signtx.py::test_lock_time[499999999-4294967294]": "370d3e8201252c253ee4484259ddf6d6f7e9d3f98580e16f1818c07d09c9fc92", -"TT_bitcoin-test_signtx.py::test_lock_time[500000000-4294967294]": "79273b6c53672618c21c7f52691246b0871521cfaead4d3f73bd9a75d4c9d845", -"TT_bitcoin-test_signtx.py::test_lock_time_blockheight": "370d3e8201252c253ee4484259ddf6d6f7e9d3f98580e16f1818c07d09c9fc92", -"TT_bitcoin-test_signtx.py::test_lock_time_datetime[1985-11-05 00:53:20]": "79273b6c53672618c21c7f52691246b0871521cfaead4d3f73bd9a75d4c9d845", -"TT_bitcoin-test_signtx.py::test_lock_time_datetime[2048-08-16 22:14:00]": "f0792399fe26fd0ad14b4d613ee95c680840f47625d262eaf73e1cc92cb43b29", -"TT_bitcoin-test_signtx.py::test_lots_of_change": "9d7dbee67a6af5c65097f65cf423a909c57e3a9b94c028dbf8d382d7a1e3adef", -"TT_bitcoin-test_signtx.py::test_lots_of_inputs": "16390ef747f77747ff1f551caa867864c4297f9df84cf3bd1cca0b2845304d5b", -"TT_bitcoin-test_signtx.py::test_lots_of_outputs": "e9783b2bdda03cc7128ff54c9ad4cd5a9291b6434389740b018451f14c528fec", +"TT_bitcoin-test_signtx.py::test_information": "44e044c3f8b299aeed155f0aec66f60510aa7dcd3986d340c76ef128de6a428a", +"TT_bitcoin-test_signtx.py::test_information_cancel": "d242ec98f96d0db41ebcd7a44ce31bac38637ebd1103727445a068118c51956b", +"TT_bitcoin-test_signtx.py::test_information_mixed": "c76e1d787c589090bd950101fda86f62dff83e70d4f879ea1fb0519158c1e95a", +"TT_bitcoin-test_signtx.py::test_information_replacement": "ffce40135620e220930713ec3ec9554e6ae801aea34235ed0ff89dbb805c891c", +"TT_bitcoin-test_signtx.py::test_lock_time[1-4294967295]": "924ed54c06fd791910d8a43e0b7c6f39852b3406167045211dca4e495dc69b05", +"TT_bitcoin-test_signtx.py::test_lock_time[499999999-4294967294]": "8eb547d98a20c6333c50f507b62bce5536ece3b9c2a6ecbbf58f31d2fc45b003", +"TT_bitcoin-test_signtx.py::test_lock_time[500000000-4294967294]": "5deae35138650618ac4df74251ecb300a416addb1af5d7495b0090a23ceede5b", +"TT_bitcoin-test_signtx.py::test_lock_time_blockheight": "8eb547d98a20c6333c50f507b62bce5536ece3b9c2a6ecbbf58f31d2fc45b003", +"TT_bitcoin-test_signtx.py::test_lock_time_datetime[1985-11-05 00:53:20]": "5deae35138650618ac4df74251ecb300a416addb1af5d7495b0090a23ceede5b", +"TT_bitcoin-test_signtx.py::test_lock_time_datetime[2048-08-16 22:14:00]": "2dcdbdf6c4c2770d05b751e1ca1f1e33646c3f83227e298778ce5bc1fb919bd7", +"TT_bitcoin-test_signtx.py::test_lots_of_change": "e66b43aa7930e28285bcaa14d8ce3a1787a67648c17e55115722a2f90d375af8", +"TT_bitcoin-test_signtx.py::test_lots_of_inputs": "4210ca2bfc63d054923e03cd9e12a643e0f18a37df2045749911037e262fedf3", +"TT_bitcoin-test_signtx.py::test_lots_of_outputs": "4a3b8660ac30c4c91f5dbc9b58d02bc8d60a160ae255bafd3f56e4c697afa183", "TT_bitcoin-test_signtx.py::test_not_enough_funds": "6b48450b917351d6f25753b29b9df6663c1e6dcdf6a795aae5986992f002b30a", -"TT_bitcoin-test_signtx.py::test_not_enough_vouts": "14f2f2685c96c990cfa778f32f09c9e6d8c3c5fd2c19b01edde97133fb7ab9e9", -"TT_bitcoin-test_signtx.py::test_one_one_fee": "b34e97ccdfb033d2658ca101c01edd436391ae0c4d2697ceb4dff048b6f32df9", -"TT_bitcoin-test_signtx.py::test_one_three_fee[False]": "29e3c8dc9037bec2805f7a72e3f640a396f2f3d6143d15d3446616e60cb7487b", -"TT_bitcoin-test_signtx.py::test_one_three_fee[True]": "33c2bd3df7cb9e3cb6c1ed992f9ce7d67a8441d2db026274cf087d9b3cd46818", -"TT_bitcoin-test_signtx.py::test_one_two_fee": "5316b84c1555519886fa0ad2bfffb7f8ee9ac57848689d7753be3e9d4dfa8104", -"TT_bitcoin-test_signtx.py::test_p2sh": "dcbdcfe15914a8b9e3c1796fddc35a4d4f353244e4d30419a4ba35da7b1e23ef", -"TT_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[branch_id-13]": "254ce2ad5c3dbe6a5d4b305e5a85e9eefeefba29aaa63e6237f730aef9373c87", -"TT_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[expiry-9]": "254ce2ad5c3dbe6a5d4b305e5a85e9eefeefba29aaa63e6237f730aef9373c87", -"TT_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[extra_data-hello world]": "254ce2ad5c3dbe6a5d4b305e5a85e9eefeefba29aaa63e6237f730aef9373c87", -"TT_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[timestamp-42]": "254ce2ad5c3dbe6a5d4b305e5a85e9eefeefba29aaa63e6237f730aef9373c87", -"TT_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[version_group_id-69]": "254ce2ad5c3dbe6a5d4b305e5a85e9eefeefba29aaa63e6237f730aef9373c87", +"TT_bitcoin-test_signtx.py::test_not_enough_vouts": "e198a73b60c1938810862a5e479806ac4d768f42c76e410e842cd89b66e63093", +"TT_bitcoin-test_signtx.py::test_one_one_fee": "af649cb645604f4122920ada7fd8b2ac30072a8ef48aadb202c87b1f198fb0ea", +"TT_bitcoin-test_signtx.py::test_one_three_fee[False]": "033c92c6af972e9e31cee0daf55e76f82015b960459b91cab58535b27711909d", +"TT_bitcoin-test_signtx.py::test_one_three_fee[True]": "3516df019ae876386583e8176957310b57a2a37af3b7eed728fe4c7708c69e2c", +"TT_bitcoin-test_signtx.py::test_one_two_fee": "51d00c0953cfac7ff286cb5117e56dae83e9ade576e77f3be8671ba7d9f8321a", +"TT_bitcoin-test_signtx.py::test_p2sh": "6b705686dc78bf72f8e9ae125b0bb775f814c2f517052cffd2cd3badc9d0dc3f", +"TT_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[branch_id-13]": "a6f1c9e302cd1372cc642cc0557d7de5132ee8264f27eab492e66cc0f33ab88b", +"TT_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[expiry-9]": "a6f1c9e302cd1372cc642cc0557d7de5132ee8264f27eab492e66cc0f33ab88b", +"TT_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[extra_data-hello world]": "a6f1c9e302cd1372cc642cc0557d7de5132ee8264f27eab492e66cc0f33ab88b", +"TT_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[timestamp-42]": "a6f1c9e302cd1372cc642cc0557d7de5132ee8264f27eab492e66cc0f33ab88b", +"TT_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[version_group_id-69]": "a6f1c9e302cd1372cc642cc0557d7de5132ee8264f27eab492e66cc0f33ab88b", "TT_bitcoin-test_signtx.py::test_signtx_forbidden_fields[branch_id-13]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_signtx.py::test_signtx_forbidden_fields[expiry-9]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_signtx.py::test_signtx_forbidden_fields[timestamp-42]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_signtx.py::test_signtx_forbidden_fields[version_group_id-69]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_bitcoin-test_signtx.py::test_spend_coinbase": "62096e26f7fe40198de12c2499790ef4227ee1b83b20404152f851276d64f183", -"TT_bitcoin-test_signtx.py::test_testnet_big_amount": "6bcec848ea6d63698801c672e508356d3541f78f76ebf3c3ccd5d880b8f306f5", -"TT_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "fad32b52ca46142841761ff25c4fcc24d152080af3273952741208e799cf519c", -"TT_bitcoin-test_signtx.py::test_testnet_one_two_fee": "f3d9ed64388115399b2fe6cc81e31b22fe78ee1e92df89696b58978dccde5cab", -"TT_bitcoin-test_signtx.py::test_two_changes": "8c1ff379a6b82a629fc95c5797f2f5d81771dcd33b61136253c5c0f5f46cb942", -"TT_bitcoin-test_signtx.py::test_two_two": "9461478f48fee393b755fa0e0d4a849b71d3c34bff54c37f901523371e3f8292", -"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.BITCOIN]": "b34e97ccdfb033d2658ca101c01edd436391ae0c4d2697ceb4dff048b6f32df9", -"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MICROBITCOIN]": "d413c04216995e3159131defa4dd014bd6c4beed893f5934b64d32f218e742d6", -"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MILLIBITCOIN]": "7e64cc8b0a0561ad7469c5183469bfcb20be84dc69c253f6d0592fd82d71914c", -"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.SATOSHI]": "9e405fa3db00aa94081fcd7a52ae8b36636b22aff0e1f887dcbd30bf6811741f", -"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[None]": "b34e97ccdfb033d2658ca101c01edd436391ae0c4d2697ceb4dff048b6f32df9", -"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.BITCOIN]": "972015d3ef2da6d026e3442b7b31a04bcb9600d84b0abdde4b3cfbb998cb69bb", -"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MICROBITCOIN]": "978842ffc7c4f0945047fbdab9bcc9b52c04f0b86503b5cb95f1304cfce3be62", -"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MILLIBITCOIN]": "664376fd622cb5bbba208b7e51ef6762a34ccb3e66d3613854db983a32e4249d", -"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.SATOSHI]": "8542505446a929fa4c22aaddb0f89449448123cff54c8923a66bec300d47f7e4", -"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[None]": "972015d3ef2da6d026e3442b7b31a04bcb9600d84b0abdde4b3cfbb998cb69bb", -"TT_bitcoin-test_signtx_external.py::test_p2pkh_presigned": "716cac40ff24ced5103a397a9899af6e86cd4fb6d3ba4477fb1239a7ebd45c51", +"TT_bitcoin-test_signtx.py::test_spend_coinbase": "05d642a9018b50279e386b000ca5591732677370d5fdf1685469ae2406b3bd4b", +"TT_bitcoin-test_signtx.py::test_testnet_big_amount": "85fe2a297d335bfba11b3e9e01a2ec2c9a30730ea06b967983ed4f4502323698", +"TT_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "2007e7cbdb14fe7db3c745a20157103855ec65cb932ac3f0c613de26e3f7dd4b", +"TT_bitcoin-test_signtx.py::test_testnet_one_two_fee": "477e69874284b2a1ee6e508983eb784fe7742574cc05c7987f45784e2e5d871e", +"TT_bitcoin-test_signtx.py::test_two_changes": "a5b47af1fb057b9384194dbf35c9f8de47c793eb26511028b405be06f09aebae", +"TT_bitcoin-test_signtx.py::test_two_two": "bd1e6e9b2f4704e1baf777a41e6f1e576be4cdeafd718e454cad973de1f0a9c8", +"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.BITCOIN]": "af649cb645604f4122920ada7fd8b2ac30072a8ef48aadb202c87b1f198fb0ea", +"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MICROBITCOIN]": "73c15b8ad493c3d7b1d9885fb1dc5a56c68bb6a3d4ec9a3792c03be26795c182", +"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MILLIBITCOIN]": "c74d09789466f3e48fa92ed5bda1e1dbcf7d9afc9d16df6061fa82395c8e89a5", +"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.SATOSHI]": "f09a0f6c8c10df04da3ceb63bb4d054fbba4fc6275ee92a376b53d133ca648e8", +"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[None]": "af649cb645604f4122920ada7fd8b2ac30072a8ef48aadb202c87b1f198fb0ea", +"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.BITCOIN]": "22fbf18572b82a266cf407f49bff21f05ebd777cfe4c36eaba1e428b48135cdd", +"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MICROBITCOIN]": "6ac68aeb33f8e70ed439b3be24f1bc29beeace17a0a5bf2fa1ca89852d1576e7", +"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MILLIBITCOIN]": "d975014bdaf34bbb6e48553bed41c3544529e907a02cebce1dd730f1ba38fa3d", +"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.SATOSHI]": "cb88988daa8afa19885d5eb9f051a1420a3a667b429417e1d0d0a6db6b5684ee", +"TT_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[None]": "22fbf18572b82a266cf407f49bff21f05ebd777cfe4c36eaba1e428b48135cdd", +"TT_bitcoin-test_signtx_external.py::test_p2pkh_presigned": "5faa3de360408600bb51e48b59c9be7910340c2697af97ec7b97d64613024d2c", "TT_bitcoin-test_signtx_external.py::test_p2pkh_with_proof": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_bitcoin-test_signtx_external.py::test_p2tr_external_presigned": "c3525220e0b62efcc5bc56b40268fe141ed9379468e35bd410d8360e50d83145", -"TT_bitcoin-test_signtx_external.py::test_p2tr_external_unverified": "c3e8871d17dfc97f2e03e426c269162499ad0efd9251305f5fc187f9013fd702", -"TT_bitcoin-test_signtx_external.py::test_p2tr_with_proof": "76d9e5c7e5de37142c5e711aa0dab8db843f07a4333c7759dbc61522a60b9cd8", -"TT_bitcoin-test_signtx_external.py::test_p2wpkh_external_unverified": "d7466dd67879b44a82920ba354cde0f0fb0521a470f0f0b4134d91af0ff7a05c", -"TT_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_presigned": "955ec7957f70e2a67b7a41e5ff84c3d38b70f51ed271c981439fbe1815032aad", +"TT_bitcoin-test_signtx_external.py::test_p2tr_external_presigned": "8a025c4a07a30fd24274bb200091cb847810b07db961c8f73e4f5ea79da9cc9d", +"TT_bitcoin-test_signtx_external.py::test_p2tr_external_unverified": "7c861af51673abc3516f25cf2f494951cfb26422886b5359b6c0123ba83b4e4a", +"TT_bitcoin-test_signtx_external.py::test_p2tr_with_proof": "bc76b3b033eab274e39d8f56846d4eb1a6a3cbc97b2bb4218af62840a0d294f9", +"TT_bitcoin-test_signtx_external.py::test_p2wpkh_external_unverified": "e630e07f6ca5724a6aa53b31b7b17ffe347d637be3f54f3a51e05bab8cffef6e", +"TT_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_presigned": "651b9abda274123014f55118ddfcbf0fb08ff52377c0079e5a4cf6b7c13d5225", "TT_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_with_proof": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_bitcoin-test_signtx_external.py::test_p2wpkh_presigned": "a4ab757ec07dfdc74d46663738ec5e83b6659454f87be87f7eed4597bce27db9", +"TT_bitcoin-test_signtx_external.py::test_p2wpkh_presigned": "191c9bff9eecd6ebeeba1d3e1b1701d9a6750f1bc9770f0a886936e19f6a689e", "TT_bitcoin-test_signtx_external.py::test_p2wpkh_with_false_proof": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", -"TT_bitcoin-test_signtx_external.py::test_p2wpkh_with_proof": "d9ac83576566fc584cc2b59db710e8b99ab3f049fe8a454d96d5310c189983b3", -"TT_bitcoin-test_signtx_external.py::test_p2wsh_external_presigned": "663ed56ffd23c30219b70af305df9aafab1f2dbd1c96100b070e64a8dcef468d", -"TT_bitcoin-test_signtx_invalid_path.py::test_attack_path_segwit": "596d3f63fa98c9bff450ff67a87b7572ce909439afc6d8b4b712ca921093dc17", +"TT_bitcoin-test_signtx_external.py::test_p2wpkh_with_proof": "b0b065fea6ca2acea50cd30b4637a4776688448ff0d86411dc6957de652162b8", +"TT_bitcoin-test_signtx_external.py::test_p2wsh_external_presigned": "5386d21e156629cf7df3cdfd98074357d93e025b113f74e89f271f4f847298cb", +"TT_bitcoin-test_signtx_invalid_path.py::test_attack_path_segwit": "950ba42994f18ee1b96786c8d49e33449b674ffff4715319889c9fb5f34a234f", "TT_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail_asap": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", -"TT_bitcoin-test_signtx_invalid_path.py::test_invalid_path_pass_forkid": "065f6afe761464b1911b665a28fb63996aa13cd8215a1ab7bedb1082eb4e515d", -"TT_bitcoin-test_signtx_invalid_path.py::test_invalid_path_prompt": "ec07a389ed4cde564ad42f64ab9f574d3279167d20ea74f2145b101147e331b1", -"TT_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_inputs": "a040764cf4825d7f8ce1a6e6a402829f3f375f8d35480b8c4def49a8818675e5", -"TT_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "dbef68b7d9c6b0a9056065b7ac632547953e85ce7562d1683ad812422c4bae25", -"TT_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "a040764cf4825d7f8ce1a6e6a402829f3f375f8d35480b8c4def49a8818675e5", -"TT_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "dbef68b7d9c6b0a9056065b7ac632547953e85ce7562d1683ad812422c4bae25", +"TT_bitcoin-test_signtx_invalid_path.py::test_invalid_path_pass_forkid": "4c3cfdccd4f2dacb291d0b3c6d87baa7cdc8f9afe4cc605d9091f9ded9ef00b0", +"TT_bitcoin-test_signtx_invalid_path.py::test_invalid_path_prompt": "b3f3c1221160e0d9bac89bd44fe10cb587735585628ef6c652213ccf2d92d60f", +"TT_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_inputs": "27b61dec1412f9ac6bac28fe1914d76fcd2fcbc1a9054895786c2419ea50d9f6", +"TT_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "c5e9f2d4508dcdbf7333531487209832041e7d9c5a7e8d9fe9d5b40978c2c885", +"TT_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "27b61dec1412f9ac6bac28fe1914d76fcd2fcbc1a9054895786c2419ea50d9f6", +"TT_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "c5e9f2d4508dcdbf7333531487209832041e7d9c5a7e8d9fe9d5b40978c2c885", "TT_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_amount": "3278de4acec9009035c80f1a9cc4dad11570582fa2eaab30aa7c034d4f8d4371", "TT_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_purchase": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_refund": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_output": "9b9fb6db5b35261355f3e335057b7086dae18adb09d94c446294004bc4016876", -"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out0+out1]": "464910dbaf2879f042bc3bfd9b93c0a3abe1276477dbc0097dbb149cb996dd18", -"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out012]": "2b6d96a3e5afaa70124ac28fff29d5e7a21213f6d5e73e73691aa7c591b4d33b", -"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out01]": "1e4c13e98d13629b718bb5450db502ed89277f476922fd684c24959690058b27", -"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out0]": "be51b6f821786e9f0ddae98970d0ad85a70231d3ef9d0de5a188a93fba568c50", -"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out12]": "813131a07cde66a8a66108043e6d0f46cb68f78592e74da4cb0131267a207174", -"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out1]": "28b0aab5cb56281e174af84e434bcde5e35e8f8bfab7430048ae04009c58ce5d", -"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out2]": "2dd09282517138c44ef6574ed039689b2f5e2b1b156dc5ccb84664a063f3220e", -"TT_bitcoin-test_signtx_payreq.py::test_payment_request_details": "7af3eacd6d7917cedfc3dca303e717439d6f926b4a50be319959c6efa16a180b", +"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out0+out1]": "da892ff4e7de75f6b3c1fde48c915b4cfd9da2c3f0052552ce0b873c85a539e7", +"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out012]": "768b6294843581c691d590202a8ef11c0040fff3189a9b0cde91b1a49d6df87e", +"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out01]": "23e3f995af215af80d9dcdb00189a0545a77a40bfe55e195566ccfe41f78d2e1", +"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out0]": "da48ca03cffd80b81d5d17cc8f967af2ea82784357ea894f20bf49d559916feb", +"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out12]": "21aac16e5415731c271adb2e145ec9cf6313bb1205612b74f885a839fdb26c74", +"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out1]": "de1b8868c3ef6abd31805540f4bb73b3693bc2ded0acea39ee2e9aa44c131a82", +"TT_bitcoin-test_signtx_payreq.py::test_payment_request[out2]": "66e15e830579ed547e8c28908fcdbcb2483658fbb22ae138764a594c82f60053", +"TT_bitcoin-test_signtx_payreq.py::test_payment_request_details": "fb9f7cd2571c2c72c56968c57fd0ec16b83d3ab9f0f5be9548d055f37e3f2bb0", "TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", -"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[]": "a12dc118d423e30863b48c93bf1b888dafc0b51f81a8f42d4807d7be1536f2f0", -"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[hello world]": "a12dc118d423e30863b48c93bf1b888dafc0b51f81a8f42d4807d7be1536f2f0", -"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[x]": "a12dc118d423e30863b48c93bf1b888dafc0b51f81a8f42d4807d7be1536f2f0", -"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "a12dc118d423e30863b48c93bf1b888dafc0b51f81a8f42d4807d7be1536f2f0", -"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "173d9d75d2349ff709d77f8217efb7ac9fed16e57ca00828fbdc8cac27ed8d9f", -"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "173d9d75d2349ff709d77f8217efb7ac9fed16e57ca00828fbdc8cac27ed8d9f", -"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "173d9d75d2349ff709d77f8217efb7ac9fed16e57ca00828fbdc8cac27ed8d9f", -"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "173d9d75d2349ff709d77f8217efb7ac9fed16e57ca00828fbdc8cac27ed8d9f", +"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[]": "b67260417612c7978b42bf0a7014a866152af7e14b0f9159eb2b30e450e10de2", +"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[hello world]": "b67260417612c7978b42bf0a7014a866152af7e14b0f9159eb2b30e450e10de2", +"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[x]": "b67260417612c7978b42bf0a7014a866152af7e14b0f9159eb2b30e450e10de2", +"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "b67260417612c7978b42bf0a7014a866152af7e14b0f9159eb2b30e450e10de2", +"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "dea3bad8302a74441357ed9f49362a2a395f561c0dcafd0a0251381fde16da06", +"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "dea3bad8302a74441357ed9f49362a2a395f561c0dcafd0a0251381fde16da06", +"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "dea3bad8302a74441357ed9f49362a2a395f561c0dcafd0a0251381fde16da06", +"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "dea3bad8302a74441357ed9f49362a2a395f561c0dcafd0a0251381fde16da06", "TT_bitcoin-test_signtx_replacement.py::test_attack_fake_ext_input_amount": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_replacement.py::test_attack_fake_int_input_amount": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_replacement.py::test_attack_false_internal": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_replacement.py::test_attack_steal_change": "1b0378c2a799b0b890f1bc8652035d7284126009223f976e5623fdd0a8fb006b", -"TT_bitcoin-test_signtx_replacement.py::test_p2pkh_fee_bump": "f52d85bb65b5cba21cd3cbe3d290f41390789a8748bc364bbda4285d6c23768c", -"TT_bitcoin-test_signtx_replacement.py::test_p2tr_fee_bump": "097edddfc819ccd1aef5e07e91e88c88a172a07405fca3610ded8e0c25af486b", -"TT_bitcoin-test_signtx_replacement.py::test_p2tr_invalid_signature": "097edddfc819ccd1aef5e07e91e88c88a172a07405fca3610ded8e0c25af486b", -"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_finalize": "6c9214011ec8d8afe7374250be6672d95de3ba551ef794dc7a1a7f26c87418d6", -"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_in_p2sh_fee_bump_from_external": "c86b75d0b279fb3c237d639d8f1363689ea4859e9b55e34b7f8227d34a9aa3c1", -"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_in_p2sh_remove_change": "1efeb452af01d016ec8b39f70e17196ddcf8b5dcfde5396a8ed956e0d5077b79", -"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_invalid_signature": "6c9214011ec8d8afe7374250be6672d95de3ba551ef794dc7a1a7f26c87418d6", -"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_op_return_fee_bump": "643e577355e2a9fef3cb65d816b9d3edc503391dba907db4e50c1d9782d4de12", +"TT_bitcoin-test_signtx_replacement.py::test_p2pkh_fee_bump": "4d157fa6e9c1da33a59735186b756adb7e02189efc642b7732b373b2c7e0bc64", +"TT_bitcoin-test_signtx_replacement.py::test_p2tr_fee_bump": "bd53e379f2e16c5b75b2cc6521ffba666e474f18bae90205aa773d3b6ceecc3f", +"TT_bitcoin-test_signtx_replacement.py::test_p2tr_invalid_signature": "bd53e379f2e16c5b75b2cc6521ffba666e474f18bae90205aa773d3b6ceecc3f", +"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_finalize": "c0f93b453f71ae7f9bd28a27cb50dfa6a99d1131126777d0f7957b194ef2bde6", +"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_in_p2sh_fee_bump_from_external": "bfb6c422e7a8aa05e5e71501ba640b4f6008684816efd86337b46afe6f75057c", +"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_in_p2sh_remove_change": "557523aee043cdfaebe92f63dfbf89d0c7d4e65ad583471c18b91e66a067377f", +"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_invalid_signature": "c0f93b453f71ae7f9bd28a27cb50dfa6a99d1131126777d0f7957b194ef2bde6", +"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_op_return_fee_bump": "9362fd8a2a4db51618a4be853623a75e73541aef5d329b2f34729831a3c13bd1", "TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909659-90000-02483045022100aa1b91-c9b963ae": "77146b5285f8f5cd30307f66929d35cbc2c51fecb78cd6e0b2a491b59545b6c3", "TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909718-90000-024730440220753f5304-ecb983d1": "77146b5285f8f5cd30307f66929d35cbc2c51fecb78cd6e0b2a491b59545b6c3", "TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909800-89859-0248304502210097a42b-7a89e474": "77146b5285f8f5cd30307f66929d35cbc2c51fecb78cd6e0b2a491b59545b6c3", -"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909859-89800-02483045022100af3a87-80428fad": "4c4a6a4f7f96a7a58100079196242eb9f9ec9ae7d95d60218488843e99e91a7b", +"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909859-89800-02483045022100af3a87-80428fad": "685ae658aa7b6d7d0e450798dfa88212241f89dce943e2dc7733e9ba0f32578a", "TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909859-89859-02483045022100eb74ab-881c7bef": "77146b5285f8f5cd30307f66929d35cbc2c51fecb78cd6e0b2a491b59545b6c3", -"TT_bitcoin-test_signtx_replacement.py::test_tx_meld": "db5c3a436e02a3f7d95e94d9da9a8d7653264e16f0dde7cb021cff53a6fe735f", -"TT_bitcoin-test_signtx_segwit.py::test_attack_change_input_address": "b757a33e00b9a48464a16581515583dcc2a3e7f71cfeb5a79f5ab42ae94479ce", -"TT_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "47c383a7321c912450c44edeacecd27e373faa323ae12d510d2220c904f6089a", -"TT_bitcoin-test_signtx_segwit.py::test_send_multisig_1": "9632d3ff27d40cdbfb30a64a36e08f0b31289842013494be6f0824ad20211a51", -"TT_bitcoin-test_signtx_segwit.py::test_send_p2sh[False]": "e7a85ffb53fd1f4a80163dc2b1c207ac042b484c36018e1f71ae5daaadbf6e96", -"TT_bitcoin-test_signtx_segwit.py::test_send_p2sh[True]": "0080eb9feb2cea10b4a906198da6f28aa449885d8b57df359ae5f431ecd4761b", -"TT_bitcoin-test_signtx_segwit.py::test_send_p2sh_change": "825b350318bd0b309cb2070cb3d8235381ca42becec4d47dd5943322555862ff", -"TT_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "39c4c9856b27deb054fa343d2c335fccddc4da31d8fe3b7f4a12fa76da37eb62", -"TT_bitcoin-test_signtx_segwit_native.py::test_multisig_mismatch_inputs_single": "1fad85fc72fbce379b7f1753521f012d51bd7ba4d392ed90d2b0edc1adbe87b6", -"TT_bitcoin-test_signtx_segwit_native.py::test_send_both": "f7738a53eb46611c401792817d8e8a415aff201d16298b52b902ef783a69ccc7", -"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_1": "6c9f5c78e3da43ed5004429eec8644f4063b7baa9fe09c529671b119adda1f4a", -"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_2": "1a79db018a7d8cd978334dd4e603384c215d41f54d0a1bdaba7c3a508a258e5f", -"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "fb11acf4a456e12fc6518ef6ccf70084b7c7683426f386b0dd9eaa4e1460aaef", -"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_4_change": "d27e6e7afd21faeaeb3ad5fae7451a33b0f54a3804b77ae65d3b3e523e1ef6b1", -"TT_bitcoin-test_signtx_segwit_native.py::test_send_native": "972015d3ef2da6d026e3442b7b31a04bcb9600d84b0abdde4b3cfbb998cb69bb", -"TT_bitcoin-test_signtx_segwit_native.py::test_send_native_change": "8d29d8e6d8c77c76b76b181e3231d5479111e20f932be5979269008ac24d3504", -"TT_bitcoin-test_signtx_segwit_native.py::test_send_p2sh": "5d18e1afac68fa37436e9b1d47441ac0bdac251c1a13ca7ff734bd99e1f2bedc", -"TT_bitcoin-test_signtx_segwit_native.py::test_send_p2sh_change": "05213e89ec426522f178e35f9448c569ee3dbf09e6e3f252b9bd062926d4f685", -"TT_bitcoin-test_signtx_segwit_native.py::test_send_to_taproot": "1695b5f9d50cf08f1aff0cd84c6412ac639c46a6e5be6214988bea180becb294", -"TT_bitcoin-test_signtx_taproot.py::test_attack_script_type": "72a2439686a08a6e079a5ef90f2c3ff6d9997bfa1ddb24b78a8939f4843967a2", +"TT_bitcoin-test_signtx_replacement.py::test_tx_meld": "da018552044c9dc07dc4019dfc6b5c7cd77b7597f4c8e3b142cf84ed6933699b", +"TT_bitcoin-test_signtx_segwit.py::test_attack_change_input_address": "6ab1dc24fa8dbc1c88a9937882069b33f0d5f0766e99faa7c3cd83709839a98b", +"TT_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "9023903d91c453cfa696777db99334016385832fa47af3756a1aed58d097ae77", +"TT_bitcoin-test_signtx_segwit.py::test_send_multisig_1": "f170d79bdc23af7161682637840abd2d271cb73dfcae575f0fc8704904fcf604", +"TT_bitcoin-test_signtx_segwit.py::test_send_p2sh[False]": "602ae135d5f67b9821d28c3dee2e55c0b30cb6cdbcc9fd7970d8e02f06cd6b7f", +"TT_bitcoin-test_signtx_segwit.py::test_send_p2sh[True]": "9aefcc92153b1053449dccdf9ef3abfe1c9cf82b777f22340b434ecccb564695", +"TT_bitcoin-test_signtx_segwit.py::test_send_p2sh_change": "c4d99122211e001a4dc6c421147dd9673f3400af44b26900e4ce1ed49ebefb54", +"TT_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "27aaadf7e3dcb1077651274046e4a4e53bcb708e3a140af0c3c4f92006d4ba98", +"TT_bitcoin-test_signtx_segwit_native.py::test_multisig_mismatch_inputs_single": "1bca15e6a93a162199bdf9155e12a23c34fb7611d395ee1093735332b3741a5e", +"TT_bitcoin-test_signtx_segwit_native.py::test_send_both": "72b94474858fd569d20de2a3324f5d7b04dacad3829c4a4499e7c26bfeab49a5", +"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_1": "11d1bfd3051ea6389577abd22bb5700eda61da7749af3a3732df17f24b3027dc", +"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_2": "2b4f72fd6274d1b3d51b7e4de1801b4a1cc55ce7e2b7bef9be152347a1e39ee1", +"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "b62b6fde11bd95904270d2be7127728beaf9813cfb3ec94a1e128fbd19540a16", +"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_4_change": "ed223eb647b50559e2bb0fdf1a2027d735f9db79683dbc53df567996a0d8b180", +"TT_bitcoin-test_signtx_segwit_native.py::test_send_native": "22fbf18572b82a266cf407f49bff21f05ebd777cfe4c36eaba1e428b48135cdd", +"TT_bitcoin-test_signtx_segwit_native.py::test_send_native_change": "16d836480b99974630adf2a6afeca600cd9dec2343b686a20e3c2b5d854ad8b1", +"TT_bitcoin-test_signtx_segwit_native.py::test_send_p2sh": "2f6a9c1392ba334cfc9987f68687d32c12558d08985e52ad71d0424014238c06", +"TT_bitcoin-test_signtx_segwit_native.py::test_send_p2sh_change": "5647cf2836afd54d618f9da5820ef73071247fea8e50c87b5c2c91c733902321", +"TT_bitcoin-test_signtx_segwit_native.py::test_send_to_taproot": "d5fc037cf71574e69859ba782ec1a03279acd26eaac25b934a4d913230931de8", +"TT_bitcoin-test_signtx_taproot.py::test_attack_script_type": "06ea8319a958a624a9febc0d79de37e3034753924b2ee015f2cf0ec3995cb669", "TT_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1pam775nxmvam4pfpqlm5q06k0y84e3-a257be51": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plllllllllllllllllllllllllllll-aaa668e3": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plycg5qvjtrp3qjf5f7zl382j9x6nr-5447628e": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", "TT_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1zlycg5qvjtrp3qjf5f7zl382j9x6nr-880d4a6b": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", -"TT_bitcoin-test_signtx_taproot.py::test_send_mixed": "b4af8936775a65e93f896275feab4a5930ded9309cc3e0874a17bab37d1c7f8d", -"TT_bitcoin-test_signtx_taproot.py::test_send_p2tr[False]": "2ec92060e2a461ec8cc6a73a8648a0e8d4c502b9c4baf15bf0313eb7787bfe44", -"TT_bitcoin-test_signtx_taproot.py::test_send_p2tr[True]": "48e03056ae1f97fcbe00f1dbdc829d0b0cef5531a10d83c8816da0022e4ff3c4", -"TT_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "e4ddd10470988ee49f4adc7f378d31d107293550d8e5df9a30d1838a7c732712", +"TT_bitcoin-test_signtx_taproot.py::test_send_mixed": "1c2e5c70e7a94d1009315e2dcd147612d848e320ccfa2eeb747becb4af796c47", +"TT_bitcoin-test_signtx_taproot.py::test_send_p2tr[False]": "6abb97c5b7d3488b7d30018bf970507ada2f597b6b9b62ee0d9beb5d422e254c", +"TT_bitcoin-test_signtx_taproot.py::test_send_p2tr[True]": "2d6f85827d80251c7759b5ab75ca65640d415d40877ea5d64a677190b8715f69", +"TT_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "fb46ca21976ae67dfbe73f5057ff0304bda4f4000c341fcc8bf856d23c2d177f", "TT_bitcoin-test_verifymessage.py::test_message_grs": "e10ff287f3399371f2ae44b044a38143e7ea567f72733d12004098b44403078d", -"TT_bitcoin-test_verifymessage.py::test_message_long": "bb04b4ab429f1bc7d8933e656c83807c4ac1caa6eef4c0e89ce54bd668895a4c", +"TT_bitcoin-test_verifymessage.py::test_message_long": "b0541c5c1d156381335f6b164308f513d844f44cebb00833a3802d8b9778d046", "TT_bitcoin-test_verifymessage.py::test_message_testnet": "3b2ee73c971522921685968e59fb3633c27f1270cb2fb1291d7dbcc49358791a", "TT_bitcoin-test_verifymessage.py::test_message_verify": "7a0edeeffa652124f4fc9168a053adedbf92fb56b58dcca0c3f236e0b98bc9cd", "TT_bitcoin-test_verifymessage.py::test_message_verify_bcash": "af1ec707699d27959dae384975402d7af5c6f5b371a06fc545bf3a16955366cb", "TT_bitcoin-test_verifymessage.py::test_verify_bitcoind": "9e5f39b515aea597f55fee4d26bbab9024fda32b535144f5023cd4172cacc03c", "TT_bitcoin-test_verifymessage.py::test_verify_utf": "9bbb6c7e59c38f3ea4ef07ca5345506ab423f078ceed2d9fed5a46cb8ca33637", -"TT_bitcoin-test_verifymessage_segwit.py::test_message_long": "cf2f156cb45f2eed7838523a4424142eac412370e09c1a85f826097854073273", +"TT_bitcoin-test_verifymessage_segwit.py::test_message_long": "83f30975bf2721326f1896f7442739cb21728a6b93467351b668aca44610fc27", "TT_bitcoin-test_verifymessage_segwit.py::test_message_testnet": "d1c3ce3dc5f2655c10e1e82bb595ead730c8b50c729cf9042576a9e0cb144b22", "TT_bitcoin-test_verifymessage_segwit.py::test_message_verify": "0bb1466169587736d9258683fc0f3e58bcc6caf298de29765f7ecbe5208977d8", "TT_bitcoin-test_verifymessage_segwit.py::test_verify_utf": "5416118c11b492d021ce08e71d9082b27f2f0cf1cd65da4cd7a20ae4eecd3f0a", -"TT_bitcoin-test_verifymessage_segwit_native.py::test_message_long": "c5ac41b85d921986c41484b73aba0c667eef7277e3a566942dea1703a9f7c6c2", +"TT_bitcoin-test_verifymessage_segwit_native.py::test_message_long": "888740b8ff7d52fe9ec18268c3dde48010228db60be4c8dcc2c0bb1005ffcae8", "TT_bitcoin-test_verifymessage_segwit_native.py::test_message_testnet": "4a5e2ee5f42a9bee7656041ed46f0287e5cfd49177b052f1e2a8ae8f71b7d867", "TT_bitcoin-test_verifymessage_segwit_native.py::test_message_verify": "f9acd7688d2c08c7f596aad2dcf08301daeec1042fbe3284ec6aade9428c82fb", "TT_bitcoin-test_verifymessage_segwit_native.py::test_verify_utf": "c2ef38b50b65ae726f258fa24f3d87a6abd736a7bdec9ba77c54266ef26b402d", -"TT_bitcoin-test_zcash.py::test_external_presigned": "5110eb059a3a57fc8a7555f4ea2fbdace52c520d40fef0a4f1b1b1e175dda199", -"TT_bitcoin-test_zcash.py::test_one_one_fee_sapling": "e5135b9ba1f4f25c65ce387c6771a3ebe889c1730358e73c930b90acf5d83250", -"TT_bitcoin-test_zcash.py::test_spend_old_versions": "b12eef8ad8c8578c0501a26ee6453d9b4df21bd58049fa0373231142d4738aa9", +"TT_bitcoin-test_zcash.py::test_external_presigned": "58ca129cf30e1cfb9a4b393967b859094cf7b7a3095bb1962f9199b52fac8245", +"TT_bitcoin-test_zcash.py::test_one_one_fee_sapling": "5b0b0f76aa1fb8eace9848f3dc9fe6e3e4730a85de184192fec9dce364bbec36", +"TT_bitcoin-test_zcash.py::test_spend_old_versions": "921df31d90290b36c1c650451c4979a85637bbe3e2e918d09d826e63db9eb597", "TT_bitcoin-test_zcash.py::test_v3_not_supported": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_bitcoin-test_zcash.py::test_version_group_id_missing": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-icarus-derivation]": "104bebf53fdd9f4a2f01871e2b68a720cc2252216fe8fb781188e29f695fc4e4", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-icarus-trezor-derivation]": "83703565c8ac5d10097294776e2a560d96483418559a4aa352748936de08e76d", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-ledger-derivation]": "9e50d709ca119b5b1a120c9db978931373a386dd04fc5cfd1d2c81e150cf817d", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-icarus-derivation]": "4bda61d7cd871974a8dec5077fa87fbd3edcaa9790a0dcc559490e9c02840891", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-icarus-trezor-derivation]": "0fae9167a8f5dd9b6a3f5305e72b88a9a599710243902e34bf835d8ee2d1fdcd", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-ledger-derivation]": "9146461be611cf864dd287b8df217a9f286a218b4a8479f6dc046b56a96b0ddf", "TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters0-result0]": "8deed6efec61f0237dcc1e5048492e01d55c7bd833f2c70e4e8fed46e836ad61", "TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters1-result1]": "8ed36af60e84e1e43cf6d4e5c3fd3fff0125005ecb86f4a78e240f7837e777ea", "TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters10-result10]": "92b06620086f0cb3b61937db9c942d5eee357efa3fbbd2f86781732f2f692f89", "TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters11-result11]": "e02e6bcb1f9f6ea287ea5282600f622d52522aa463b48cdbb4ca107201e33d2d", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters12-result12]": "c03f2f5c49720e7c7b2e7ced8fa1117944a57144830ffdf0eb1171f52257a5fe", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters13-result13]": "a1e9deb5893b5d2f0ea6ee8e919bf61354883520756b98d6281537e5e75e24ca", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters14-result14]": "f33069df22ec7d129bdbb7b5a8e600ca479b4cf6afa8d032c8e8d9d12698a9da", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters15-result15]": "9a0519e0b56ce1b967223e0964c028da23e7bed896fbc4abcd57d37e77db531e", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters16-result16]": "8edd1fc633e2cfcaec867a35c18c1d0f1b4d1422eabb37fb7589768900efb80a", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters17-result17]": "4857af0c0bbc139e34904724fe37c917d3121a1c10452b05e3507e64a3af58f0", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters18-result18]": "051384130e3cb86aebd018fcab6515e1ae8549a671cdf545284ea096374c91d6", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters19-result19]": "3b2ae131900eeef53d5a2f146b03cd43a09413453ca64c93a65c322aae5a3243", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters12-result12]": "b85804b39c4a3c7939ff88b9bc471fe1f01272bd5e1f45589990cd3d3e1d74c1", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters13-result13]": "802c4400f689137eb856b4003ded48626c257520fdcf023fc92245e991e42942", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters14-result14]": "ef6e30e39ad0982438ff49879f1ec527a2c70f2fdca93d06ab6ee7bd086fd0bb", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters15-result15]": "19fd3349a43c88f3124f9512dc376757fe4e501aed3b675720ec97fcbaa07b26", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters16-result16]": "57e7c9bb5cf5e313f32e5549ee799f96778ecb30c7adbb74abbd4084f5b08893", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters17-result17]": "7d98fa4b75df9ff983b1c025f2f2db331e3ce6fec8e8fa35c1fbbd86e51133c5", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters18-result18]": "c22482b351f6468889d8f22524086fe676231fc8931479bb770909d0eba27057", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters19-result19]": "1639db5013f7d4cf63755cc679df318687c7496664b96fca17b9ba1448f0b56d", "TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters2-result2]": "530b5b42f2d947a67c7439b9af31393ab42e70b73ce7334dd35b0d4f7fc6680c", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters20-result20]": "0d160f41c4b5b717bd4689f088d23ab528fdaa5211a07a0f1a7787bedcf3f455", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters21-result21]": "10148f97b4b6c6b611368a3c68eec546b49e6e43f7f238e1b57e32047b138145", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters22-result22]": "f047673381d6072509f8fd29bc5ed9ab959b612242d6364722b890a6f8b3984b", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters23-result23]": "17fa0bbbb225330ed854e7ceba99980cb77bff5114c5f1681f48d4837fc5e4bf", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters24-result24]": "7ca2cb3962bb95c3250789466c965f8cf34c4bd1ed058cb7eae28ee2998b6fc0", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters20-result20]": "e3191ad517d6b96d35261dbaa5870f28153c74567f21488cf51b8943721a7100", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters21-result21]": "406840a4c06ab34e51e0fbb084166e31c4b03da4f79fad20903bb3c76ca0219b", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters22-result22]": "a4f488dae11ea0d417e7192e852f6dd177fcf6ab503c567a320dddafeef9154a", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters23-result23]": "6041bf417e98ea4b20fb6bf71d1dd2c95fc3ccf573cf3324267bd2a946dcfa61", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters24-result24]": "d9448090b662dea8ddf2ca97f356203095e0c930ef9a0235bde94b6d18d5cdad", "TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters25-result25]": "b841eff7ee1d641a7796cf1e99dd260f0c176343ef0bd8c7bf697769430e0d51", "TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters26-result26]": "6176161d5744d832e208199e964b6452bc37d782654ba55d361ffeb4f0fb2dbe", "TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters27-result27]": "edb0279a09e1c36eda30a3d48f0de6f547bc6213fa588fded78c03c7b1cb5630", @@ -2552,66 +2552,66 @@ "TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters7-result7]": "37afe319cc51bfd117eb04d350e1d2a174030d0f21723eef23ccec7eeb887bfe", "TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters8-result8]": "5a9e1aedd3047e3f741f88549fb2497e2e9216ee326553efd146ae078449a5bd", "TT_cardano-test_address_public_key.py::test_cardano_get_address[False-parameters9-result9]": "4b9aa38bea642c08c31c946baf12ce209b5106a5d8894939def0d899c580a4af", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-icarus-derivation]": "50fdb1a6ebd4343a5f7d099a24f57c9acf19e2a5b2eef95efeb081504d405dfe", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-icarus-trezor-derivation]": "c348d07a3c40c79c599cd4814be7097b94439b4ff521237c3727bb85423c66d6", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-ledger-derivation]": "97d9d40728ecb611ddbcfaa76df371ba6d82f01b3547b7e2b014b412a61577b8", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-icarus-derivation]": "65ee4fc79a25b8dcb52953ac4ee10fc03a276e796efccf0d560ea87adcc8f31b", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-icarus-trezor-derivation]": "ce55270444f38c25b6406c75ab0c9b0cd8f47542a354dac67f6562a58cade939", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-ledger-derivation]": "f2b0f1746a8800a10fee04069dfc5ba460afd7228fef8e3db5694f1bbc788ec4", "TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters0-result0]": "e8f224fe8adedfeba19c84716af802720cb4df5bb2e346f58b7e9daaefc1a129", "TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters1-result1]": "dca5729b439904a756b21e18660a933446881f9d4fa47b2b579717b9d6a72e52", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters10-result10]": "74c5cbf12d2904bf41bbbf1969810a6d1a7af881a32d2efadab3d3a25444646b", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters11-result11]": "24e03fcfeb73d04783187208e39f05f7b3df855d4531f5ca98692a25051573bc", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters12-result12]": "6bfd3bfec2492dc633ebae71684d49ae85f2002dcb2bf294d646043df9f1f83d", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters13-result13]": "8e51138c660b60c359f0af134e359ae40b2ddf937f57cd46c8b73c4bd91a3d51", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters14-result14]": "351034e2195520bd9f9e2cd36e47c01ce2cea632bd5dbabad852c489ad9e6303", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters15-result15]": "d40fbbc3aa6d14eb014fe197afdbedbe6cde245ec89c84c38cf3473971bc046c", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters16-result16]": "d0f7e46525124d01a77c76b564846f4f9589902adaad8b5835807bb415a27a0e", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters17-result17]": "e787d9aef0189490b88efb50bcb3ad1530c4840e91838fbcebc48a672e52d961", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters18-result18]": "40354c1f54bcf9ce0206159ca1e6714c1177171b3ab5bf072aedd1cecf7058a7", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters19-result19]": "d4a9b3c734b86cc7fbefd4e83bb142805d237615e22d40addf62481f849547c5", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters10-result10]": "af64912f88822cad76cbdf7e2259df090788efdb55a2d377712b1d674457d9a0", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters11-result11]": "8c53c85bb9b7b5206874a5e0a658b4ee362a77c556ba21b314c8ac5ec0046891", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters12-result12]": "d530dc452cc41dcc946106994c65e58feeb67e1870d2154d5c3e0aa7dd982e1a", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters13-result13]": "1937f77320c95690dc61bc68547711243fe716d755e38e46cd8f97de233e450c", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters14-result14]": "7b5b963381bd1baf93eb93eb88e039de903d921571cc0bac21e9d5093e7214fc", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters15-result15]": "fb1c3bbe2b0d2f4c806abd0ca459477323fa0f5983b96322a7e19ad9bbf91b57", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters16-result16]": "ff482e5ffe39a57c1f7f3cb7ed0cfeac1ad26784a75c4765c44f4f06784eacd0", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters17-result17]": "a7a1cb86671572baa108e8bf89f83dcc47ac73a86ba2fd0d9c0d3003efd6184c", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters18-result18]": "13a15caec1e9f1e654ef513ab040eed38f6635def2c4093f70166b56f1521cdc", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters19-result19]": "68932369310fced1dc931e6ca5599e6cafbfb314733cb069a66397370d23c124", "TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters2-result2]": "321abb9c816c43d6ec44ad22188bb835505c706df4f9f37ea131e82dbe83451c", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters20-result20]": "3b0f847281b4c7962e64791f704af2008192e13055a132724d57acd13a150dd4", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters21-result21]": "53839b8bd1c3dcbc59e2f89ad451bcf3d436f116e2d6114c85afcc881459148c", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters22-result22]": "c4a34c61aa97c20b70c2402ed01c519468ca7eed32273171539c5632fa29cab5", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters23-result23]": "68c1d467328fb7c885e4203992498bade3ce351885b26bc089792b8450d3c479", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters24-result24]": "71918f4d10cd1bcc3b69781780bc8912aa3cad592bf0dd68361cf5c09034fa77", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters20-result20]": "655807253122a6c0cfc44b6d743362cd0b18170c201cbb21541a7dbf0b482c84", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters21-result21]": "0dad87b38bb6240cb991d72405795c01c4070f2d9109cfd487aea363773b44b2", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters22-result22]": "cd01a1abac9f1fc23a8e2c8ac3e95aaaaf4876fcff0d91951ea1cf7b3aa16a1a", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters23-result23]": "ef56cea03ab72eecb7a0122c76c17bf3800e2ed52e695bcfcca10fc3c8d0b983", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters24-result24]": "9ffb71c59aad69b5ecce1e4d1c5a71a5bb3695ecccae89014158a0f2afca8628", "TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters25-result25]": "c8a2b7c44515e1faaa8269ac4c60f1f6c3d22827b924fbd564fba3c8b63b0db8", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters26-result26]": "31eeafb49af00ba6d1397f276fca6feeb6ce38682cf54843cd100c07341a592f", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters26-result26]": "e297853df013c84fc5c06a583edfce0aad90092dace9e15ccd2fb7d8ada0f63f", "TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters27-result27]": "7937e85284cd08917b7db06c4feea5da46f923907a6240a86362031547841b43", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters28-result28]": "410bc546f2fbbab8a488ece101a0bad62bf57c08c744297d3249472e7e871d0c", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters28-result28]": "bdc7731c83ca477cccc425258d74c563e9f61a85a1846f481ae80c7850f2f1dc", "TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters29-result29]": "0644211c8a04a5ef6bea4867fa7f4d008786bcadbd4a22a2a32a8203ded4053c", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters3-result3]": "fc9b8dec443e8e16b5417276763f4738c8b4b0023f18eddb8eda9ce6b8c3b535", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters30-result30]": "f007a17e827d199038d9c143dbea5dbe07b8e3380f477e20cc0e9c3de0918f3b", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters31-result31]": "55baf10f8c4c37f5456586effb42f55595e65c3c3f61a4c5c8c800a672f4461c", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters32-result32]": "bf9adb3a5f771acc68c9e92124543915a0cb1559ede28433595e281849126d2b", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters3-result3]": "d26af9381b3bd8fdaa11cbc1ef071a9d30be963693c7aeeaebe2b3baaee22ed0", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters30-result30]": "7d79697d13440b18e5bd28064fd393643f05b6dcf196bea179cc4364f26a749d", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters31-result31]": "42bc5d0221269cab0548c02042b51be4d0e12e4d46e858376638fce81323f493", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters32-result32]": "c7d141b82a97e5a40327c357d6db53db91a972b9206c66f1da39d90a6091faa6", "TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters33-result33]": "0d572466e8578b2bd6152e3b20ce33aa9ba69abd7da0e1ccb522108484ca53e4", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters34-result34]": "37343e339b9b2b57d13145ab71d734d6b6cf13f53857f1e98b31a3686be44e57", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters34-result34]": "617169313c40607979ef72617ec11e9ec71ad613ae10c1999fa491dc68b78d20", "TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters35-result35]": "a954b7609d2c5a898ad54f1a15c2d7f190d4e2fb5eb828a1d7a2ac107b87f10d", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters36-result36]": "97bcd238ed1f9770e95a42b97e0e297549e57ccb308564295e870e9dbbf27ab5", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters4-result4]": "1bc02d5fb3768bc2f09c24a5a567f1d672db0e0a12647b1461ed5061b169cdc3", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters5-result5]": "2e8c0bcd618adc48441c64cf11ce98ac6a63dd3b77ccd19722ce3549db70ceb1", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters36-result36]": "4a1beac0d8dfec920585c177d70eba2526aa48b7659280bddc09819769e2d39b", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters4-result4]": "21142752b22fd58b1405af2ac7d19fe4269b0628e5c41aabbb620eb6542a5610", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters5-result5]": "80a990469a586dbc279ad8811dd0e38fb32566e332138aa616fea75b9d99ad8e", "TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters6-result6]": "614cc13a64f35ac3247b83440cdea22a18257afef165fc54d41917500cdd409f", "TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters7-result7]": "1c4bf364e403371d1b4570a6d7a2b8f9ac231851cbf67f56f64fe350e0edadd1", "TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters8-result8]": "a9958771b2394aa3d6488f5d28d0516fb2632997be4ef3cfe272d8468b475e70", -"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters9-result9]": "685b5b696b1a76850ea02538c979cb3c976d25e25f160cdae98950666f92ab90", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[icarus-derivation]": "994ecd6811d4f2269e7859a1a963f119a5c1a7b352d9cd86fe5ef91ab17fafeb", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[icarus-trezor-derivation]": "329604ef9c69379a5e79baa0a243e35efb0219fa2f78a1def7051b6c5b3f77f8", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[ledger-derivation]": "69ffdba4d44678ef02199fbfcadea5155eb0b2353ea8164d2a84055e7e0dbd7f", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters0-result0]": "c1ce96f845bb2ea9e1b3214e104f24807b2f0d1317b82abcad66f6d5048dae9d", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters1-result1]": "f8ea0925c834e6802b64a15947b2246e23f92f90aa84e67edae92fda8edd128d", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters10-result10]": "a05a3b3805139867f562f0095a21f48f6de3eda4c096732910f027e1d48a2bc3", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters11-result11]": "e8ffae6fef7c149499c6b7d0037e6d34f6162ba1b0413392344faa0f9cdf8abe", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters12-result12]": "ece5905b7920fa96955784d6a8ffb92856e4f920ecf6590b87cb0aa40c5d530e", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters13-result13]": "33abe3710130d47753384cebedd3e5b6c13e90f1af46c46e1503454888b0e66c", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters14-result14]": "d77b45465a81ed6099b208e29767ec2c3a2937f6b758e0bb34a6d99ed0a2b0db", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters15-result15]": "11a07ba15d07cb95e49bf9e535bad43e828c2645f04aaceb09c9c92357c213d9", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters16-result16]": "e74a89ce74bf588b0c9c3b2d133f5723970cc9a1cf4244786a9e794c4dfa318a", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters2-result2]": "5c623e033f8cd46c08fec1eb17e070f701c6af042f9590d368b46874cd4738f0", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters3-result3]": "82fe9dd16f110a52da3479b58c52cfc23200c2d3020f9fc57f8bcfc4b5991825", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters4-result4]": "c05d6caa10e3e0fd7dfb8982a87e3c0855395bbe069035943d66ced00794b827", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters5-result5]": "fc5dc33ce477a366c3a224907932922cd708d6ee9d8f23b5fd0f9c0e36ae52ab", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters6-result6]": "43cec0bf4c1e8a33e6ab3e2eb798bfaadba91187bcc672d539ec9963b9c4fec6", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters7-result7]": "38674c76d00b1c8ca033b27d0b1494c5dcf9da9cd9b96a6ae406b3ed37544ba6", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters8-result8]": "d504b427de2716fbd057a840bd8122b2876ff26d37a3aa834bcb79d110a95cca", -"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters9-result9]": "436f65ec5aa714a185dbb3bf514192d37ed193610fa06db182404b22b54a859a", +"TT_cardano-test_address_public_key.py::test_cardano_get_address[True-parameters9-result9]": "abb31450d437b5a26d03b4108f884f65c6b9aac56de1c600f8d043f2c708c58e", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[icarus-derivation]": "de18831d5d0dc920bb2fd1e9a4852dcde404051a43fa951349e197cabb0cd6bb", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[icarus-trezor-derivation]": "904b0c45108d60455856bd6071f91f693e542a2310e72cfc72c304e36297f2ea", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[ledger-derivation]": "dc1dd5b7f8ef85a8e275f240ed6e2323a648d15d8705363c991c83f5b4fbf076", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters0-result0]": "ffe3bb9a549c1271ea3abdffb4e29095f413df1aae6c7c341f29cae0d4a2162a", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters1-result1]": "c1611a8d08785c25a62c48859a2858d9721ee00924acf57609e299f52c090402", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters10-result10]": "b14b3736a983d69ba5f7662c115e334fc4fe5842e0a9963998b729002bdbe4ec", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters11-result11]": "0af959686d3e72ab4cdeed720b2e65a2269244633eda48d11cc8b95e47a2ce47", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters12-result12]": "a346a26bcf81ede062e1136a4dc8d7b4fb08633894361c962f8ffbe22119cfa7", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters13-result13]": "c1de93d6e5176ebddaa741c66035eff3d3d086aa79263af0c1ced2cb915a00f3", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters14-result14]": "9dd1589322287036d44f708c97d1bb20d386a2e7894f94dc533247474b8107ed", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters15-result15]": "bbb14a6f1d65175218a72d5580bebaaa9624f679b19e2f3b61bfe02b1da715d3", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters16-result16]": "14139692401fc20b0c05ee6ed69f25398ac2f39797bf88649510ee990b03a817", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters2-result2]": "e32d5661e8b67c9c78a1f3f437554a959bbf67e09f3814addebed794622ecec3", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters3-result3]": "04d7efef084d13044b370f817fe6d41a0bb33e149ea3deb54e2b9778e9686e76", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters4-result4]": "2f4d931131240c5cdb778cd4038097a82ac0e165adbfd58422db69835427d21b", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters5-result5]": "e6626312b305ba917368898989511944ad91d66c1fcd68f1ac418d731f235a02", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters6-result6]": "6315a79acb7d3d0bcf691c8b5e7100acb91b36d226dccf7fdc8cf4fa19a7d810", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters7-result7]": "20c37fe9274265b57aa72a7641c77aab0b014cb3cecc5de8bfe05e82565d86b7", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters8-result8]": "d2875e391b522fa3ef0e4c332785f2edf8706d55922c9bd18e4bc5f0d7b6db12", +"TT_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters9-result9]": "1ca188a2a6d0b986801014d702e099d757f2ec0db0674a41f08022cbd6ea7a1c", "TT_cardano-test_derivations.py::test_bad_session": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_cardano-test_derivations.py::test_derivation_irrelevant_on_slip39[CardanoDerivationType.ICA-3b0af713": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_cardano-test_derivations.py::test_derivation_irrelevant_on_slip39[CardanoDerivationType.ICARUS]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", @@ -2630,99 +2630,99 @@ "TT_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[nested_script_w-789238e6": "48a066f73096f96a685337d3942ada9493abe686f5bf70a2a224a999ba5dab3c", "TT_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[pub_key_script]": "c3af0c697cfff8e404e6671e5f77f3b556386fbacd25eab158d866c21c6148f6", "TT_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[pub_key_script_-1579fe2a": "9343101c53fe8b7360ecd5a102b3e507aabf29f37eeb253df3c88f6deecacb7b", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[byron_to_shelley_transfer]": "1ce89a6ac2e9d2029716cd6decc6dac235a448cd686d40c189b7097857fa43d6", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change0]": "d333a49c366bece9c6fd6549586353c12efe1ef877858608d4fef75fa1c58607", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change1]": "9fcf0842420de2e25439f88a6cec4d5f681760a0a954c122678a66ac2b15b067", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_multiple_inputs]": "aa56a2b17dde608da1cfe48a37b960b418599c22c9b6d27d36696045ff648325", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change0]": "aa56a2b17dde608da1cfe48a37b960b418599c22c9b6d27d36696045ff648325", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change1]": "ae1f3fafcd0f8e7307c3399f1759c31fc80aa212622776f14d7ca74078d05636", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_different_policies_-1dbb1bfb": "ddd2c9b715dd221cf5337f1de7aa9188fb5833de45616c74c432018210039b73", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_multiasset_output]": "36288311c7347125703f4d3bd333ecad1f6cddcd69a854bc72ff80004fc5a00b", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_no_ttl-validity_start]": "104b3171acc984d69bfcaa00aa626e24f4d0d7115d5fbb84fd56fbc152e0a57d", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_a_required_signer]": "fcde684d7b44dc401a9d025b0eb2f888eece369b8b93a7dd2ee138b4a6b88ac7", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_most_elements_fille-29691455": "510481fa21f4075838d5b45cb09dc6c4473285282210280141e3072e77fcf4d8", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_output_datum_hash]": "17d10b4e00feb1cafac51a330936e7f9d093e72dedfe1922da085aa3719ff9ec", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_script_data_hash]": "6f54456858f682f34cf8e78027f445e23c5712d77d0f831044eb0fea5cf2323b", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistratio-1ab28f77": "c09ad2e890270e0bc8964b616c8cc0989b561d4aaa8301b72657e039f31833db", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistration]": "c09ad2e890270e0bc8964b616c8cc0989b561d4aaa8301b72657e039f31833db", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-a144c34c": "2ceef2412da6c2ac6f24b268b6e4e15ad63842993245d7bf37b153f588934630", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-bf5f9707": "d187847f47e472b4cc0c51a6dc30beb7729e2d83f0497795da6e5b2e9ae9e7ee", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_token_minting]": "c93a2b24fdeabf6a2f265502f49945bda439d77bc10ad9f02e1aa9d79ed07139", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_a_required_signer]": "5f533f2c7436e664544cb012aec86327bbed6c64c3071983ec20f591151e9220", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_both_output_formats]": "e72439e0f1a2484d6e537eff343ce7b225299529091a62c8fc1a54ea9e750bd5", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_inline_datum,_refer-d1082570": "2f415ce073bb5669c669bc071a9b5e5f36c937e1a753b62ec8d96bda031d2922", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_long_inline_datum,_-1f681aaa": "d7cd4f64805bd83e8f57cf56255328a6f21026ab150f0ba1f61aa1b65088f1a1", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_multiple_correctly_-6545455a": "8269b661d1ae096f5d27fe3849ae17c97d25645045154670477764c41d5c0db4", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_network_id_included-d9df16f9": "aa56a2b17dde608da1cfe48a37b960b418599c22c9b6d27d36696045ff648325", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_output_datum_hash]": "2f415ce073bb5669c669bc071a9b5e5f36c937e1a753b62ec8d96bda031d2922", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_output_datum_hash_a-84ad587a": "d7cd4f64805bd83e8f57cf56255328a6f21026ab150f0ba1f61aa1b65088f1a1", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_script_address_but_-b0da7209": "1e429d09844a9cc420875bf708100a3c7014d61e9702c82ec2d6b16a2fe23ff7", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_script_data_hash]": "5f533f2c7436e664544cb012aec86327bbed6c64c3071983ec20f591151e9220", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_token_minting]": "27d9827b21ca7fb5f1270a48fde2d39a79a3876425c308a15f5dd4fc6511af24", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_an_ordinary_input]": "c516b10d6f329e8ea3fcf29c9f637d543e1cf268c8308792978e1173dc73b44f", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_address_device-o-a33e6741": "b28f2b5c22cab1e47489e1a4201b00ea3b0ea6f21b443d51f3fe584dfb93ed73", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_address_device-o-a6481374": "30b9e67335c3fe9c3e9bfb562a1df7c804db8987d4d917724811d23c97a14ca7", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_key_script_addre-d3366a63": "56c0ade93ddc4b2cb9e5c8710f53b151afb6db2e3e6d589af03bc17e749d24aa", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_device-owned_collater-8f38b4d7": "97fa14865b92fffc73e5cacb0a9b5988d977502315d32f5d64a55013af0df823", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_external_collateral_return]": "3b0545c687a5ee0ea07540ef9ac58251576b558389e86febc591aee375f479d6", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_output_datum_hash]": "16b01e0b7882f160dfa205481b45ff8d8b1a63a6e6a335e4f07a7f4b2489f714", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_reference_input]": "3c5c5c00c99825a26f66edae479a95e6d5e5d6599880e2a82899aa3a498a373e", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_credentials_giv-6a67c1eb": "956c8c24d53ac3df29affc6d5cbd4a695310c0089e8e2ab7c970d3a59f943a44", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_credentials_giv-72ef969e": "81ba424598dbae934f487c20e9221452e734c487c8198c1f062b5a8d09e606d1", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_deregistration]": "1976beb71db2622872069dc9a16ab0a2e1298b4199baf1584516210481236c5b", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_deregistration_-78f5c748": "847751e9f414ac53033a16d7b5e44acc6562bac7719e2688c40128990b124f7f", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_registration_an-4da9385a": "0f235ee6e9392b3b1f18064e9138252030d9edce509b623026b3abf2282dc644", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_registration_ce-46b0a250": "6be0ebd2d381d6ef3757d216b3312815168e1891ab262fa1888795d052988067", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_token_minting]": "531cb8e4b0c06d325c8d4b63eb194b1a3653b4bd9bf714ab2fa618f64db93131", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral]": "0ed70458bd1b1998662d5c2122cd9799a6c1734844088cddcc9e1c08209c51ea", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral_and_-3f0b305a": "7a82c7ed864de733f7c31a46e06ce61603b739fedddb6868be1ef294dd9d84da", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral_and_-c92d773b": "f9a841bdd6415b68359445998e30379f0d9c13d589bb19bb141cd0c09acc0cd0", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_without_script_data_hash_a-9590827f": "ee222ac82b914a92c6f013ca60281cdbc1def27084299ca8af180f74176c404e", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate]": "2fcf07992be51ca62870f53eabb3a00085a1d9faafb4745e27b97fac7910d4d1", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-336f4a44": "2fcf07992be51ca62870f53eabb3a00085a1d9faafb4745e27b97fac7910d4d1", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-d3427614": "354253068d98c069dde1a81da1a587864e81899e449319c5a378860db9d61264", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_with_zero_margin]": "aa04fd16415a1d48eaa7c17cfc9955f94714a2357a7ec7a574c37f0750d1cab9", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction]": "9ba3184b35370c502149517b12e3c2d646d68a9aa62dcf5742ac49542e03c766", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction_with_additional_wit-36ba8ce8": "bb8b4fd585971e6f8d61e4549ec5adecf7ce31177f38c9e80d9eb6e56ddbf66d", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction_with_required_signers]": "307d7d63a703befe7c2789f16715b997d2d2c68f50da13417498fedf74559ad9", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_o-0c37e6dc": "7f094753292e91f4e17c07301346d1091920dffa760279c1475ceb2547065dab", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_o-7f1d12f6": "e81a439ebfe408f603eb5c0184692f0bc98dceac6c9ec5763f71052f3150f8f6", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_output]": "5f533f2c7436e664544cb012aec86327bbed6c64c3071983ec20f591151e9220", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_script_address_a-56fc16f7": "ffb7252bec7af7d83ad00780103419dc8f17af217c4c0248cacde9f7a8160d5d", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_enterprise_address_ch-15518a4c": "c62a04aa1f71f3c3cc186c5058eaa2e5c1f54112e60ea7d326d1f20c707a6aa0", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_pointer_address_change_output]": "9c8cd9170b0b8464e7a65b2e32e322ab468d96345d117d7aeff6966e702995c8", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_certificate_with_no_p-0bbad967": "3a1650e8e2abea90cb401b744568aac90eed0a5433b55245b78620c08d038ce6", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_on_testnet]": "895e7789ad9fc99347738dd524a82c13221eef1e3c6da83b8e69e77254620a86", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction0]": "509b8d52aff32f547873de7eef5b5a54661b6b487e915ebcfb639fefc68b788c", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction1]": "0f943249c920cbfbb0adfeb8d1dbf2d3557f569e7f6d2b02022cfca0835b3d8b", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_auxiliary_data_hash]": "5f533f2c7436e664544cb012aec86327bbed6c64c3071983ec20f591151e9220", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_p-3c7243e1": "5be4893666490c07e2e9d047170b3aa82077eb9c8d2d8e55a9859588aadc9d81", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_s-20438873": "8af4517258b0052e446c5e2a57b1acba2622569c90d9ec293e5bf5295573c782", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip15_registration]": "b58bc2dfec38f9f169bddf7bab0c1de98d397f633c984409b21223f980cb5be8", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip36_registration_and_exter-a66e1a50": "38fa905ed7f15c9406787d70c2ff2b853678c2a648087947815ed718f0929fce", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip36_registration_and_exter-b18e613a": "6f2216b83753f62bd21fb2b29d2b7aa4648c4b42773c68c6e800d48863c380da", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip36_registration_and_non-p-26df89e6": "deb50896143b9919c44713fc9e8badc2a28965e312d025dcf321712f3856074e", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip36_registration_and_other-6a6c5c8d": "d8387d9e1a9d83c1806bf26487c08271ff3e9f3695609b18461a5a674e1828a2", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip36_registration_and_votin-1b01d6f0": "44cd5829281bad197c72673ea358e78cadbfe4abcd03c809a0de44babb14a75c", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_everything_set_except_pool_r-1e1ef130": "14e7b5d154600a0e9db1af39f2b4c6d9f296e06db1f6dacf96e145ee08d6b8a1", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration]": "6a4c4e57a5358e69b2645c6677dd3d95a4956e36dacf3cdebdfd67c6983eca73", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_and_withdrawal]": "6a4c4e57a5358e69b2645c6677dd3d95a4956e36dacf3cdebdfd67c6983eca73", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_with_ac-9ca046f0": "c5448d97e08db3a8f4cdcdfb3336d58fef723dfb678136e8ec9a12d9b313bd57", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_and_stake-3fdfc583": "d4e7566360a9e5290f2716d6ccee1cdbcd71c293eb420c9894672bf6c908c5cb", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_certifica-e7bd462a": "405e9c445aa82685e649c8567118e2a210ed9935a8b083d804d4dfd34efafe95", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_certificate]": "420810cb871e08a9fcdcd80254ed966f2f2df255e6a67100343d90026fcf605f", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_ttl_equal_to_0]": "e2a70eca00dd1893bb408d571f8e3a45559973dc623dc47f997a5f5f45bcca6f", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_validity_interval_start_equal_to_0]": "6853f33a10604b5d79564c471763320b071cfdbad00985f32a04804ad8c62119", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[byron_to_shelley_transfer]": "2e4d092a9e9348ee51e3527a9b81844e25bb4bca822ad2b817021d66b54357c6", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change0]": "8b67edca40129904893563b0c85d2c86398a078cb740a3ca6e23d6489afc1813", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change1]": "3e13929eb81c8077e946779e4ab3b1d3b5a461bf5a4cf3a886d6ac0a1d5297d4", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_multiple_inputs]": "07975bcff0d8fd7d5277cb79fcc986a9d250dd4e78a13128c98912e4e83becc4", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change0]": "07975bcff0d8fd7d5277cb79fcc986a9d250dd4e78a13128c98912e4e83becc4", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change1]": "cfc2ff70d16e4b00becc081367494ef3ea66f2702b318752077ea1002e6aa972", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_different_policies_-1dbb1bfb": "2b9890079fcd6c71bc8dfbdd60c338a82bf2eeb1f2362b812bc232d24286eab8", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_multiasset_output]": "efd9a9146da2ccd9f061539f96b4b266f3730507f44d7925f5238a53094597e8", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_no_ttl-validity_start]": "5043a77c9407a858b905aa2ff2d5ed9f2428519b529262b74feadc13f75c31a2", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_a_required_signer]": "d9c57a802003857f97ffb5eae4a42f93d745c6d574dcad17ef5408bde9d54b36", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_most_elements_fille-29691455": "d455f33b280eec4f49aad239640ae926bb1dd567d1e6e9ad36f7633bc3c6cf94", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_output_datum_hash]": "0d1f0bcc4aa3fb97b6b2cf9748a0129fc2e45c234243da40b5fc19c34f093ea0", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_script_data_hash]": "31541c99c75d9ba3cc057dac8649890544313ee4dfa8040187238ca3383dfd62", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistratio-1ab28f77": "cf660c71ddea5035946153c57114466d6ff0ae5d4e0af7d14516f9c26f61b517", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistration]": "cf660c71ddea5035946153c57114466d6ff0ae5d4e0af7d14516f9c26f61b517", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-a144c34c": "2395691691124886700515d814ac9839732a849cf5d96b8db9acb196c5289d6e", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-bf5f9707": "f73a3e9d253d92d0be75e8d9670f57cb6306abb2b89d5cdf043adb7e1b4889f2", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_token_minting]": "ffe8ec9c124583d46702b2d233074c85a7c03612ef2e033f1d77900e63ae52c8", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_a_required_signer]": "a75c7275cd4f50c2cf086d84af7d10ffbbb8082385f7e0d2a01dbbe10b0468d5", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_both_output_formats]": "0edf5077dcf07078e79531d0864b2e037a68b84ed6e1bf3d86515722cea98c1d", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_inline_datum,_refer-d1082570": "fed09cf963c18cf146e4b76e45a76ab8517e92bbe937f6eba6faefddd45169d1", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_long_inline_datum,_-1f681aaa": "46ca1f5850ea62e465758494f42d2970607ab9c34e36fece093d50f901c9bd69", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_multiple_correctly_-6545455a": "823ca0248d970428b1a5d0355d4613d52be19734084e195536ecf363b4691ed7", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_network_id_included-d9df16f9": "07975bcff0d8fd7d5277cb79fcc986a9d250dd4e78a13128c98912e4e83becc4", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_output_datum_hash]": "fed09cf963c18cf146e4b76e45a76ab8517e92bbe937f6eba6faefddd45169d1", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_output_datum_hash_a-84ad587a": "46ca1f5850ea62e465758494f42d2970607ab9c34e36fece093d50f901c9bd69", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_script_address_but_-b0da7209": "585cd801813486920555fdad9184439b3b9802f8eac82f7d95354f6a34fd6969", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_script_data_hash]": "a75c7275cd4f50c2cf086d84af7d10ffbbb8082385f7e0d2a01dbbe10b0468d5", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_token_minting]": "9016d7b40ae4612a3e0907999a35cb9f9cd4767de32c4b95c67ba4d7f8406c52", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_an_ordinary_input]": "5a20fc3692a0f398948ac869026d8ae313577495ad804ab3bd09638e0b5974b8", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_address_device-o-a33e6741": "a4ec018180fb251666cca02e2525d98e97fc510313e2aa44baa13fdf373f33bb", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_address_device-o-a6481374": "97c3bdfe30e901bd5b4938e4dc19ebfb788ef2b4166fd77aab99d1af1e6d102f", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_key_script_addre-d3366a63": "7aefc447debdae549773fe1e370695c9293102e9f730d95beb75a5d69fc51d53", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_device-owned_collater-8f38b4d7": "a1389ced8400ae5464f921d39bd388ee855de605343c71235097dd0731820db7", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_external_collateral_return]": "42eed639788adda40cb3b5134b97f02974db0fdc27b87a686d7855b5feaa80fc", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_output_datum_hash]": "d3bab830b543745d67656d0913f62f073e315293dffe54382024e4c9fda96b71", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_reference_input]": "641709e3e10fa91ce21803ba5a52cfc434cdd3578bcd962164bcb99d3a43d6da", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_credentials_giv-6a67c1eb": "178e9ba04a5ccbce4326a33bd11fe80b2c8d9e2d16287829a8c48ef8570def7e", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_credentials_giv-72ef969e": "185b086b4f5a2637dbfc1bb5033e3d7c2858713f308e00bbb61c7d4e5bd7e040", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_deregistration]": "dcc12f084e836ace643b6f503e60b003c88c419d27f483a11737a9e9c6250d17", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_deregistration_-78f5c748": "8c7a81bc9e9e95cd987b6e61036c95f64818b7c1f77c684aabf78297ca2a5ee0", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_registration_an-4da9385a": "2c4a8063b68f4d1c6b1b39f16cb39c9adc7f0b2176d39ed4e56c12b7129c21eb", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_registration_ce-46b0a250": "5c53c3396091ddf0f8a716f471e6c2740c1385a0a04085163299c1ceeeb89092", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_token_minting]": "0a625b690ba1db6794c4b7c45886cf8315798b2fed9e7121653659875bce8aca", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral]": "b69e40793e7ee2df7db1cede931da022fcf9aac5dc71774732c542745ed86450", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral_and_-3f0b305a": "38bc1a59a58e5d66e4fcfd0ec815765445ece013a158997778042417dcf236e7", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral_and_-c92d773b": "94178bb10492c182aa49e0f3c9defa06da9a4a9029bfc500438d2505a2ff29d8", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_without_script_data_hash_a-9590827f": "3dcc07313a80489e31e0615944cc196d0fcc8970578476b562b91c367e282b09", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate]": "a3cd44951bb897630bf0b38dcb4f8ae3366153ad4077b3dcb0f17afc72d39305", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-336f4a44": "a3cd44951bb897630bf0b38dcb4f8ae3366153ad4077b3dcb0f17afc72d39305", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-d3427614": "7f0b5327a83fa2f80c83beb131182000c2d20bbc18a563ea2e2bb4783f583119", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_with_zero_margin]": "f79ab687372b56b3a554af84ae69fdd56c4835cbdba79793b80e54a16de27798", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction]": "b588d1972aba821545fcf4b60c308fe945fa907f087e2db280433b0419156b22", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction_with_additional_wit-36ba8ce8": "231ea4e3ead93f6785985688a996772e6d9d73e008b16ad08aa2e077ef59af52", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction_with_required_signers]": "b775180796400c7e96abc5c8d07a937adc0b1506e21154fa8a6d2a1288df30e2", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_o-0c37e6dc": "7f01cc9d425d2074bd453a42827dfba113cf3c651528f21da15e712dcc05d579", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_o-7f1d12f6": "0847f341874654539fd7ef8d2251644db897669ed7afd44183599040078a198b", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_output]": "a75c7275cd4f50c2cf086d84af7d10ffbbb8082385f7e0d2a01dbbe10b0468d5", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_script_address_a-56fc16f7": "10f5a3304c468fe5eca232d508e427023d9276ff5f8576c1c5df5e263599bd20", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_enterprise_address_ch-15518a4c": "f722a2a9d9a92911063f262e8122896ef129b15b6e3e7bfbd7d1773eaeaf5890", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_pointer_address_change_output]": "1df3cf734d6342f74cde5b48d78e3a260be7dafd895c57cdf88154c9b6899d33", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_certificate_with_no_p-0bbad967": "eb632b495afa606d4eb03d0cd449859a659c5d40ad8f6ada7b33fd59ef163708", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_on_testnet]": "033d136f251737d3c3bd3e43d7aeed40e5c2af92266a99c17ce0ca45e23c3505", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction0]": "203e1cfccd5f40c0ca3eba2ab8812f37b72562a0ea8ca47085213c34e15ea8a7", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction1]": "4312df9c0b61cbf8e29efae866efdb58df2a339adeffde75ea72e01259a4b4bb", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_auxiliary_data_hash]": "a75c7275cd4f50c2cf086d84af7d10ffbbb8082385f7e0d2a01dbbe10b0468d5", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_p-3c7243e1": "137fff528553be9c8c12b08865441f954d7423b96b5fe5b5850cf3fbb86e2aa8", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_s-20438873": "28ed27584c289daba9ebcb0b5cfa37434fa7482877b87dd5b17e971bb0c22db5", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip15_registration]": "399d21207fd15392b2b1fb698eb1ca23330e14cc400910e8169780dbcec22b67", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip36_registration_and_exter-a66e1a50": "fdc2b395cbaf01587842304f4554246eb8cf6f39cb3960d34c8aec9a382f5328", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip36_registration_and_exter-b18e613a": "d92fb15bdaa12677aeb842ff231775f28da91a5e8afda89ff058f1997e2243be", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip36_registration_and_non-p-26df89e6": "471836d88115c43747585657a116db9549fe77ccffebdce84b3e9c06c09fd7c4", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip36_registration_and_other-6a6c5c8d": "1c83aa4ac945a5e425d585a041594324c8b11d28d34a86dc51d9a77ce9a35a51", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_cip36_registration_and_votin-1b01d6f0": "bd44276fddeaf4511fb7241a65fad11012088c168d26ebe314fc1e0c204edf1a", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_everything_set_except_pool_r-1e1ef130": "59d1ebd457907515487884787e3d559a0eaca6ddce511ba472d7096ba4fe38c8", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration]": "5a1017f6f80d4d592d53faba1998ac53a74d44cfa8697a030cd98a7acbc6913f", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_and_withdrawal]": "5a1017f6f80d4d592d53faba1998ac53a74d44cfa8697a030cd98a7acbc6913f", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_with_ac-9ca046f0": "c4286c5c8766d71233f72a82a60759e5ea89550f388c453800e7ac34da118cfd", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_and_stake-3fdfc583": "7a79ddbb46eb4e4b209186bec2ac4a31342dbaafd3bd6fa5f66f9a9ed2c54341", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_certifica-e7bd462a": "7710d01e61f8d213d4cb6c667160363fde00e05c10fcffa976249e42cd2e9ddd", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_certificate]": "4369f599c617e3a7d83080c9c2057cda30648287194590ebe43f0d80c8e8b300", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_ttl_equal_to_0]": "f5d2d5e4b29e094268b485cfc59d6faecbf09b72bc2252e14325d7e4a53beda6", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_validity_interval_start_equal_to_0]": "08872494c7b3422048efd15aa0fb136fbc9742a3229b5d129a023add1bc0751c", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[1854_change_output_path_in_ordinary_tr-805f9bd0": "550bcabd8347dd8004aa0662ed213ddc8a463111474e7c7ceaf2e912fa9b958d", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[1854_input_path_in_ordinary_transaction]": "aa56a2b17dde608da1cfe48a37b960b418599c22c9b6d27d36696045ff648325", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[additional_witness_requests_in_ordinar-9c4f94c0": "aa56a2b17dde608da1cfe48a37b960b418599c22c9b6d27d36696045ff648325", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[all_tx_inputs_must_be_external_(without_path)]": "91ab9cffa65b30d837b796d4c460eb60e690a2d9f4157980eea83002830a99b4", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[1854_input_path_in_ordinary_transaction]": "07975bcff0d8fd7d5277cb79fcc986a9d250dd4e78a13128c98912e4e83becc4", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[additional_witness_requests_in_ordinar-9c4f94c0": "07975bcff0d8fd7d5277cb79fcc986a9d250dd4e78a13128c98912e4e83becc4", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[all_tx_inputs_must_be_external_(without_path)]": "8433673d18ec3f32bdafa4df6e8936a03831354ee91b597cbabf0cecbb7eab91", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[asset_names_in_mint_token_group_in_wrong_order]": "bc4b43a68542fd8426aa7e9e6b23f11baf5d188ee9c829dcc3aadfe858e1f144", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[asset_names_in_multiasset_token_group_-7c1351bc": "fd9cd194b15547a61415d0b1631831c20ca2c806691f8a4257ab21fdd9235414", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[auxiliary_data_hash_has_incorrect_length]": "0aafa2ecd08c24a6192e557a0e77e5b0abcbd4bf7e7b44af7feebfa1114e21a3", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[both_datum_hash_and_inline_datum_present]": "550bcabd8347dd8004aa0662ed213ddc8a463111474e7c7ceaf2e912fa9b958d", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_input_accoun-863fee7d": "1ce89a6ac2e9d2029716cd6decc6dac235a448cd686d40c189b7097857fa43d6", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_output_accou-5a99fb35": "104b3171acc984d69bfcaa00aa626e24f4d0d7115d5fbb84fd56fbc152e0a57d", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_input_accoun-863fee7d": "2e4d092a9e9348ee51e3527a9b81844e25bb4bca822ad2b817021d66b54357c6", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_output_accou-5a99fb35": "5043a77c9407a858b905aa2ff2d5ed9f2428519b529262b74feadc13f75c31a2", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_both_path_and_key_hash]": "0aafa2ecd08c24a6192e557a0e77e5b0abcbd4bf7e7b44af7feebfa1114e21a3", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_both_path_and_script_hash]": "0aafa2ecd08c24a6192e557a0e77e5b0abcbd4bf7e7b44af7feebfa1114e21a3", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_invalid_pool_size]": "0aafa2ecd08c24a6192e557a0e77e5b0abcbd4bf7e7b44af7feebfa1114e21a3", @@ -2745,19 +2745,19 @@ "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_withdrawal]": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[fee_is_too_high]": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[inline_datum_present_in_output_with_le-43c025ef": "550bcabd8347dd8004aa0662ed213ddc8a463111474e7c7ceaf2e912fa9b958d", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_change_output_account_mismatch]": "8e6994a409ff8eed01a3abeed6f0facb0d02f634329bc6ccf15b2ade6ac080f4", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_stake_deregistration_certifi-b3383de2": "d4f60043adf9adbd20c3a7c8fcf32b3fe7eab4c1ea2731844061b15dd42149bf", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_withdrawal_account_mismatch]": "5f533f2c7436e664544cb012aec86327bbed6c64c3071983ec20f591151e9220", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_change_output_account_mismatch]": "64e61dae2757cf9f237493e454ae527c77a0a108a1fe9d92cdcc561367a7be06", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_stake_deregistration_certifi-b3383de2": "e4af7633d3100cd47432f2f12bf4c23448941d0aa306f0b7b2ed36aa281ba833", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_withdrawal_account_mismatch]": "a75c7275cd4f50c2cf086d84af7d10ffbbb8082385f7e0d2a01dbbe10b0468d5", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_prev_hash_has_incorrect_length]": "550bcabd8347dd8004aa0662ed213ddc8a463111474e7c7ceaf2e912fa9b958d", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[invalid_pool_id]": "787846650867f1ba3b58b138efb899b9de030dc07b114e1b448c1c1fac3d1ead", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[mainnet_protocol_magic_with_testnet_network_id]": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[mainnet_transaction_with_testnet_output]": "550bcabd8347dd8004aa0662ed213ddc8a463111474e7c7ceaf2e912fa9b958d", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[margin_higher_than_1]": "787846650867f1ba3b58b138efb899b9de030dc07b114e1b448c1c1fac3d1ead", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[missing_owner_with_path]": "74ae7a52f951aa39644f2c649ceacfc8574c09cb8cb9df8a741263170d18b9da", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_1852_multisi-b7679330": "a8afd3eb86d9a0078948994e050f44e8bb2d6e319871fe42bf656247f1b808d3", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[missing_owner_with_path]": "8595d86f024902af417cf61d79752361f991e83dcaa06653ccc3e3a5bfe1b03e", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_1852_multisi-b7679330": "d408b986aa66f53990851d09d2c1db4ca8714640301c35aa8d96c3552f956d41", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_a_collateral_input]": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_collateral_return]": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_long_token_m-9fb3cfe5": "a6dc4b542f556b61d2fca8865f953a78aec7c4b5c8ae6f320e542aec474985c4", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_long_token_m-9fb3cfe5": "a2a713fcc9f2c90836a04c0b5ce40b23294d3d22a330e9cb879e27e1ec6c5914", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_output_conta-e3b36436": "04ae909cb1220b008e46f25b0f3131dd27ee97defab647744f412ac6e1c4d3c4", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_reference_input]": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_repeated_withdrawal]": "20e917d8ec872e7461b33dc59e9b77c8dc0c076dfcde4a864bdfb30a111fa0af", @@ -2771,10 +2771,10 @@ "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_withdrawal_c-9f7e1700": "20e917d8ec872e7461b33dc59e9b77c8dc0c076dfcde4a864bdfb30a111fa0af", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_withdrawal_c-e98b1f5c": "20e917d8ec872e7461b33dc59e9b77c8dc0c076dfcde4a864bdfb30a111fa0af", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_wthdrawal_ad-3291ee9e": "20e917d8ec872e7461b33dc59e9b77c8dc0c076dfcde4a864bdfb30a111fa0af", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_without_minting_b-da5ba399": "a8afd3eb86d9a0078948994e050f44e8bb2d6e319871fe42bf656247f1b808d3", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_long_token_m-350c65f4": "a7c734847a143b90916a15640eeccd10145b3273f93872cba56ead4856c18af2", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_token_mintin-bc56f145": "a59001cf6282df59f0b0e347727b9622c9347a0fffa37a3afd428422879b442a", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_without_token_min-a128d577": "265bf0f63c86bbeedc98543ecf2b3c8dbb2329c4565da81a9b9c0f253a978292", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_without_minting_b-da5ba399": "d408b986aa66f53990851d09d2c1db4ca8714640301c35aa8d96c3552f956d41", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_long_token_m-350c65f4": "dd77a90ed14ced39ddb02ba3e9a2e61d960a451e7dc89585374e5b7388d6e9d4", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_token_mintin-bc56f145": "e0d54041a87515bb787760048febf334227b8839bbe78fc6564acfefa38f502b", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_without_token_min-a128d577": "11b2bd7e0bff71be8c9c271770b59cd6b8c02d0b0500b58ebd8e61ca44768491", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_has_invalid_crc]": "550bcabd8347dd8004aa0662ed213ddc8a463111474e7c7ceaf2e912fa9b958d", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_a_valid_cbor_but_inv-ea3da215": "550bcabd8347dd8004aa0662ed213ddc8a463111474e7c7ceaf2e912fa9b958d", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_invalid_cbor]": "550bcabd8347dd8004aa0662ed213ddc8a463111474e7c7ceaf2e912fa9b958d", @@ -2796,12 +2796,12 @@ "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_policyid_in_multiasset_output]": "62b24ee514295ce38730bcfd4edc90b0281c9a5c5a3fc06ecf2df785a64f38a0", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[required_signer_with_both_key_path_and-7d9a3c59": "0c3bd4ec49def1573df016b7830e5a9b7c984c58c25406054e74482769f07659", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-02b129f8": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-11c8b442": "2fcf07992be51ca62870f53eabb3a00085a1d9faafb4745e27b97fac7910d4d1", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-11c8b442": "a3cd44951bb897630bf0b38dcb4f8ae3366153ad4077b3dcb0f17afc72d39305", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-2d1899d5": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-3f8170f6": "2fcf07992be51ca62870f53eabb3a00085a1d9faafb4745e27b97fac7910d4d1", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-3f8170f6": "a3cd44951bb897630bf0b38dcb4f8ae3366153ad4077b3dcb0f17afc72d39305", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-60961d51": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-790fc948": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-883e81d5": "a57cd33caccf0ae5ce59aecbc9161c54940d239b5594205a8de77f16cf90285c", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-883e81d5": "dec3fdd0efb3f3e163134a1043b5357fe686ebb9013ba4b9c14be1dd9164d434", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-9ae6620c": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-d0eba163": "c7cb2b5ea28159fdd7f2937e49f79628d3b87463a7e34c4785ec676996622c2c", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-e7a533e7": "787846650867f1ba3b58b138efb899b9de030dc07b114e1b448c1c1fac3d1ead", @@ -2818,7 +2818,7 @@ "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[transaction_with_both_auxiliary_data_b-6f1ead27": "152476af9b8a7f96548ae0fe83c9d7a6344b570f72a75045134ed6dac36fe01d", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[transaction_with_both_vote_public_key_-3e8cccb4": "152476af9b8a7f96548ae0fe83c9d7a6344b570f72a75045134ed6dac36fe01d", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[transaction_with_cvote_registration_co-2dcb1cea": "152476af9b8a7f96548ae0fe83c9d7a6344b570f72a75045134ed6dac36fe01d", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[two_owners_with_path]": "25a0d4cc699e053894ea48313d640b7b5ddfb6212c2472d8aa0f3a5203a3ada1", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[two_owners_with_path]": "a0725ff6de673047101040698cd855af16c8a8fa68f9a67c50dd23452d89f48a", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[unsupported_address_type]": "550bcabd8347dd8004aa0662ed213ddc8a463111474e7c7ceaf2e912fa9b958d", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[with_multisig_transaction_signing_mode]": "fe52c0528b987d5901cd736cb3a6a127285b2106719fae16be1a808729de865a", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[with_ordinary_transaction_signing_mode]": "152476af9b8a7f96548ae0fe83c9d7a6344b570f72a75045134ed6dac36fe01d", @@ -2830,56 +2830,56 @@ "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_multisig_path]": "0aafa2ecd08c24a6192e557a0e77e5b0abcbd4bf7e7b44af7feebfa1114e21a3", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_non_staking_path]": "0aafa2ecd08c24a6192e557a0e77e5b0abcbd4bf7e7b44af7feebfa1114e21a3", "TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_script_hash]": "0aafa2ecd08c24a6192e557a0e77e5b0abcbd4bf7e7b44af7feebfa1114e21a3", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[mainnet_transaction_without_change]": "15190c831ee28d1b7ef4d085ed13d7d87f4cb30bd524eca6971d29f0d350f05c", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[multisig_transaction_with_a_requ-c2fba589": "a867ddf62f13f0d05bc10537fc72427dfb7c7f27756989ff5e361295042ca508", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_a_requ-9728607e": "709176a636ebffe086623ecff3ac22daefe34dc6f6945382c3761296d694f281", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_long_i-708443f3": "f1afa539bf9d35ce65db31a45caab16f715f8bd8cc389af8a4b6436008a50a93", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_output-9ba7352d": "3acd47bff3552e81c1a9a79eb8b279cf4f42e42d6b00b7d1e2ab3ca329d7c574", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_reference_input]": "117f9de97eb0b30c28901f8b318df76466c37fc42c7e349751d9430d4622ad9f", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_total_co-e846c221": "e3f2d4698da89744b472835c862e77fad5e7104d985b7370b7a4794d6d88a196", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_cip36_registrat-b9111c27": "b7a7d6253a685de469ee50ccca6e09d76f0211c634f1f45b825b311de6edaa79", -"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_stake_deregistr-6e84da2f": "3832338b1327a8c3939a86655283ae5cb69305aed9cc0c37dd2fe5df9deaf9fe", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[mainnet_transaction_without_change]": "468690086dda091c024e7bac1c6bad638b4dc9c7c90aa2e89bcc3d1910167b1c", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[multisig_transaction_with_a_requ-c2fba589": "be409a32f2a558fae9dae332264053166f0d3916ebfdbaecf80cc820c90a6a0c", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_a_requ-9728607e": "31887b37ed19d9b227dfb19849f8de1ac2866682822b5bafeb79298253990657", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_long_i-708443f3": "64998c975c9968e210feae5897bc65a495d84783781f49a85d95ffc73e15fd9d", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_output-9ba7352d": "333453ec30e9813548597d8d7e72a1b9ba8dc05e621ab45d06bf49f7ab344688", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_reference_input]": "9da84d70245a45b81e4cd81e1fc21e794b62ef3d0e706a90b83ada4adb228099", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_total_co-e846c221": "351ab9175b3a7e1cc69f26ab8f1ca6d8a986207bee47bbe49b8ee082fc431954", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_cip36_registrat-b9111c27": "01081fec338beec65935b8de7c418ba28ff442b3fe446079ac4b6242eec592da", +"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_stake_deregistr-6e84da2f": "d50c6db652e68f873f09882d732cc98e1901092e128d529e5c5bfa6d04fc7691", "TT_eos-test_get_public_key.py::test_eos_get_public_key": "6664c46f17816199cd89e6acb7e49233e66800ac6ba1993aac79157378de8476", -"TT_eos-test_signtx.py::test_eos_signtx_buyram": "56932dff31fd7ab2bbc9545ba1a9b63a81b356e8afedd9fa4b5d34b339e59743", -"TT_eos-test_signtx.py::test_eos_signtx_buyrambytes": "4226b89bd9ee803fff1dddea29b7e1c99422e7d954e3db2da2ea98804ee4c347", -"TT_eos-test_signtx.py::test_eos_signtx_delegate": "0e383765f07074391f142d551090fe0419fd053f6ff1297e9fb5f35114fc9dda", -"TT_eos-test_signtx.py::test_eos_signtx_deleteauth": "b4fc8b3bdd970c355a766521f28f472d5cac7efd48df5ac2dc934a4c85f80467", -"TT_eos-test_signtx.py::test_eos_signtx_linkauth": "0418c7e7441dc7cae5689cccc43336b12f96858dcad076d3c032f22a676536c4", -"TT_eos-test_signtx.py::test_eos_signtx_newaccount": "9acc7dc9ac922b4b550ad8e005cbce540ef8cd8c5cc6f35a8832657dc06bb750", -"TT_eos-test_signtx.py::test_eos_signtx_refund": "749071dbbde504f77b2855a47fb8b91c322f91af3caaf076f91a2851254d465a", -"TT_eos-test_signtx.py::test_eos_signtx_sellram": "0ce5a3c0edd3a8fce9c065ad2bfb744f61eb870b7fbe7e1e6e3c1c00e7b3984f", -"TT_eos-test_signtx.py::test_eos_signtx_setcontract": "08ec6ad6cf1d3f5ff37a6502b05c27738e96d26235b3b959fd510eb1ea0841fb", -"TT_eos-test_signtx.py::test_eos_signtx_transfer_token[False]": "248cff4fe84d11a5ddb0b7806134c947ca4e27ced44fd0722469ff2074ad495b", -"TT_eos-test_signtx.py::test_eos_signtx_transfer_token[True]": "248cff4fe84d11a5ddb0b7806134c947ca4e27ced44fd0722469ff2074ad495b", -"TT_eos-test_signtx.py::test_eos_signtx_undelegate": "fbca9810780a27e1a69372f74cb0131ad788f81edb4b9c3de2a72abec56d2ed5", -"TT_eos-test_signtx.py::test_eos_signtx_unknown": "c9be160e2f259cf586b133669b1e24386d407d5f9a3d2ba34de6161ce6591bc6", -"TT_eos-test_signtx.py::test_eos_signtx_unlinkauth": "299aaccb124c4b7ec38500356ed947549924b1dc76bf07ff3dca8ec5f0d6caf3", -"TT_eos-test_signtx.py::test_eos_signtx_updateauth": "e087123155fbcbd6e69c43b3a1c3d9e7da14b2872c83d8d87fbdc1506e26e182", -"TT_eos-test_signtx.py::test_eos_signtx_vote": "21778ec7245c1503a2478b6d7aab29a64df4d6401954deb87107bfe056b05580", -"TT_eos-test_signtx.py::test_eos_signtx_vote_proxy": "8c6fdb49f4edc39a8340d52c9a0a15de7f10aa63b45591617ac0603aa44a2a1d", -"TT_ethereum-test_definitions.py::test_builtin": "775fb041bf7dac8758c006a5587b0fe3d55e7765e15c0f04d4554dd6afc5880b", -"TT_ethereum-test_definitions.py::test_builtin_token": "3ae3c53e17817022e307c1bf414b48cf0ecfdb5addc2d690a6c9af653757ca62", -"TT_ethereum-test_definitions.py::test_chain_id_allowed": "6ee123ca79c356f95af6d92553ca438d307a5cca397aada41b961e08f392cbac", +"TT_eos-test_signtx.py::test_eos_signtx_buyram": "714d9260fd979223e6a7193d8ff6f984b742f6c55fc0a5b021fa7ebf8b729186", +"TT_eos-test_signtx.py::test_eos_signtx_buyrambytes": "1499ef6a40023ee5fcf9b8e514bdbea5668d6acc5af84eb37c95dd0a3272f344", +"TT_eos-test_signtx.py::test_eos_signtx_delegate": "ce347d75c4737672ac191990d892a12b14faf39c86a796b27a97edee8183036a", +"TT_eos-test_signtx.py::test_eos_signtx_deleteauth": "1dd58b4ac73e8aa9844554224da2b732ddee5aa3e3ff4c566799356ec69ec455", +"TT_eos-test_signtx.py::test_eos_signtx_linkauth": "397a0aa176bb746b98d07773c607ad8e62496de41a5044f099c51db5b881d1aa", +"TT_eos-test_signtx.py::test_eos_signtx_newaccount": "788c076d496a963f0bcdfdd37fc35c475237a5cd4da226edf0668e3ea23dac59", +"TT_eos-test_signtx.py::test_eos_signtx_refund": "ef9f2347296d10f62e61ff1910a907ede3d0531dcf1a32bcaaf504f2e9a8e874", +"TT_eos-test_signtx.py::test_eos_signtx_sellram": "995a373eb66c705d3a3a57d8061d96c2fa4f87255d87e796e4e50e5dfdbc9cd3", +"TT_eos-test_signtx.py::test_eos_signtx_setcontract": "f60526410ebab0407826ee3ee73fa8a439fac538fe16c0b9d88317d1b16a397b", +"TT_eos-test_signtx.py::test_eos_signtx_transfer_token[False]": "c57c407dd3147165cbd231a5557912040ee143eda9e75c1876270cb6155901dd", +"TT_eos-test_signtx.py::test_eos_signtx_transfer_token[True]": "c57c407dd3147165cbd231a5557912040ee143eda9e75c1876270cb6155901dd", +"TT_eos-test_signtx.py::test_eos_signtx_undelegate": "cffb6559e0675ebc885e9feb16494636d01c9651ee5a8ec94f316533cc161e88", +"TT_eos-test_signtx.py::test_eos_signtx_unknown": "91423278314e0a0c6cf069906d38720faefde03421e78f7a0b13b2bf3f8ffe91", +"TT_eos-test_signtx.py::test_eos_signtx_unlinkauth": "85c19316319c070cf39b952e2b1fe50cd95f59e563926985d4503bf67322887e", +"TT_eos-test_signtx.py::test_eos_signtx_updateauth": "ac173799bcd8d981f778e273f3a6ea092677d7b733b8ff97f301e77b8b1eb647", +"TT_eos-test_signtx.py::test_eos_signtx_vote": "c73e5ac4bdc2fedef12bae697b76b7e2fced28ce9c11d2cb3d98df9488d03bf9", +"TT_eos-test_signtx.py::test_eos_signtx_vote_proxy": "fa511b4c78e1d926cbebdeb010b3c71ff4c3d3adb8558a4439e1d4506214d418", +"TT_ethereum-test_definitions.py::test_builtin": "c0da4f04e898db54461b5e8a5f29fc16b91f2c5f620d1dee2e19611a4400cd0f", +"TT_ethereum-test_definitions.py::test_builtin_token": "94ecde61300f6f5257ebdcb3b62cc7f901c32108497878c1e9ef9104506a5f62", +"TT_ethereum-test_definitions.py::test_chain_id_allowed": "6370b3457fba40de0120fbb1bfc6554ff76e6f50f86a8e91f45d96ea4209c5ed", "TT_ethereum-test_definitions.py::test_chain_id_mismatch": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_ethereum-test_definitions.py::test_definition_does_not_override_builtin": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_ethereum-test_definitions.py::test_external_chain_token_mismatch": "79db365a25cb6758d9dac916ebc53fbb7670c8db6f75ea1a2d7ae0aa92128801", -"TT_ethereum-test_definitions.py::test_external_chain_token_ok": "fca2e1a0a6bea8f16446eb44993e386b2dc76f26592d1bb45746e293d4ac48ef", -"TT_ethereum-test_definitions.py::test_external_chain_without_token": "1e972f48f8213f0b9269dfc8b38fbc9c8b14161ac33bd24ec375e14ed041fa35", -"TT_ethereum-test_definitions.py::test_external_token": "c20cf47402b90931da7eafab54732e35ae95efef4e754349969c04bf27442cc0", +"TT_ethereum-test_definitions.py::test_external_chain_token_mismatch": "aa3663738e87a951416eb07a96373cdab9e1dc78b4a81d38c90cce4a2c47e27e", +"TT_ethereum-test_definitions.py::test_external_chain_token_ok": "af0d29cc411fe6a4f8b9840250c2435f85b29962e2a8929ce18fcba36674fc4e", +"TT_ethereum-test_definitions.py::test_external_chain_without_token": "8340e2f269d4a0a96c7bb0d9b25aff90241e24db218633d8711223b738ab130d", +"TT_ethereum-test_definitions.py::test_external_token": "179f43de25b6a293ff255b4f9e1d09d78df1a928319d9b5789931b7bb7371a61", "TT_ethereum-test_definitions.py::test_method_builtin[_call_getaddress]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_ethereum-test_definitions.py::test_method_builtin[_call_sign_typed_data]": "e0bc3ed06cc87c9ef37e6419ee81c1d0763b8825007a38a5009785f0fdcba43c", -"TT_ethereum-test_definitions.py::test_method_builtin[_call_signmessage]": "b1a9fa6d9fb8d618bc4bc5217db08f47afd3ab05dd7e40d0c1dc937d901b9299", +"TT_ethereum-test_definitions.py::test_method_builtin[_call_sign_typed_data]": "13438d0a9bb21b8d891792bdd119265ec2956c046ecb047be746c20a45872b8a", +"TT_ethereum-test_definitions.py::test_method_builtin[_call_signmessage]": "9f9f78467605a33d51a717609b4597cb700e984fa4fabf0155377195d4a89032", "TT_ethereum-test_definitions.py::test_method_def_missing[_call_getaddress]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_ethereum-test_definitions.py::test_method_def_missing[_call_sign_typed_data]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_ethereum-test_definitions.py::test_method_def_missing[_call_signmessage]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_ethereum-test_definitions.py::test_method_external[_call_getaddress]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_ethereum-test_definitions.py::test_method_external[_call_sign_typed_data]": "48b1f3405b717278c0b6855a89a2025fd9b89649ce2de1e2569648c5262f7968", -"TT_ethereum-test_definitions.py::test_method_external[_call_signmessage]": "7f5c8d6e50016023bb33c703a156e3afa333da18a7c26a1afbffdd3df82400db", +"TT_ethereum-test_definitions.py::test_method_external[_call_sign_typed_data]": "3f0c9e28779aa87144907f416b2871a19988c36592594b8592c99a989096393e", +"TT_ethereum-test_definitions.py::test_method_external[_call_signmessage]": "434e46713b1630154b7920be087ebd5461694d45dc9ccb1a86575e233721b9b0", "TT_ethereum-test_definitions.py::test_method_external_mismatch[_call_getaddress]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_ethereum-test_definitions.py::test_method_external_mismatch[_call_sign_typed_data]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_ethereum-test_definitions.py::test_method_external_mismatch[_call_signmessage]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_ethereum-test_definitions.py::test_slip44_disallowed": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_ethereum-test_definitions.py::test_slip44_external": "fe1ef30cfcf96e2ce29648bba5c489def95ad43bdb6e53b72be2b9cd5c47132c", +"TT_ethereum-test_definitions.py::test_slip44_external": "1be87dc3c1f639d9e0507bcd3836f2d8e36ceafb0500fc0c78e74b70541c82e7", "TT_ethereum-test_definitions.py::test_slip44_external_disallowed": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_ethereum-test_definitions_bad.py::test_bad_prefix": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_ethereum-test_definitions_bad.py::test_bad_proof": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", @@ -2912,100 +2912,100 @@ "TT_ethereum-test_getpublickey.py::test_ethereum_getpublickey[parameters1-result1]": "3b6c5cf5c6512f1491b77f895d21d2f850f774c2b9d67c1b76eaeb2892e95e6b", "TT_ethereum-test_getpublickey.py::test_ethereum_getpublickey[parameters2-result2]": "3b6c5cf5c6512f1491b77f895d21d2f850f774c2b9d67c1b76eaeb2892e95e6b", "TT_ethereum-test_getpublickey.py::test_slip25_disallowed": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[array_of_structs]": "e7cb9a69db58cd142f478f518422b9fd68e869ff82f1f39b633fcde51e0935b9", -"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[bare_minimum]": "b73266d0519cf18b465b4913be54043a84dd209fea10ed05d6bd5638b7ee3915", -"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[basic_data]": "9c91d50ce53aace57289caa07752234ecbdd50243f076b64947dec8525af663c", -"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[complex_data]": "0c888021039c9271197575dd6da09ff1188769b083e24a2f9267fd8984adf3f5", -"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[full_domain_empty_message]": "82df966260e63e52a0f23e32995a1a14ca99464e407b48a65752fef6e236401e", -"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[injective_testcase]": "e08c9bc81bc0de065e7b63af570a2e40a4b4e0d0744f21460e7cce1e00e40504", -"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[struct_list_non_v4]": "9c91d50ce53aace57289caa07752234ecbdd50243f076b64947dec8525af663c", -"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[struct_list_v4]": "9c91d50ce53aace57289caa07752234ecbdd50243f076b64947dec8525af663c", -"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[structs_arrays_v4]": "9c91d50ce53aace57289caa07752234ecbdd50243f076b64947dec8525af663c", +"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[array_of_structs]": "41d9d8d526f10973fe9636e202096c2b3db1a1556618887cdd0c4388f77e8d6e", +"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[bare_minimum]": "dadfc5ccfcea0e9e15dea51be808e83fc7f1e63dc51c99cf82bc2c35e25b03ed", +"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[basic_data]": "2b0c138165ce995f2004113a957b1e85126ae4137ac91b91c33e9fabd5e937a7", +"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[complex_data]": "a932390009168ca238432b5e837cc500b75393636d7f2a4efcb0576464318a0a", +"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[full_domain_empty_message]": "917f177bd6eb6f2c7b91b552edf84b13f73583c61eae48bfba25b966076c4750", +"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[injective_testcase]": "03e8d512bcbe056151733e02bf5b671d2bf708479db6a3be54d5ef8a66bef61c", +"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[struct_list_non_v4]": "2b0c138165ce995f2004113a957b1e85126ae4137ac91b91c33e9fabd5e937a7", +"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[struct_list_v4]": "2b0c138165ce995f2004113a957b1e85126ae4137ac91b91c33e9fabd5e937a7", +"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[structs_arrays_v4]": "2b0c138165ce995f2004113a957b1e85126ae4137ac91b91c33e9fabd5e937a7", "TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_cancel": "946b7e16c07550e996a7b550f4936c93e0f305539e44c6d0a1f8d6e2b8a54ce9", -"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_show_more_button": "b06c11fb99d319ba1611e208db9d9b8dd16e446a7a333c24877cab3a03e1fff2", -"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters0-result0]": "fcf62be361625e8dbabbad5525c0b48741a3a272dd6baba9a4dec243b5e97db7", -"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters1-result1]": "7b88e73a534ebd1a8b90f3e2e5d36dbb69dec35e6a8a2b5c80afa112fbfc0d81", -"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters2-result2]": "9ea085a6dfe2f2f388f8c51194cab414815bdb77eae5684960f26b761d80a48b", -"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters3-result3]": "2244ed0f9425e7b11504fff45a02959c343364c826e8fc98ab58f3b1e779d3fa", -"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters4-result4]": "280b9b5f2a68b505222b09ceb65ae5b822c31b8c623e7442e2eca473a7f2efca", -"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters5-result5]": "92eab1ca7167e0c519926188762e7525031eeba1b16b033531b03b7e79ea5c13", -"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters6-result6]": "afaa72a064455353a4624033847df581b549a87e4b940dd0e98f5a42013ea689", -"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters7-result7]": "9f33ec9096ccfd204abe1c7f58b78ac75477eb7bafd61492e3b01eacfabefcbc", -"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters8-result8]": "0841b2aa1221e7103726384cd298630c419a599a44af123c24caeb2b58e888da", +"TT_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_show_more_button": "ca335555219c02ab3bf829c018e893ed3227792043d996459aa9d6a96b0c9d61", +"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters0-result0]": "06e9d414b00abe569196dad205a41f9c1bccdcb77892e692716e2126d8bfa569", +"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters1-result1]": "4456700d8527570c7b73cf46fc69b3c8abe0370cecca027696ecef1f28ddbed6", +"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters2-result2]": "77c3f915485221d6ab2ea89eaf18e4c9db754d66a69a203f6913bb471c285e57", +"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters3-result3]": "7c04f107a9dff9d16e47329eb296a248b2952548130f549954961b662f29131c", +"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters4-result4]": "6e00dd019f98a528de814065ca679db2a4ee54a5358ea765702d281293c626d4", +"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters5-result5]": "62550d4feeb47f1039b47030b2bd88ddaf5b8bbee666c8e244f1ffad29e75049", +"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters6-result6]": "9d945f83dde0855a84f782ef21342070d4ac2c6042588cea9c47639b94f25bfe", +"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters7-result7]": "50bacf21290a352fd0c22ced3f09e887e6a00c4501f8e5e4bfcfa3a150fec615", +"TT_ethereum-test_sign_verify_message.py::test_signmessage[parameters8-result8]": "978cb33b260cfb11a4eff1ad9fa515e8179aec72e508ad89e3436b6c58658292", "TT_ethereum-test_sign_verify_message.py::test_verify[parameters0-result0]": "722cac3140294153823df53852bcfb0a57906e5d4013baa9139eef0c09ef24a5", -"TT_ethereum-test_sign_verify_message.py::test_verify[parameters1-result1]": "00a91ba6aec77160d92c91bcb89ec264e568f0a20f470f7998b3abe25bc10257", +"TT_ethereum-test_sign_verify_message.py::test_verify[parameters1-result1]": "9b9b0b623491620cb24df84fe0e3ca5c0963d837509760dfaadb951cd746f678", "TT_ethereum-test_sign_verify_message.py::test_verify[parameters2-result2]": "cb703c8a7d3e32801a03b8b5e40f1ede5a002a92dd76faf07532a2f441e01aae", "TT_ethereum-test_sign_verify_message.py::test_verify[parameters3-result3]": "d2ab773f54dc8b3819ddb9e8cd708d1118393faf4a7a1833161f94dc902c701a", "TT_ethereum-test_sign_verify_message.py::test_verify[parameters4-result4]": "0f79f10e8152b78f8bb813471675b576bc743784e8a44055e7ebd7844fcf1ff9", -"TT_ethereum-test_sign_verify_message.py::test_verify[parameters5-result5]": "90cfa7f7316b6c4f56750c986bd2a098372f6b5a668475fd4d306f8907199413", -"TT_ethereum-test_sign_verify_message.py::test_verify[parameters6-result6]": "eebe68d7cc910f0ae6d3833002c2ab603d7648b59724869a63741d5f7acb996d", -"TT_ethereum-test_sign_verify_message.py::test_verify[parameters7-result7]": "3e27a00452b0eddd5b748fa7f2e263d4b173fd9ccead13548e9d02c4bb58d6f0", +"TT_ethereum-test_sign_verify_message.py::test_verify[parameters5-result5]": "ae81e1ff1f5776422944187a422142fcbb83f07a5e3bef42c6db752cf6a2c5d5", +"TT_ethereum-test_sign_verify_message.py::test_verify[parameters6-result6]": "171614ecbeae478d995a7402b6853b33d8970e8fbe1570c630003a568c0846a7", +"TT_ethereum-test_sign_verify_message.py::test_verify[parameters7-result7]": "0849ed619428ada8a94b47a66d160436047e0503b5f82ee874976c54590a462d", "TT_ethereum-test_sign_verify_message.py::test_verify_invalid": "722cac3140294153823df53852bcfb0a57906e5d4013baa9139eef0c09ef24a5", -"TT_ethereum-test_signtx.py::test_data_streaming": "1bfeef169da1faa5ada6b987abfc8a6eb2e4aa599601058e7f4f757af7a02038", +"TT_ethereum-test_signtx.py::test_data_streaming": "9a89cb6f1a61c69a35a7c5f53239d5ffce3ff7bc07a2a08f67266ebd753de3f7", "TT_ethereum-test_signtx.py::test_sanity_checks": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_ethereum-test_signtx.py::test_sanity_checks_eip1559": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_ethereum-test_signtx.py::test_signtx[False-Auxilium]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[False-ETC]": "2fce25b9e71dad6c52f68bf0cd8f2d17e73e38730f1e3bfe73903e41bff46080", -"TT_ethereum-test_signtx.py::test_signtx[False-Ethereum]": "9c0f1fda0416c2d37643bb18dcdcbbf9149e2215227aeef4df2d797112d40b4a", -"TT_ethereum-test_signtx.py::test_signtx[False-Ledger Live legacy path0]": "3acfd7fedae9147e9e79dace2c2defd0f35ed064b0443939e2b308f7f7f5e05e", -"TT_ethereum-test_signtx.py::test_signtx[False-Ledger Live legacy path1]": "9c0f1fda0416c2d37643bb18dcdcbbf9149e2215227aeef4df2d797112d40b4a", -"TT_ethereum-test_signtx.py::test_signtx[False-Palm]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[False-Pirl]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[False-Rinkeby]": "2bcc5752d2d5ce8c6dd694761cd4b0a1ce34cdc3266d98e30a85f3201a78edf3", -"TT_ethereum-test_signtx.py::test_signtx[False-Ropsten]": "2bcc5752d2d5ce8c6dd694761cd4b0a1ce34cdc3266d98e30a85f3201a78edf3", -"TT_ethereum-test_signtx.py::test_signtx[False-Unknown_chain_id_eth_path]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[False-Unknown_chain_id_testnet_path]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[False-data_1]": "fba78bb1969a3207a8e4342db521fe37c2d2b705070d333661c7aece3f46fff4", -"TT_ethereum-test_signtx.py::test_signtx[False-data_2_bigdata]": "eca03057e956c37de912f1da6ee2fc36c52b33499d5af00b0eba86750405d381", -"TT_ethereum-test_signtx.py::test_signtx[False-erc20_token]": "c7747106027ccb8d407a167549a4618963d4d8710f43c19636137f8fad74323d", -"TT_ethereum-test_signtx.py::test_signtx[False-max_chain_id]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[False-max_chain_plus_one]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[False-max_uint64]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[False-newcontract]": "dc53ad4464ba2a8468083dedb8ddb48c9efdc1335a16574a56ec3cb8ee2216df", -"TT_ethereum-test_signtx.py::test_signtx[False-nodata_1]": "fd5425fca864ae2d93d6d277fdaa32a578df0e3a484e37a60a6b9e2614b8241d", -"TT_ethereum-test_signtx.py::test_signtx[False-nodata_2_bigvalue]": "2ebc7340c7291706b125c90988540946ba6722632a70b453fdcd1bbbe21fb15c", -"TT_ethereum-test_signtx.py::test_signtx[False-wanchain]": "8065fd5b3568990033cfe750aa861d5398e7bec2e77b916bbb2ff8850a8131e4", -"TT_ethereum-test_signtx.py::test_signtx[True-Auxilium]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[True-ETC]": "2fce25b9e71dad6c52f68bf0cd8f2d17e73e38730f1e3bfe73903e41bff46080", -"TT_ethereum-test_signtx.py::test_signtx[True-Ethereum]": "9c0f1fda0416c2d37643bb18dcdcbbf9149e2215227aeef4df2d797112d40b4a", -"TT_ethereum-test_signtx.py::test_signtx[True-Ledger Live legacy path0]": "3acfd7fedae9147e9e79dace2c2defd0f35ed064b0443939e2b308f7f7f5e05e", -"TT_ethereum-test_signtx.py::test_signtx[True-Ledger Live legacy path1]": "9c0f1fda0416c2d37643bb18dcdcbbf9149e2215227aeef4df2d797112d40b4a", -"TT_ethereum-test_signtx.py::test_signtx[True-Palm]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[True-Pirl]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[True-Rinkeby]": "2bcc5752d2d5ce8c6dd694761cd4b0a1ce34cdc3266d98e30a85f3201a78edf3", -"TT_ethereum-test_signtx.py::test_signtx[True-Ropsten]": "2bcc5752d2d5ce8c6dd694761cd4b0a1ce34cdc3266d98e30a85f3201a78edf3", -"TT_ethereum-test_signtx.py::test_signtx[True-Unknown_chain_id_eth_path]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[True-Unknown_chain_id_testnet_path]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[True-data_1]": "fba78bb1969a3207a8e4342db521fe37c2d2b705070d333661c7aece3f46fff4", -"TT_ethereum-test_signtx.py::test_signtx[True-data_2_bigdata]": "eca03057e956c37de912f1da6ee2fc36c52b33499d5af00b0eba86750405d381", -"TT_ethereum-test_signtx.py::test_signtx[True-erc20_token]": "c7747106027ccb8d407a167549a4618963d4d8710f43c19636137f8fad74323d", -"TT_ethereum-test_signtx.py::test_signtx[True-max_chain_id]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[True-max_chain_plus_one]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[True-max_uint64]": "c06991cfbd22f76c4f8da34c8e96c25ead1d6ad063e77067c3dba60dec5c669e", -"TT_ethereum-test_signtx.py::test_signtx[True-newcontract]": "dc53ad4464ba2a8468083dedb8ddb48c9efdc1335a16574a56ec3cb8ee2216df", -"TT_ethereum-test_signtx.py::test_signtx[True-nodata_1]": "fd5425fca864ae2d93d6d277fdaa32a578df0e3a484e37a60a6b9e2614b8241d", -"TT_ethereum-test_signtx.py::test_signtx[True-nodata_2_bigvalue]": "2ebc7340c7291706b125c90988540946ba6722632a70b453fdcd1bbbe21fb15c", -"TT_ethereum-test_signtx.py::test_signtx[True-wanchain]": "8065fd5b3568990033cfe750aa861d5398e7bec2e77b916bbb2ff8850a8131e4", -"TT_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_data_go_back]": "ba64e3d44d23b6338218c5a073d4c8a4e0d585edfc29c18d1327af1d24c1773d", -"TT_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_data_scroll_down]": "316303ef4667c3c94ddb03a14698314443b87d857ab60b6d9633fe52e7f58563", -"TT_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_data_skip]": "7c7298ea25d24a4fd52cceb63329a6bdc610b4b604418b47915b48f9e80261b4", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-Ledger Live legacy path]": "fd5425fca864ae2d93d6d277fdaa32a578df0e3a484e37a60a6b9e2614b8241d", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-data_1]": "fba78bb1969a3207a8e4342db521fe37c2d2b705070d333661c7aece3f46fff4", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-data_2_bigdata]": "cc1530c0520f4def08cb607d5ddd92f9854a9fd99e26c924f72472e04caac389", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-erc20]": "c7747106027ccb8d407a167549a4618963d4d8710f43c19636137f8fad74323d", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-large_chainid]": "07fd36537eb0177acd4caf46b0af59c7bec483944182e04794ea64ee09037dee", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-long_fees]": "4101f13397d36e717ec44a76265c43c7ce2953ed5971fe56fa7948257796422e", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-nodata]": "fd5425fca864ae2d93d6d277fdaa32a578df0e3a484e37a60a6b9e2614b8241d", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-Ledger Live legacy path]": "fd5425fca864ae2d93d6d277fdaa32a578df0e3a484e37a60a6b9e2614b8241d", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-data_1]": "fba78bb1969a3207a8e4342db521fe37c2d2b705070d333661c7aece3f46fff4", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-data_2_bigdata]": "cc1530c0520f4def08cb607d5ddd92f9854a9fd99e26c924f72472e04caac389", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-erc20]": "c7747106027ccb8d407a167549a4618963d4d8710f43c19636137f8fad74323d", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-large_chainid]": "07fd36537eb0177acd4caf46b0af59c7bec483944182e04794ea64ee09037dee", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-long_fees]": "4101f13397d36e717ec44a76265c43c7ce2953ed5971fe56fa7948257796422e", -"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-nodata]": "fd5425fca864ae2d93d6d277fdaa32a578df0e3a484e37a60a6b9e2614b8241d", -"TT_ethereum-test_signtx.py::test_signtx_eip1559_access_list": "35c2cf1b22efc8ef867539c2d688434b05b1d35cd5e28c1566dbc4204981c0a5", -"TT_ethereum-test_signtx.py::test_signtx_eip1559_access_list_larger": "35c2cf1b22efc8ef867539c2d688434b05b1d35cd5e28c1566dbc4204981c0a5", -"TT_ethereum-test_signtx.py::test_signtx_fee_info": "976164db91b26e19c273291a12c46dff672765922b5e7b3e7382c747ca8ae2cf", +"TT_ethereum-test_signtx.py::test_signtx[False-Auxilium]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[False-ETC]": "70f61cbd4bbed46fadcdb3405b47ea23129026bfd99eb209ed8c5c2c3a03dc12", +"TT_ethereum-test_signtx.py::test_signtx[False-Ethereum]": "089129c3cf550128d8f2c9f54e50a0705f6094a1944a17a9575dca950cd57a22", +"TT_ethereum-test_signtx.py::test_signtx[False-Ledger Live legacy path0]": "88fa5319d82eda664c0e33f665aef10d782d6df42cff31bda8e170239013170a", +"TT_ethereum-test_signtx.py::test_signtx[False-Ledger Live legacy path1]": "089129c3cf550128d8f2c9f54e50a0705f6094a1944a17a9575dca950cd57a22", +"TT_ethereum-test_signtx.py::test_signtx[False-Palm]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[False-Pirl]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[False-Rinkeby]": "b2ca4fea79015cdb99b128ee137b6a2e6a7f6baac44c4d26e1eeb0a9b08f1315", +"TT_ethereum-test_signtx.py::test_signtx[False-Ropsten]": "b2ca4fea79015cdb99b128ee137b6a2e6a7f6baac44c4d26e1eeb0a9b08f1315", +"TT_ethereum-test_signtx.py::test_signtx[False-Unknown_chain_id_eth_path]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[False-Unknown_chain_id_testnet_path]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[False-data_1]": "c2977250dbd06ad14031de715da17175f5c9db6ddbc3abf3f41b641c68f2e954", +"TT_ethereum-test_signtx.py::test_signtx[False-data_2_bigdata]": "fa47e3639c860f5865382e2b4ba55d833989b6a0f41ed81fa1066a57105f8c59", +"TT_ethereum-test_signtx.py::test_signtx[False-erc20_token]": "3ee1b6b209c139b60a71ee0eaa3fdfe342290dc0fd850396a85e6a018cd95403", +"TT_ethereum-test_signtx.py::test_signtx[False-max_chain_id]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[False-max_chain_plus_one]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[False-max_uint64]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[False-newcontract]": "c68a2f214969822dbc0e96c938263565c38b0609743ff9dbeec33ee170058f72", +"TT_ethereum-test_signtx.py::test_signtx[False-nodata_1]": "c81aab95508fd8ecdba3fe41778e4e7be17cda80b3840151839c9dc9329cb924", +"TT_ethereum-test_signtx.py::test_signtx[False-nodata_2_bigvalue]": "2f22d59bffb56e1cf2ba2353a6cd6c96cf5d04c95eec1b7d25bf223077008772", +"TT_ethereum-test_signtx.py::test_signtx[False-wanchain]": "3ad938f73145a9eae5303218fe98f832e98e4d94e525d6f3bfdbdcb698549657", +"TT_ethereum-test_signtx.py::test_signtx[True-Auxilium]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[True-ETC]": "70f61cbd4bbed46fadcdb3405b47ea23129026bfd99eb209ed8c5c2c3a03dc12", +"TT_ethereum-test_signtx.py::test_signtx[True-Ethereum]": "089129c3cf550128d8f2c9f54e50a0705f6094a1944a17a9575dca950cd57a22", +"TT_ethereum-test_signtx.py::test_signtx[True-Ledger Live legacy path0]": "88fa5319d82eda664c0e33f665aef10d782d6df42cff31bda8e170239013170a", +"TT_ethereum-test_signtx.py::test_signtx[True-Ledger Live legacy path1]": "089129c3cf550128d8f2c9f54e50a0705f6094a1944a17a9575dca950cd57a22", +"TT_ethereum-test_signtx.py::test_signtx[True-Palm]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[True-Pirl]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[True-Rinkeby]": "b2ca4fea79015cdb99b128ee137b6a2e6a7f6baac44c4d26e1eeb0a9b08f1315", +"TT_ethereum-test_signtx.py::test_signtx[True-Ropsten]": "b2ca4fea79015cdb99b128ee137b6a2e6a7f6baac44c4d26e1eeb0a9b08f1315", +"TT_ethereum-test_signtx.py::test_signtx[True-Unknown_chain_id_eth_path]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[True-Unknown_chain_id_testnet_path]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[True-data_1]": "c2977250dbd06ad14031de715da17175f5c9db6ddbc3abf3f41b641c68f2e954", +"TT_ethereum-test_signtx.py::test_signtx[True-data_2_bigdata]": "fa47e3639c860f5865382e2b4ba55d833989b6a0f41ed81fa1066a57105f8c59", +"TT_ethereum-test_signtx.py::test_signtx[True-erc20_token]": "3ee1b6b209c139b60a71ee0eaa3fdfe342290dc0fd850396a85e6a018cd95403", +"TT_ethereum-test_signtx.py::test_signtx[True-max_chain_id]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[True-max_chain_plus_one]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[True-max_uint64]": "b71d381dcc2c67bd4f50e5c4c9fde74eebe99c3f88030a83e69586a9891d7780", +"TT_ethereum-test_signtx.py::test_signtx[True-newcontract]": "c68a2f214969822dbc0e96c938263565c38b0609743ff9dbeec33ee170058f72", +"TT_ethereum-test_signtx.py::test_signtx[True-nodata_1]": "c81aab95508fd8ecdba3fe41778e4e7be17cda80b3840151839c9dc9329cb924", +"TT_ethereum-test_signtx.py::test_signtx[True-nodata_2_bigvalue]": "2f22d59bffb56e1cf2ba2353a6cd6c96cf5d04c95eec1b7d25bf223077008772", +"TT_ethereum-test_signtx.py::test_signtx[True-wanchain]": "3ad938f73145a9eae5303218fe98f832e98e4d94e525d6f3bfdbdcb698549657", +"TT_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_data_go_back]": "ed8d6281f2d3565529281cad6b75da67dba088f1e410e1702d13ef112115d631", +"TT_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_data_scroll_down]": "204d5cd1960d0da1770d6d5478ae130f765a07cd42d4051410e92166d94e2fbd", +"TT_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_data_skip]": "0310349fb18c476ec82e058667d8e6bf69adc14696a3755d878e7bae3bf108fb", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-Ledger Live legacy path]": "c81aab95508fd8ecdba3fe41778e4e7be17cda80b3840151839c9dc9329cb924", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-data_1]": "c2977250dbd06ad14031de715da17175f5c9db6ddbc3abf3f41b641c68f2e954", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-data_2_bigdata]": "97fac4b6db7a446f53c3f1fa27ba925c1651a8831e76db7d220efbf414482139", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-erc20]": "3ee1b6b209c139b60a71ee0eaa3fdfe342290dc0fd850396a85e6a018cd95403", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-large_chainid]": "997848a3ecc4f0c5ed8004867a8d5deae48e832c12d4e90bc192f28394a704fb", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-long_fees]": "6c238bf8ecd05787dac6139614f04b553982d7f8a5734f9cd7b1ccae9577e4c8", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[False-nodata]": "c81aab95508fd8ecdba3fe41778e4e7be17cda80b3840151839c9dc9329cb924", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-Ledger Live legacy path]": "c81aab95508fd8ecdba3fe41778e4e7be17cda80b3840151839c9dc9329cb924", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-data_1]": "c2977250dbd06ad14031de715da17175f5c9db6ddbc3abf3f41b641c68f2e954", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-data_2_bigdata]": "97fac4b6db7a446f53c3f1fa27ba925c1651a8831e76db7d220efbf414482139", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-erc20]": "3ee1b6b209c139b60a71ee0eaa3fdfe342290dc0fd850396a85e6a018cd95403", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-large_chainid]": "997848a3ecc4f0c5ed8004867a8d5deae48e832c12d4e90bc192f28394a704fb", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-long_fees]": "6c238bf8ecd05787dac6139614f04b553982d7f8a5734f9cd7b1ccae9577e4c8", +"TT_ethereum-test_signtx.py::test_signtx_eip1559[True-nodata]": "c81aab95508fd8ecdba3fe41778e4e7be17cda80b3840151839c9dc9329cb924", +"TT_ethereum-test_signtx.py::test_signtx_eip1559_access_list": "243010310ac5a4c70c627507ea8501cc61c2e20728eb06bc796f093132bebb4f", +"TT_ethereum-test_signtx.py::test_signtx_eip1559_access_list_larger": "243010310ac5a4c70c627507ea8501cc61c2e20728eb06bc796f093132bebb4f", +"TT_ethereum-test_signtx.py::test_signtx_fee_info": "c0e5bcb26ef58d6bd7659c58d1cc69f18f074997262d143e73324ded905c323f", "TT_misc-test_cosi.py::test_cosi_different_key": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_misc-test_cosi.py::test_cosi_nonce": "25a47ec1384fb563a6495d92d9319d19220cbb15b0f33fbdc26f01d3ccde1980", "TT_misc-test_cosi.py::test_cosi_pubkey": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", @@ -3059,29 +3059,29 @@ "TT_monero-test_getaddress.py::test_monero_getaddress[m-44h-128h-0h-4Ahp23WfMrMFK3wYL2hLWQFGt87-f8cc3746": "f04af61059a8edc28122ad708eaa23a5f27441a63a87041da5bde604f3c585c4", "TT_monero-test_getaddress.py::test_monero_getaddress[m-44h-128h-1h-44iAazhoAkv5a5RqLNVyh82a1n3-1cc72b15": "097567f203b5c8090204f894017ba1676ff3d42c42b79915960d3de701422fec", "TT_monero-test_getaddress.py::test_monero_getaddress[m-44h-128h-2h-47ejhmbZ4wHUhXaqA4b7PN667oP-d571924b": "d081197da687ed543a4c0bd5ecc65d720253fcc15d2975c26b251bd14ab647de", -"TT_monero-test_getaddress.py::test_monero_getaddress_chunkify_details[m-44h-128h-0h-4Ahp23WfMr-1e763aba": "6860ffb973c6f66c21925c68adf2f59a05c23413fdf6a5884790b16b16a66cb6", -"TT_monero-test_getaddress.py::test_monero_getaddress_chunkify_details[m-44h-128h-1h-44iAazhoAk-005b0fdf": "752f2f6095b05e3afff47f3896594f35360ca32a90d21cc16ae908f3fbc7238d", -"TT_monero-test_getaddress.py::test_monero_getaddress_chunkify_details[m-44h-128h-2h-47ejhmbZ4w-df40ccfd": "9bcb4134e2758c9b74ae542a9ba334e9c4ee4097a2f4d27aa75d051504af9e80", +"TT_monero-test_getaddress.py::test_monero_getaddress_chunkify_details[m-44h-128h-0h-4Ahp23WfMr-1e763aba": "0ac1a47b3ad0595e46a8aedae71446d39f1bcfa703cbe4d1681da7ea8c332a31", +"TT_monero-test_getaddress.py::test_monero_getaddress_chunkify_details[m-44h-128h-1h-44iAazhoAk-005b0fdf": "09f056cf1613388427d5f742910d8127acd7fdfc55d44e0ab8138e7a45852784", +"TT_monero-test_getaddress.py::test_monero_getaddress_chunkify_details[m-44h-128h-2h-47ejhmbZ4w-df40ccfd": "37e8936c92b8af777c1c6276a2c4cf2c556f6babf9ccc6ed03be990d065f64b8", "TT_monero-test_getwatchkey.py::test_monero_getwatchkey": "132fcbf2f28d368ed826f8ea2bd096572fc9807c6cc9be8f6ada25847b0a0adb", "TT_nem-test_getaddress.py::test_nem_getaddress[False]": "a7871f1b2e8d835fd40f378b1bdfcadaede0556bd5295ab174748527db53fd82", "TT_nem-test_getaddress.py::test_nem_getaddress[True]": "f1eb22b7aee59711693245c866324c9780aacd340c54d2d99c41a69151ba267f", -"TT_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation": "38ddbc0179bb3a75a4ea08e30574c29e77660e5dc22c38a56ca81cbed83340c2", -"TT_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation_levy": "f146c21651971c1d83888deb5244dbfc4b083f918c65b859e38d085ac130ba2e", -"TT_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation_properties": "ab47a3bab70722c1411259253d2b357b5de86cff4da48a0c5c2b96f5e6df8906", -"TT_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_supply_change": "11f19df65fcb2838e62d54589f003703ebc76d1ff8987c4f6cad3b6199f114c2", -"TT_nem-test_signtx_multisig.py::test_nem_signtx_aggregate_modification": "9864b018566f2cc51512704a536248e393f44940616b2161629fdb0455306b83", -"TT_nem-test_signtx_multisig.py::test_nem_signtx_multisig": "26fc11ddc39b4826140f9ed044751465c85354079d391b831c8bcf74b9735aab", -"TT_nem-test_signtx_multisig.py::test_nem_signtx_multisig_signer": "e1404f9c237a4f7349fcafb9b788bf8383e75af48c5e87f7ebe1b4c236fc4cf0", -"TT_nem-test_signtx_others.py::test_nem_signtx_importance_transfer": "eae87a12043b57e234d20d43ab2f3fd8788441127db2b74befc141faf7ed36c5", -"TT_nem-test_signtx_others.py::test_nem_signtx_provision_namespace": "011c65e95d384bc16acba09096fcf7e9fedf9f10a13d94e28fe0d2f55fb36b5c", -"TT_nem-test_signtx_transfers.py::test_nem_signtx_encrypted_payload": "2309d9692fb315aeebaff11bcad7a9ff6cf8f3e97d075012db8bad767682386e", -"TT_nem-test_signtx_transfers.py::test_nem_signtx_known_mosaic": "d7edc2b7797715c6a99d771a3175bbeb4e4169158c0a58e796d61fb423573c7f", -"TT_nem-test_signtx_transfers.py::test_nem_signtx_known_mosaic_with_levy": "fed2dc7a2bb5b6d7fc9ec29b734c2d396f3c38f760a4a1fabd030bfe4aea5fa7", -"TT_nem-test_signtx_transfers.py::test_nem_signtx_multiple_mosaics": "d5b473baa76606d09d57f590543f76b1641af61063b3b07e1ac0ea2f6be208cb", -"TT_nem-test_signtx_transfers.py::test_nem_signtx_simple[False]": "c84035c76dfc7d22d516d87b5381578823e927b418d4ff277a2c4b94276b82e5", -"TT_nem-test_signtx_transfers.py::test_nem_signtx_simple[True]": "731256fc1a451705e3cb61bb9614bee1f1fbb5efa5ba583a51ebac800a8ff013", -"TT_nem-test_signtx_transfers.py::test_nem_signtx_unknown_mosaic": "764b3d2e009ad001cecb44a4c308a0fa75bacb903d663282c00da20f9f9b5c3e", -"TT_nem-test_signtx_transfers.py::test_nem_signtx_xem_as_mosaic": "df42bff9228bc41f8bc7ae14518dfc4f16895b011eb34495b11e354b277a50d2", +"TT_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation": "e09e9f00fce4054bf6367777c5ec66494919e3aea5ad3ce9e1840b4c9ef1d42d", +"TT_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation_levy": "b23815b032ea309dd671547e7302f53096b45c5657c20af8ff86a85781a1b1a9", +"TT_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation_properties": "8350cb91369f0302b404085c133066e1d0453f1293c56264a17b95719fe5fbc0", +"TT_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_supply_change": "b5c574c87557ad7f3147a276994b07dfe0d50fcee3040dff2380f6ef38fc7859", +"TT_nem-test_signtx_multisig.py::test_nem_signtx_aggregate_modification": "6e4982b564f289134ec68f9786203a432441475d4f3d935cdeb87862b709b1c0", +"TT_nem-test_signtx_multisig.py::test_nem_signtx_multisig": "171d1ee0d2234c9efc6c06cafc7d2519eb3a2562824e4ea9f8b298da6932ab42", +"TT_nem-test_signtx_multisig.py::test_nem_signtx_multisig_signer": "65b4a7646e6a762fe87059b34f75730018196dccb8ae5b539471246bb4f443fa", +"TT_nem-test_signtx_others.py::test_nem_signtx_importance_transfer": "379a956ecd4e5fb029968222b2a20d341cc1487ddbf2a392c38cd73e0a7b37b8", +"TT_nem-test_signtx_others.py::test_nem_signtx_provision_namespace": "fc31c7e1a668c8c6db13cef90baf722fc1f7009b81d6314c489274718ab127b1", +"TT_nem-test_signtx_transfers.py::test_nem_signtx_encrypted_payload": "bf8456472807daee3ada2c82e131cb58db47a6fc483dc917f9dbdd1cc2df5024", +"TT_nem-test_signtx_transfers.py::test_nem_signtx_known_mosaic": "b09915631506661437de4ef2bc4831054b0c2526310cb48a1f7fd60574de102a", +"TT_nem-test_signtx_transfers.py::test_nem_signtx_known_mosaic_with_levy": "0eeb3d15ebfdd4c8d6a60d5b7e2faa19b22e812400988e29c3e68ce8758fb081", +"TT_nem-test_signtx_transfers.py::test_nem_signtx_multiple_mosaics": "8838c998cbe837aff4d6f7f63c4f5f0dcc1cadfa9aae6d6486262a7afd691ea4", +"TT_nem-test_signtx_transfers.py::test_nem_signtx_simple[False]": "d3c8d6656a581e845b54fdca883496388ffa77766892fc5b4bb9e04e1e765651", +"TT_nem-test_signtx_transfers.py::test_nem_signtx_simple[True]": "912291c884e71187005c2356c87c724dbd83a706bed2f28e2a6ff0226c1d9561", +"TT_nem-test_signtx_transfers.py::test_nem_signtx_unknown_mosaic": "05118d403095d355000da8245edafa6b000eae136d9b36349bcc250f93c61e82", +"TT_nem-test_signtx_transfers.py::test_nem_signtx_xem_as_mosaic": "02b1d6995080b5186e200233753196c3d1a72658f96af6df546713f412ec1cfe", "TT_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[language-test]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", @@ -3101,7 +3101,7 @@ "TT_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "0c7a1431a7a29de1adbad7ef6a236d8c0a933963a12853bf219ed1fb5953ff23", "TT_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "9ed534c74d02a3702cd25c3ac456727d9f06516ce387d7ef2e58381a7a5c27c7", "TT_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "93cb44b3414b6c5e196e8be6ebf963831f4dbc0d8cb54a9a705db62b1d488db9", -"TT_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares0-c2d2-850ffa77": "8459510f2f60d2e72447a88ea53795c8073c56ebef53799bdef16acd11e203d2", +"TT_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares0-c2d2-850ffa77": "122b743c27f13891155e0e76d08d747ddbd470f612e19700e0e695747c62efb5", "TT_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares1-c41d-ca9ddec8": "8f93ace3f01d22511173267420e67e81711b99fefdb107d9ee62e384e59f9e7f", "TT_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "1e2b74eb0d7468cef7fe3d2e8ee85b9e57bd002d67f1194b8b8ba82227430f9a", "TT_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "6994d059586fbb4532236bb1b9095037df702f982aa40b58827bc8e053c8177c", @@ -3119,24 +3119,24 @@ "TT_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "666e4780005d6d2e0487382f0a5c758236cdd50bad4e04fbd6d75e71570d9aa2", "TT_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "6f03ecc76b568b44c77d35f92a6eb02f7f474be150afa887ff88ed59f3422776", "TT_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "43e123d83b3a5c36dc9cbba705fc8a4a5b887040015f5da9437e6b51e341a0fc", -"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "95429ee1ff88a194776674ac656f1e8552af6e9b82eb924d1a0c99132e220d50", -"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced-bac-f67baa1c": "a32e3d1c7600b00f81a97a6f0ea836f9d1225a2884db55674263dafd57b128b3", -"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic-backup-6348e7fe": "9f4935a388c5bfe67e2473795106fb15daf88d3ff4d4bb055304a783fa0fecb3", -"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "95e3741d7d4a16922e3dd0b1112b611f9a7ede012f37db9fdb1a0115268188e0", -"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced-backup-dcbda5cf": "3f04fcd7d3768f55c58fecd6aadaa7c5f09b72eec482f1e0aa994c62a32a3f80", -"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic-backup_fl-1577de4d": "b48369b16ce1066b94523b4ae4ad252b04e58d8790f03e8ff2707181eecd346b", +"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "b8a90d8485c942d5619a843a9841b1428451c0919eb28ae02a8537feb01191c1", +"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced-bac-f67baa1c": "db215ecd280528112cf6399774a57010f32e106ea954dd135ed445562cc6e5e4", +"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic-backup-6348e7fe": "dd3e337073fe7a020867dab2f558736274d0e72febda3ab4cca303c635249d0a", +"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "6b3b1910fd62404f8871112bb466eee9cb695ac9a5da157991c280b11c745691", +"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced-backup-dcbda5cf": "5017071920b192dd349fb791d68092f42b0c77ab13c694b1266b0d729cc3b523", +"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic-backup_fl-1577de4d": "e7c27163b070150e30d852144e64f6377b5aa506a36d74294918f8f68e1153af", "TT_reset_recovery-test_reset_bip39_t2.py::test_already_initialized": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "8fc6c0f7a9c47cb8655ed2ee5aa099a6c8339d8f09c99c437cf7b120530cba5f", -"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "89d6a55f2387df4aee4cd1d7bafc688ad0ee90d224345ca08aba09534458b81b", -"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "533b950b7f9cd348759b6d30bbe1d3c6eb28a673508f0fbd1e8ee4338058c04a", -"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "828b2057437124e260dbd38ccd6f7fd2c3029b89d43b21730ebdff82efb3173a", -"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "05a2933f3201d619a11553417dce8c51c66801e4c894e8cf766709e7532a8408", -"TT_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "04958eea1517675986d720a376fb3c52466e7154b3da48e490191e714aa8a929", -"TT_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "695caac5efcef3022a8d1fb1016bf5be1f4e5ee3eeaf3b2e64e3d5808677129f", -"TT_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "f983065519c6349bc6e2b7174da1240f3f3723f751dec536ebd78b01ac9d30de", -"TT_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "b7548d6cb3e6c0dc0ec5991ae22dc5e40ca6d9d5416d71f09bba04f038c57c8f", -"TT_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "e140bc32a42ad41921ee6ccf107c86861c368723d11480528948b7a5f24aecef", -"TT_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "f7d49883567d093b5e6adf52115f90362aa627a05117886dad9ceef235c68725", +"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "8bffc14bc9bdcd72d9f17d983c2cc2f718b5336118b0e3ceb812e3e60d2c9b1c", +"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "3db62f4aff23548191f668c378dd01e323fbaf319e63f656170d14dc40455ee2", +"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "a33d5c6312a15cba783f57d6623747b02f0ec91e957e9f5fc73ff71ff92f3c2c", +"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "48971a56cf8348a3268add8b0950a549b1c5ff6130b0be1f207bee153f6d70aa", +"TT_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "edb36dd3112c611cfbb854c82a5aa0dd23c78641c387a5e115d1b63fd49a16a4", +"TT_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "47bc81df78ceb489c3fba6513c2d2336340b73d6591e0a751fa3afe6be4bb0a8", +"TT_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "b68c2884c3e5a31cf1acc30d4da9e27e768bb7e32514e5cd065e7403675923df", +"TT_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "97f010794fadf2e608cff7159496696b6a47aebb442ff4a572c4e1e14a921b7d", +"TT_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "671875e6b7a8f2015a2650a5c9c22503ac46874fafbbbfcb2b141740d14991c4", +"TT_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "dd092ecd79e53d80305cf98b664703b8c78cc37b3d9244aea6bb8b251626e35d", "TT_ripple-test_get_address.py::test_ripple_get_address[m-44h-144h-0h-0-0-rNaqKtKrMSwpwZSzRckPf-3321e5d1": "e1714dd0d8e33bc7d38c8a8f0a24082c89846497a98fcfec5136743007da9171", "TT_ripple-test_get_address.py::test_ripple_get_address[m-44h-144h-0h-0-1-rBKz5MC2iXdoS3XgnNSYm-fd75b415": "6b8a98bb658c617c435cf541e35c1fdb055f86c983add4df01b714836239c1b8", "TT_ripple-test_get_address.py::test_ripple_get_address[m-44h-144h-1h-0-0-rJX2KwzaLJDyFhhtXKi3h-af5daf0f": "f2b9355b112c77ea457568adb7375dd8f2338f5170ba26758751ce3f8cee285b", @@ -3145,8 +3145,8 @@ "TT_ripple-test_get_address.py::test_ripple_get_address_chunkify_details[m-44h-144h-1h-0-0-rJX2-1534f649": "58242541bf8486a102aa87376f2d9a8f2fee74c6956631501155aa5a92ef742f", "TT_ripple-test_get_address.py::test_ripple_get_address_other": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_ripple-test_sign_tx.py::test_ripple_sign_invalid_fee": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[False]": "38131b33c1f59c359279e5f6354ba70eaab9cefeb017f25e99e7cdd5310cf230", -"TT_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[True]": "b6566112fee8f1cbf60bafcc70b7fdd4d2703d1a464604ecc260c00fb464b576", +"TT_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[False]": "bc15baef3f52f919dba24b46d828b63eb5ad15dcb0660468e9e17088e1523df4", +"TT_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[True]": "c2bccb5164d6fb0a88a20b0df3b9daabce638b269d805aea3bf9afd9e38e6373", "TT_stellar-test_stellar.py::test_get_address[parameters0-result0]": "18272296d219ce2f54f30820936a29d698bd7a26890336c9a326c30007a43e3f", "TT_stellar-test_stellar.py::test_get_address[parameters1-result1]": "a9b53f23f657a00cc215987ee1289c6a86225602012ed33fe12ecb7421a960cf", "TT_stellar-test_stellar.py::test_get_address[parameters2-result2]": "214f0ab5a2c67891e91e89ef71668fa89c0b58dd367cc5fc076ac9e1810ac344", @@ -3167,35 +3167,35 @@ "TT_stellar-test_stellar.py::test_get_address_chunkify_details[parameters7-result7]": "2ae8078b3f39e1f930a1a7c0750d863a8ae9edfad2bdf32b57d63b729fb7fb1c", "TT_stellar-test_stellar.py::test_get_address_chunkify_details[parameters8-result8]": "be46f409ac67fbc359df19ad6d188ab31062f7d89b94011e1788fd4d5893640b", "TT_stellar-test_stellar.py::test_get_address_chunkify_details[parameters9-result9]": "a7172a64a86555942540d9eef80042a3051d4c58e1f8cf7a39e9c99987830e27", -"TT_stellar-test_stellar.py::test_sign_tx[StellarAccountMergeOp]": "6d019238fdbfe772db858e356a7b50ba47e7f4b4bf5cf84c04a930961943b161", -"TT_stellar-test_stellar.py::test_sign_tx[StellarAllowTrustOp-allow]": "09c21a1c229b63b98d3a5cb59ed13e7a5bff71554bcba384af59bc8767145903", -"TT_stellar-test_stellar.py::test_sign_tx[StellarAllowTrustOp-revoke]": "12c2d493036e4cf7bdf9c9dd9c6925b930c695ec7226be273dcd3b150e7e3aea", -"TT_stellar-test_stellar.py::test_sign_tx[StellarBumpSequenceOp]": "07247d79a7db2256b8a29938289d698538b4450e471589d2deabad74513507ae", -"TT_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-add]": "5c5e46dc4da53025b3a67bcf0a59d9a9c4f69f60ae0a671a4db64aa9e7f44b09", -"TT_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-delete]": "cb0f1485aff903a17e16005856423e1e9bf9e1e98ac03d2034781fda5503e4a4", -"TT_stellar-test_stellar.py::test_sign_tx[StellarCreateAccountOp]": "ddf9953b33bb9b480d67c494c561c0e7c3df1b11a61fd2ecffc457d7a1282104", -"TT_stellar-test_stellar.py::test_sign_tx[StellarCreatePassiveSellOfferOp]": "1dcd460e25099295594cea9011db962a8c83bf15c593d8d2716feae868b6b87b", -"TT_stellar-test_stellar.py::test_sign_tx[StellarManageBuyOfferOp]": "98342b36797db2eae732d1c262d24dfd8850f2db6769e5f8f6a71bed800d09e2", -"TT_stellar-test_stellar.py::test_sign_tx[StellarManageDataOp]": "8b35f037f2a63c7391a5cb42e6df06ed6069ce1849cfc3dc6120a2a394a742ea", -"TT_stellar-test_stellar.py::test_sign_tx[StellarManageSellOfferOp]": "7650f65c36ef4c23c2a740c469eed92c8b0eee60c275c479329815b8fa95dda1", -"TT_stellar-test_stellar.py::test_sign_tx[StellarPathPaymentStrictReceiveOp]": "4705fab863c824fe95c067d3b0871d2cfb87b8834952008e23b6d1ed1fd4c0c1", -"TT_stellar-test_stellar.py::test_sign_tx[StellarPathPaymentStrictSendOp]": "47ab4b2df56bd53952f4b073d8efeda501347b7b68ae4b5d531cb18b36b2e6f9", -"TT_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-asset12]": "9d3b9360918af5e00209c49e006d1f27fdf489c2f56c4d4235176519e73f67eb", -"TT_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-asset4]": "0aa9a4674950784c43f4728d6b0baca51844b20dbe0d0806a95d58da9e192bd6", -"TT_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-native_asset]": "d2887d907c9ed542771acde6b01762b660d9427c14156fce365778eaaafbb329", -"TT_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-all]": "7b03fafd75dbcec30c87ca8a43ed25675715d67dfe8fdbfdb69e35c567ec2111", -"TT_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-one]": "f22acc46bfc5c42f7fe01e60271baf3169743978de759b64cb018fbd17bc885b", -"TT_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-some]": "be799107e60108a0ff2390011f533fe82c9724e8810dcf25307581fa2601ddbe", -"TT_stellar-test_stellar.py::test_sign_tx[memo_hash]": "a4fc4c5781be50f89518b4576850774ec65a2e8eb9ff7d4c3e0eb0b0d1a218b1", -"TT_stellar-test_stellar.py::test_sign_tx[memo_id]": "db90eaed9105486b5faed30a4a0256e237071684b1a04447ae648748d632d669", -"TT_stellar-test_stellar.py::test_sign_tx[memo_return]": "1881458da344798128c1fff7e17f4ee32e97b64430827b406ebbd3caf605fb22", -"TT_stellar-test_stellar.py::test_sign_tx[memo_text]": "1b386ba9a2820da64fd705e630c932d4e06d49050cff07458a548a609a73578f", -"TT_stellar-test_stellar.py::test_sign_tx[multiple_operations]": "820b5b07ed5f0716c6fd9abfe00b561df077db7838df99aaefd07915b61b45e1", -"TT_stellar-test_stellar.py::test_sign_tx[source_account]": "80c9a7498c1b3b929f818a20b1b68d2f63628774b435bdab5dcb9a34c2f782d2", -"TT_stellar-test_stellar.py::test_sign_tx[timebounds-0-0]": "b6d0e43bf1d342e082ebb494eabbedba5c03935a17d50f7e60f3978d954449f5", -"TT_stellar-test_stellar.py::test_sign_tx[timebounds-0-1575234180]": "773f25160b9e6460c0f57d095e0bea97fe9cdca6aed22fe4db1d49c46233d025", -"TT_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-0]": "b1e1c5442ca424b3b23b3435446826d918a367e202fae8d7db4755d43bb0e579", -"TT_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-1575234180]": "d2887d907c9ed542771acde6b01762b660d9427c14156fce365778eaaafbb329", +"TT_stellar-test_stellar.py::test_sign_tx[StellarAccountMergeOp]": "84e2e99c4c0dbba1f2e44a2f833742dc37f88013972c8ffd0d02673660eb694f", +"TT_stellar-test_stellar.py::test_sign_tx[StellarAllowTrustOp-allow]": "a3de7fcd5cad8c5e4b4316fedde7dc7862eb89ca2f2a8d1a9ba8fb50a068342c", +"TT_stellar-test_stellar.py::test_sign_tx[StellarAllowTrustOp-revoke]": "d75e62e491d87be5d1317e51241431bc71b5a24da21eeb31dbf5a10e929290dc", +"TT_stellar-test_stellar.py::test_sign_tx[StellarBumpSequenceOp]": "846e5b0c1e740f230b8670be9fdf93de80918e2c1afc43ed99d15af1d959edde", +"TT_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-add]": "380dd41734316482b1c4d2e33777fe42f02829cf637c550fbcc699cc4f7bcbaf", +"TT_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-delete]": "3d0f941c6ca7df69d6204063f171b1aedeea36e8c9c4d3c81fbd9eca75b248c0", +"TT_stellar-test_stellar.py::test_sign_tx[StellarCreateAccountOp]": "993afda5f990300f12d8f2f318b51a3f7374f7abdbe983326e39c66f0bce0568", +"TT_stellar-test_stellar.py::test_sign_tx[StellarCreatePassiveSellOfferOp]": "61242eeca3cd77d51fc2d9012d86e57dde6e722aa4a2df4e818f3ed679aeb430", +"TT_stellar-test_stellar.py::test_sign_tx[StellarManageBuyOfferOp]": "d1746738380b806d193be170c8f476e21448dfa227a91f8547d05e43cda2fe5f", +"TT_stellar-test_stellar.py::test_sign_tx[StellarManageDataOp]": "6bddffc62fca2af49b98cefe7ed5aea24541bc41d0f3c242f7fb7dbd96f190f7", +"TT_stellar-test_stellar.py::test_sign_tx[StellarManageSellOfferOp]": "dc5de8b32a6c86fd034b46daaac0fc3ed1b813e0cefde376de0977d1ec1ece44", +"TT_stellar-test_stellar.py::test_sign_tx[StellarPathPaymentStrictReceiveOp]": "66ca24e60f8c0b6589b8af806b68308972e56087c1517289cd1c85406ad1aa4f", +"TT_stellar-test_stellar.py::test_sign_tx[StellarPathPaymentStrictSendOp]": "adc5c6dda829f19ad14a79547779472d5dd72c9706853aa665e8de7361433183", +"TT_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-asset12]": "e7bae062ee776b91f0e61d3b8a743a7800deb265bee722500e79ceba459729b3", +"TT_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-asset4]": "d24cdb336b45aa5a6dc51ea70414b38ed157ec007d1c3840dede56af9ef1d13e", +"TT_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-native_asset]": "93471a4ccc8f77e64e0fee636363a90bb05039a517f9259f898f460fb6336f00", +"TT_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-all]": "4995cef741327264327241df0ae283074abdd4477d63028be16f2d216aaa8f7f", +"TT_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-one]": "3383ea7a0661c2e227bcdd714e8c4b8599a70ef0677991f0d111a14eca410906", +"TT_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-some]": "fdc7d3703010dc7a5a267a3264b7604580926844aa3a3ba8b093a23e2ba7b50e", +"TT_stellar-test_stellar.py::test_sign_tx[memo_hash]": "b0c90ca5c5bfce6c79f10c64966d0e2287ab6e70f70ed0dd32dd7c76173baf0e", +"TT_stellar-test_stellar.py::test_sign_tx[memo_id]": "12205c75d5a6066fbaf7b89d545583d69062d7169706dd2e6c9aaae6a4b71918", +"TT_stellar-test_stellar.py::test_sign_tx[memo_return]": "989d9d0713f644338e5696be59848b67119851fd64e44d290a43c8cecd554a58", +"TT_stellar-test_stellar.py::test_sign_tx[memo_text]": "31deca2fef5dc1d898a3f6d95c2f715f0c85d8be48a2405d596fa0b955597359", +"TT_stellar-test_stellar.py::test_sign_tx[multiple_operations]": "cdbd1117fded4dc3efef76f723f5ca646461b86a89f741011a25a794cd016b29", +"TT_stellar-test_stellar.py::test_sign_tx[source_account]": "641f0ec39c752109a6e287478d529b1e5d3d98cb4eb6b23320a8ba7d97baffba", +"TT_stellar-test_stellar.py::test_sign_tx[timebounds-0-0]": "808e6873ffc198a8271244e51538a91f4a737e716bccd441e84775589ad75138", +"TT_stellar-test_stellar.py::test_sign_tx[timebounds-0-1575234180]": "ee0c8989f31e75c36a4a74f3715d5bf341366cdbd6b750da99ec1f91d7b90db4", +"TT_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-0]": "06aef40642884843baabe7e7d6b69bcd772d6f1e16f231d2c6244b6a727bd08c", +"TT_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-1575234180]": "93471a4ccc8f77e64e0fee636363a90bb05039a517f9259f898f460fb6336f00", "TT_test_autolock.py::test_apply_auto_lock_delay": "788e79b0e010080ebf03c13252b322aaca6d0b1d4fdd9d541d37b54ba377f4a8", "TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "35820b3e649e7fe727b36738d2425c443067f296f21f971dc0f7e1dd564c3d2f", "TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "35820b3e649e7fe727b36738d2425c443067f296f21f971dc0f7e1dd564c3d2f", @@ -3212,7 +3212,7 @@ "TT_test_autolock.py::test_autolock_default_value": "9f058341ff75d682faffd30ac0351ab7eb3ce596e51a3a39194ff63d9269860d", "TT_test_autolock.py::test_autolock_ignores_getaddress": "6dbde78382fe909ee4bf86693f0397ec4e40b5ecb7ed49f14f7a7069d672475d", "TT_test_autolock.py::test_autolock_ignores_initialize": "6dbde78382fe909ee4bf86693f0397ec4e40b5ecb7ed49f14f7a7069d672475d", -"TT_test_basic.py::test_device_id_different": "5d94d331908fa838b323551de8cc22b944c068bc6c919b4142a872d4ed23f256", +"TT_test_basic.py::test_device_id_different": "dd8872edb4b5b2cac294ba8f8f3ed3bc2471e398ed7a17b70c82c85bee875045", "TT_test_basic.py::test_device_id_same": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_test_basic.py::test_features": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_test_basic.py::test_ping": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", @@ -3223,7 +3223,7 @@ "TT_test_cancel.py::test_cancel_message_via_initialize[message0]": "1bd3157d54327e33542f89dcac6c7cd23808f7c9aa1b0adb390e5fcc1fd858a5", "TT_test_cancel.py::test_cancel_message_via_initialize[message1]": "1bd3157d54327e33542f89dcac6c7cd23808f7c9aa1b0adb390e5fcc1fd858a5", "TT_test_cancel.py::test_cancel_on_paginated": "a6aadac2d8820228eb8fc0152141350f176095aeb2d9fd6e41581f75a8b962b7", -"TT_test_debuglink.py::test_softlock_instability": "8f11f602f353b51e83aa4f3bcfa4356dd2ddb5585150783ec2ee8239a32417dd", +"TT_test_debuglink.py::test_softlock_instability": "e8d2becf7c7ca7c7095dcdb4ddc5c6942b5e3ab7b66ef241c2f63170a4397fbe", "TT_test_firmware_hash.py::test_firmware_hash_emu": "2a63f0bd10ba99e223f571482d4af635653bb8a3bddc1d8400777ee5519bc605", "TT_test_firmware_hash.py::test_firmware_hash_hw": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_test_msg_applysettings.py::test_apply_homescreen_jpeg": "46ff4722b65ee55ec7de7718ff2cd726b4e5e3c565db57ba9bcc23e140fd1a68", @@ -3236,12 +3236,12 @@ "TT_test_msg_applysettings.py::test_apply_settings_rotation": "91a0983ff7041ceb26cccd223f8dd8fb03c7179d0f4860bad8128bdc00ca84b6", "TT_test_msg_applysettings.py::test_experimental_features": "921c40ff29716ac42ee79b00cbbbf3b74e4dba9265ea1dae690e489f38422621", "TT_test_msg_applysettings.py::test_label_too_long": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_test_msg_applysettings.py::test_safety_checks": "42b47ae0be7a8c86224b37ee417c1a487057974b7617b89b976b51be8fb05a04", -"TT_test_msg_backup_device.py::test_backup_bip39": "0fd75efd974215a43d4b275a173b30ecb41291e5579abf6c15c196c0fc3aa87a", -"TT_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "2cf95cb4d4c83ea9895dd7bb95c1fa4802a84a1f35770db5eaf876700a6e344d", -"TT_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "991e151009e73c62b037008bd9eef82507ff0f441d408969f63876bfb73d9c1e", -"TT_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "152d906422d70922ede5c2b733bcfed082dd3cf24a7f74a0012e634ff22fc7ad", -"TT_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "3761f8884781ae4c8212ef858a760ec95d0fecef14ec5ccec1201e7c81442a87", +"TT_test_msg_applysettings.py::test_safety_checks": "b129e0ba2e3c7ac836b3bb4b0bc8ded1c922eba054b42b434d10499fc780ea2b", +"TT_test_msg_backup_device.py::test_backup_bip39": "860d55611c229f75c4dbaac5065a92ffbc64ad7e83a7352bda093b036e095594", +"TT_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "6867126ffa5a364c6f1360c80fc10b3b43907910fdf700f305e3ff6b3165227d", +"TT_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "f34fc345799822bc890d9815c9b0522eb8e97073dafdbb0ba4071f4c7ac3623f", +"TT_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "8954ce3541ec843d5161193d4c64520869e97eedef85c4852ae7101957328af1", +"TT_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "821e75f63ca4589edb7934f3f2074ae58cb97ab9c0240e153d35c79ddb605ec2", "TT_test_msg_backup_device.py::test_interrupt_backup_fails": "ae147498028d68aa71c7337544e4a5049c4c943897f905c6fe29e88e5c3ab056", "TT_test_msg_backup_device.py::test_no_backup_fails": "fada9d38ec099b3c6a4fd8bf994bb1f3431e40085128b4e0cd9deb8344dec53e", "TT_test_msg_backup_device.py::test_no_backup_show_entropy_fails": "001377ce61dcd189e6a9d17e20dcd71130e951dc3314b40ff26f816bd9355bdd", @@ -3259,13 +3259,13 @@ "TT_test_msg_loaddevice.py::test_load_device_2": "d409f06f9cc73b5f5a32374a7e1dec883109fee88bf07e1a6c6928e6548cdd19", "TT_test_msg_loaddevice.py::test_load_device_slip39_advanced": "1d1bdf29f677492956efe2ab29ab2481bbb647ac14cef9cfb5d8f62370133b1a", "TT_test_msg_loaddevice.py::test_load_device_slip39_basic": "1d1bdf29f677492956efe2ab29ab2481bbb647ac14cef9cfb5d8f62370133b1a", -"TT_test_msg_loaddevice.py::test_load_device_utf": "8d92b59ec7388e354f9ddf02dc6c443a675ec40355761503fb19602adb1e5332", +"TT_test_msg_loaddevice.py::test_load_device_utf": "bb62730550b1f2925972f97b6826be16dd840682c21bcdae7dbb9afec4aced26", "TT_test_msg_ping.py::test_ping": "d702b0f90581cf17e0f77b4d318324a002deec42c2c5cb8860d51f6cb50f5739", "TT_test_msg_sd_protect.py::test_enable_disable": "95a5bd3071e08243f9e64ad0c017bc16420c57f760fe2f1add381ab55075f3e7", "TT_test_msg_sd_protect.py::test_refresh": "d132080d9dbfcebcac67ba3856a373b98fc78be445964f31b0b936df7d806d60", -"TT_test_msg_sd_protect.py::test_wipe": "ad83437211358525c72e42b6f1f1aa5593dadb33780cb3ff01040964b2f400ca", -"TT_test_msg_wipedevice.py::test_autolock_not_retained": "49f80c436922e8293655ad89f4815a099ace232179be54e5afa66caa94d4cb1d", -"TT_test_msg_wipedevice.py::test_wipe_device": "5d94d331908fa838b323551de8cc22b944c068bc6c919b4142a872d4ed23f256", +"TT_test_msg_sd_protect.py::test_wipe": "08fd1a098d2496f9c053512533097a511e6c436f1d1f53c15346578269ee4092", +"TT_test_msg_wipedevice.py::test_autolock_not_retained": "9ab931b1316c24c162ad5a38bb8dc16b969e70c4a548611e88c1e4054745d0dc", +"TT_test_msg_wipedevice.py::test_wipe_device": "dd8872edb4b5b2cac294ba8f8f3ed3bc2471e398ed7a17b70c82c85bee875045", "TT_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "c4a8e8e7544a7dd8a7157aef8572f1be99c10b290ca9e0f60763b7e3583c7882", "TT_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "c4a8e8e7544a7dd8a7157aef8572f1be99c10b290ca9e0f60763b7e3583c7882", "TT_test_passphrase_slip39_basic.py::test_2of5_passphrase": "fdf4b1631f9726cd27137dc3e20a78d88d223fd774fee8828a1afb33624e9a11", @@ -3284,12 +3284,12 @@ "TT_test_protection_levels.py::test_passphrase_reporting[False]": "f91231df26edcb65f5d15eeb3a0a453385fc142265fb307c366b5139aeda8012", "TT_test_protection_levels.py::test_passphrase_reporting[True]": "fb43bd981b0a7dd400159306b4b430ffeb0036b90e1ab50562871fa66537c9c5", "TT_test_protection_levels.py::test_ping": "d702b0f90581cf17e0f77b4d318324a002deec42c2c5cb8860d51f6cb50f5739", -"TT_test_protection_levels.py::test_sign_message": "9e45f98f244f04895e45e28dc05aaa5216141e4f6816ee68246b4d1325791a70", -"TT_test_protection_levels.py::test_signtx": "aeb4b057e877247543073f8bcd1570c2dd966ef7bea3c5b048f7773417e7a1a5", +"TT_test_protection_levels.py::test_sign_message": "af00553e715fed9df5adf756c214cbcc41a2dc324578b7bddb1e6f19097c7296", +"TT_test_protection_levels.py::test_signtx": "eb7b93f26e8df49afe457001f93e5230dd6fe348326525ddf6ece46f7015fa0e", "TT_test_protection_levels.py::test_unlocked": "cb0500a853ad6519a41fb8ecbcdc6599258366e5fdfe687f0c0071f1fba48134", "TT_test_protection_levels.py::test_verify_message_t2": "f7c75af6679a27355819859bc8d6fa4b0f808380e380ba54a0cd817a7dca5cc0", -"TT_test_protection_levels.py::test_wipe_device": "b1739f152dd486d4b5e5646c0055c19ffdfedc79b3ec25a704f022844e4ff2cb", -"TT_test_sdcard.py::test_sd_format": "50820aae86a31a2e910cfab99b8e71815692d1cd6414c80bb2993760afd384fe", +"TT_test_protection_levels.py::test_wipe_device": "dd38f003c0161882040acfa97328984632a87e1cfa6b5c7cdc493cf25cb0ad25", +"TT_test_sdcard.py::test_sd_format": "eba07e37afad303caa072610dc6380a1b3cc2569c53d99ceb3e34e399239c93b", "TT_test_sdcard.py::test_sd_no_format": "14511e3d3ee535d97287d8ade25101e8c16db17c1dc5d3151b91e5e8eba61ba5", "TT_test_sdcard.py::test_sd_protect_unlock": "3059cd2f4f6d821cabe352d7f958878d255175839e6eddb920dbb52796c6ddf0", "TT_test_session.py::test_cannot_resume_ended_session": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", @@ -3300,7 +3300,7 @@ "TT_test_session.py::test_end_session_only_current": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", "TT_test_session.py::test_session_recycling": "fdf4b1631f9726cd27137dc3e20a78d88d223fd774fee8828a1afb33624e9a11", "TT_test_session_id_and_passphrase.py::test_cardano_passphrase": "f39549678b9631de2991711e728ff7a703ab80be965d794b40c69c0010ede943", -"TT_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "9351e6d05bde730224853fefa84b52138feb92eea2dd68cf28a50636b074607b", +"TT_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "74ca896a0493ee40b4e3a709f4cf1ad1d5e80dcccf7229de09fe1a3e40fdc615", "TT_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "f7e9a2550ae7c57cefb0e2a13c62a1ead48fcbd86328d372ec7b54b26d51101a", "TT_test_session_id_and_passphrase.py::test_multiple_passphrases": "f6d22736654a397b99e7ed4700b88235953bf7b11a293b0fa975f8225dfbb07d", "TT_test_session_id_and_passphrase.py::test_multiple_sessions": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", @@ -3316,41 +3316,41 @@ "TT_tezos-test_getaddress.py::test_tezos_get_address_chunkify_details[m-44h-1729h-0h-tz1Kef7BSg-3b56caf9": "f911f2fcc0813237d78c7c59a4237058aec8f8066116703ed4402b70ae802569", "TT_tezos-test_getaddress.py::test_tezos_get_address_chunkify_details[m-44h-1729h-1h-tz1ekQapZC-aca49b5f": "f686330e653bbe1d12bd05b896a9f6fd60b10f9ec1bb2e56cfd8de5e9b7f2941", "TT_tezos-test_getpublickey.py::test_tezos_get_public_key": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3", -"TT_tezos-test_sign_tx.py::test_tezos_kt_remove_delegation": "2ba34b9c165275c38adfca7150c81882136932067814e856086c4d697fc74d76", -"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_delegation": "9c3802faf8ef2ad3d5277239c94fda2e27309b28bfe59d64b104804a7ca3e8db", -"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_multiple_proposals": "1c6fda72d8354c993f4565984f5ab0b890895ddbb4d616f041975fbd47df47a5", -"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_origination": "774e06bb20aa897207e1330007a02ec0774d2c3843d1a9dd18acf3f708ee9b19", -"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_proposal": "3a2511734efc39a9ef4a9c17745520abdfb93a05b91092e0bdf2b32aa4488e82", -"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_reveal": "5a5656536636cad48e148175dd1af6e1c91ddc67d9649ff4d5524e169a477a06", -"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_tranasaction[False]": "86fff3381db2d66d3d489857a42f8c972d18f39ee8e3bd58de6783bedd5b664a", -"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_tranasaction[True]": "bf4c76b60dd27f3a2b4636a711be1d2d9a08305c08b11de48ca9d1631dd99f43", -"TT_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_nay": "e9bf0a20f79f8a8a0f93a354fa39801e4d604eae61f410a864f0d75943a589db", -"TT_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_pass": "9aca8cf454e4d324b74ec6ae3b498268fdf91028b2aa89b0ed9a865805ab4738", -"TT_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_yay": "676616096af684b60e3cdedb9f9c5c47e36edb148039c8300e57a72699bf5e2d", -"TT_tezos-test_sign_tx.py::test_tezos_smart_contract_delegation": "8229e424f084325b88dcc8586d5d07188d6acfab66a7c9acf4235f7d57d56d01", -"TT_tezos-test_sign_tx.py::test_tezos_smart_contract_transfer": "e1344b38f88440fe95b44c99b29cbd50e50dfb2a992fb02ec4ee0b7bb3d9a2d7", -"TT_tezos-test_sign_tx.py::test_tezos_smart_contract_transfer_to_contract": "75bbc1823af1c5f338888695dda11ee1d1aa96d9072598795afeea411f71c29b", +"TT_tezos-test_sign_tx.py::test_tezos_kt_remove_delegation": "842b1dba8dedf7ee6a2c6ce15305dda05b249d7a1cd4ad2854a4a2dead2657d4", +"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_delegation": "2c89c52a396e7aa8aee9b5216307b8aa89fd613d2734cbcad6200f95a614b418", +"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_multiple_proposals": "c755c8ab6ac30e0e6b5e74b820ab2fe8dc2651da9f28d82206c50a1b12002d57", +"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_origination": "dab7d08e722611f6df10c65cf899eb5fd2d7c581b9782b20f915061bf3621a59", +"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_proposal": "9e50c84010c632d4f77cf6986589d02b20612e0750330d7698747648186ee2f1", +"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_reveal": "c96aa7c1a89ea02258c3de675fce069ca711a373e0da6f4243df2bfad4dc99fa", +"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_tranasaction[False]": "872dec677716e31c8a273cbc2fb0b378721f62c8520cc3e58c66424230c6f113", +"TT_tezos-test_sign_tx.py::test_tezos_sign_tx_tranasaction[True]": "a8584c502480d28e3cc5ff93f62f46430bd78103b4d2530130e1b84e8912a6d7", +"TT_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_nay": "37e2bb21c01ac37d2766602293139c1068fb2fa1529e47447b19800e707e1fd2", +"TT_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_pass": "9d4e51b1baf7958ccbce3fd950f56d39b235da4d1428889fa0bdbb9300b781ec", +"TT_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_yay": "dfebebe52bd943dbb719062355b7ac38729cc95339a49b795a34fa900419c4ee", +"TT_tezos-test_sign_tx.py::test_tezos_smart_contract_delegation": "f51e94cc8df4063ceab5fe431c9a53544533d809a6cf43e5beb4b5c2471d44aa", +"TT_tezos-test_sign_tx.py::test_tezos_smart_contract_transfer": "3e23b6eb2ee4d4ae726eee3105dcf06d2914f6dfced39231496ea4c181ecd7ee", +"TT_tezos-test_sign_tx.py::test_tezos_smart_contract_transfer_to_contract": "011aaa0232bfe00f8df11afc2de1c00d01323624e9f4483895965d125e23d971", "TT_webauthn-test_msg_webauthn.py::test_add_remove": "7a5407948b99a424d913a27023920eb5deb2b06cba1b78271c8ff6c69b56b85b", "TT_webauthn-test_u2f_counter.py::test_u2f_counter": "87f09bc2e7d3160ea1ffa7f340ed8513ec64b8bbb64e884e82f80fbb07899e1e", -"TT_zcash-test_sign_tx.py::test_external_presigned": "5110eb059a3a57fc8a7555f4ea2fbdace52c520d40fef0a4f1b1b1e175dda199", -"TT_zcash-test_sign_tx.py::test_one_two": "06b6b4bd3d2c43c58f7f4a4522aee5bf68123f760b541745fcd10ecaf62062a3", +"TT_zcash-test_sign_tx.py::test_external_presigned": "58ca129cf30e1cfb9a4b393967b859094cf7b7a3095bb1962f9199b52fac8245", +"TT_zcash-test_sign_tx.py::test_one_two": "761e56a0674e522af18cdcfc9cdbd398a7f82f9454eb8bebaf076155336f28f7", "TT_zcash-test_sign_tx.py::test_refuse_replacement_tx": "c6bb77373d142024bf2b24d43f7af1867f7b0da28d18e89fb6cdba8b7c8aee81", -"TT_zcash-test_sign_tx.py::test_send_to_multisig": "6a0c42bd49ae7f0d5f18f7fe133cb8e803444351ce1306c2ed17b6960eaf89f3", -"TT_zcash-test_sign_tx.py::test_spend_multisig": "15b57d2bae6a37fc066c026fd6b8213673d8ed18516893b256766fe5e16e1f5b", -"TT_zcash-test_sign_tx.py::test_spend_v4_input": "2055ecbc8607b59f00b6adf79295a2dbb40461594e2f1647341c98e4cfc3116f", -"TT_zcash-test_sign_tx.py::test_spend_v5_input": "2332ed1368fc8b0e50726d9c93f00dc70d99bb4a83b212c516f7aeffd524c90d", -"TT_zcash-test_sign_tx.py::test_unified_address": "91bbc2fb88689074499deb7fe3cc9b252e2ba0aeae7f97730874e90e8e0fb264", +"TT_zcash-test_sign_tx.py::test_send_to_multisig": "d408c807422deac11166c3b232208951b4751fc34b3c85a71d2794a42efe0e5d", +"TT_zcash-test_sign_tx.py::test_spend_multisig": "05e12d33ff11d7d149711105573b25378e819f89bdaf5571d502c77cf50951a5", +"TT_zcash-test_sign_tx.py::test_spend_v4_input": "f780cbed9d8d015ba1872dc35db94fb5b311b179f5a2a4dff057529aaea7b0c3", +"TT_zcash-test_sign_tx.py::test_spend_v5_input": "ba41b7d7c77c4ef9ce5b8e50d749241d0633ccdc22aad8d9491d74a01930add8", +"TT_zcash-test_sign_tx.py::test_unified_address": "c1b8ba70173d3487a777cf73087fbaeb4b385e894d59cc017571673249467ed0", "TT_zcash-test_sign_tx.py::test_version_group_id_missing": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3" }, "persistence_tests": { -"TT_test_safety_checks.py::test_safety_checks_level_after_reboot[SafetyCheckLevel.PromptAlways--081810a6": "8a0498fe716bf0f1089f549950c378a4b5796a2d694ad678db5d8125f06f1e24", -"TT_test_safety_checks.py::test_safety_checks_level_after_reboot[SafetyCheckLevel.PromptTempora-b3d21f4a": "9e7540c5d792d6728289354b23ada645b35ab948684770cb4cfe1d61f50f11f9", -"TT_test_safety_checks.py::test_safety_checks_level_after_reboot[SafetyCheckLevel.Strict-Safety-f1ff9c26": "dc62cf266023ef9f64cf7d2a1303431fdd419d34c74fccc42e9ac6faa0c61400", +"TT_test_safety_checks.py::test_safety_checks_level_after_reboot[SafetyCheckLevel.PromptAlways--081810a6": "51ce15f3cff29b76308e2f65d5b29ea16e6152d400f49b06401b1dde8dca5c75", +"TT_test_safety_checks.py::test_safety_checks_level_after_reboot[SafetyCheckLevel.PromptTempora-b3d21f4a": "af497eea671e8f8a7a3d83065677975e1f5db80ea107dd66b90b896b6b91be07", +"TT_test_safety_checks.py::test_safety_checks_level_after_reboot[SafetyCheckLevel.Strict-Safety-f1ff9c26": "4aba7dcf216bded821ad9c980f53f45d3473df94c813174c31ca8b5d0d35f052", "TT_test_shamir_persistence.py::test_abort": "2ea0b055da3fafc814f8262a00e8f705f14ed4663fef66d778bc50736cc7984c", "TT_test_shamir_persistence.py::test_recovery_multiple_resets": "ac8d9ece45b1abbb62d48e1ec8a69e883b34c679924b257be97edbecd111ffee", "TT_test_shamir_persistence.py::test_recovery_on_old_wallet": "9316efb79e39d5f51f5204a75f5ff266945e1fffbca3a37acaf736c7f1974146", "TT_test_shamir_persistence.py::test_recovery_single_reset": "1725ad629a32c256463f512016cf46f6a607240320aef768b38b38becaf307e9", -"TT_test_wipe_code.py::test_wipe_code_activate_core": "e21fade21796834c53895529765c143252dcb84713f968df04a33a1061cc2962" +"TT_test_wipe_code.py::test_wipe_code_activate_core": "a526847ee364a8a2fa69ad9d735f5578fb884eff2dc86acdb766e51e6810246f" } } }