diff --git a/Cargo.lock b/Cargo.lock index 470b57b5..46ea5ea5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -42,7 +42,7 @@ dependencies = [ [[package]] name = "nanos_sdk" version = "0.2.0" -source = "git+https://github.com/LedgerHQ/ledger-nanos-sdk.git#950d8f7c59a9e4d2365c78efc6509013d95b9bbc" +source = "git+https://github.com/alamgu/ledger-nanos-sdk?branch=flag-for-pending#fd43fd65162e6a9c52a95286bf3a3f48fb4ad316" dependencies = [ "cc", "num-traits", @@ -52,7 +52,7 @@ dependencies = [ [[package]] name = "nanos_ui" version = "0.2.0" -source = "git+https://github.com/LedgerHQ/ledger-nanos-ui.git#176800f4013dc03e3c7ad8cb991a607de322f1be" +source = "git+https://github.com/LedgerHQ/ledger-nanos-ui.git#730fed32ffead4b5236940a549841e020b749a3a" dependencies = [ "include_gif", "nanos_sdk", diff --git a/Cargo.toml b/Cargo.toml index 6df25bf8..45dd8fd1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,10 +8,17 @@ edition = "2021" nanos_sdk = { git = "https://github.com/LedgerHQ/ledger-nanos-sdk.git" } nanos_ui = { git = "https://github.com/LedgerHQ/ledger-nanos-ui.git" } +[patch."https://github.com/LedgerHQ/ledger-nanos-sdk.git".nanos_sdk] +git = "https://github.com/alamgu/ledger-nanos-sdk" +branch = "flag-for-pending" + [profile.release] opt-level = 'z' lto = true +[features] +pending_review_screen = ["nanos_sdk/pending_review_screen"] + [package.metadata.nanos] curve = ["secp256k1"] flags = "0" diff --git a/src/main.rs b/src/main.rs index f8ba3ecc..472a0391 100644 --- a/src/main.rs +++ b/src/main.rs @@ -81,6 +81,26 @@ fn sign_ui(message: &[u8]) -> Result, SyscallError> } } +#[no_mangle] +extern "C" fn sample_pending() { + let mut comm = io::Comm::new(); + + loop { + ui::SingleMessage::new("Pending").show(); + match comm.next_event::() { + io::Event::Button(ButtonEvent::RightButtonRelease) => break, + _ => (), + } + } + loop { + ui::SingleMessage::new("Ledger review").show(); + match comm.next_event::() { + io::Event::Button(ButtonEvent::BothButtonsRelease) => break, + _ => (), + } + } +} + #[no_mangle] extern "C" fn sample_main() { let mut comm = io::Comm::new();