-
-
Notifications
You must be signed in to change notification settings - Fork 654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor(core/mercury): separate upy args parsing #4182
base: main
Are you sure you want to change the base?
Conversation
Similar thing was done here for bootloader and "common". Need to take a look how to take the same/similar approach for firmware. #3658 |
7b39754
to
d4a159d
Compare
- removes 2nd definition of ConfirmBlobParams, the choice of fields and what supplied in ctor and what in `with_` methods should be thought through again. [no changelog]
d4a159d
to
b616b27
Compare
[no changelog]
Supply the rust layout with dedicated paremeter type instead of plain micropython::Obj. The types used are ConfirmBlobParams and ShowInfoParams. [no changelog]
b616b27
to
58347bc
Compare
The only conflict with #3686 should be: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wrote some thoughts inline but overall this should be a harmless refactor that can be merged when CI passes.
case_sensitive: bool, | ||
account: Option<TString<'static>>, | ||
path: Option<TString<'static>>, | ||
xpubs: Obj, // TODO: get rid of Obj |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps this can use some kind of closure?
@@ -1540,16 +1866,16 @@ pub static mp_module_trezorui2: Module = obj_module! { | |||
/// br_code: ButtonRequestType, | |||
/// br_name: str, | |||
/// ) -> LayoutObj[tuple[UiResult, int]]: | |||
/// """Numer input with + and - buttons, description, and context menu with cancel and | |||
/// """Numebr input with + and - buttons, description, and context menu with cancel and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/// """Numebr input with + and - buttons, description, and context menu with cancel and | |
/// """Number input with + and - buttons, description, and context menu with cancel and |
This PR separates the Rust flows from micropython layer.
The idea is to do the uPy argument parsing in
ui/model_mercury/layout.rs
and then pass them as regular arguments to code inui/model_mercury/flow/**.rs
, i.e. they won't be passed asargs: &[Obj], kwargs: &Map
. The goal is to keep the rust flows independent frommicropython
sub-crate. This separation is done for two reasons:flows
creation whichThis PR has no impact on UI or features.
TODO:
Obj
andIterBuf
get_address.rs
, postponing this for now