Files
app-ethereum/src_nbgl/ui_message_signing.c
Alexandre Paillier c50943e4ca Port EIP712 to the new NBGL streaming use case
Fixes the Flex navigation issue
2024-05-24 15:17:06 +02:00

59 lines
1.7 KiB
C

#include "ui_nbgl.h"
#include "ui_signing.h"
#include "ui_logic.h"
#include "ui_message_signing.h"
#include "glyphs.h"
static void (*g_approved_func)(void) = NULL;
static void (*g_rejected_func)(void) = NULL;
static void ui_message_rejection_handler() {
nbgl_useCaseStatus("Message signing\ncancelled", false, g_rejected_func);
}
static void ui_message_confirm_rejection(void) {
nbgl_useCaseConfirm(REJECT_QUESTION(TEXT_MESSAGE),
NULL,
REJECT_CONFIRM_BUTTON,
RESUME(TEXT_MESSAGE),
ui_message_rejection_handler);
}
void ui_message_review_choice(bool confirm) {
if (confirm) {
nbgl_useCaseStatus("MESSAGE\nSIGNED", true, g_approved_func);
} else {
ui_message_confirm_rejection();
}
}
void ui_message_start(const char *title,
void (*start_func)(void),
void (*approved_func)(void),
void (*rejected_func)(void)) {
g_approved_func = approved_func;
g_rejected_func = rejected_func;
nbgl_useCaseReviewStart(&C_Review_64px,
title,
NULL,
REJECT_BUTTON,
start_func,
ui_message_confirm_rejection);
}
static void ui_message_712_approved(void) {
ui_712_approve();
}
static void ui_message_712_rejected(void) {
ui_712_reject();
}
void ui_typed_message_review_choice(bool confirm) {
if (confirm) {
nbgl_useCaseReviewStatus(STATUS_TYPE_MESSAGE_SIGNED, ui_message_712_approved);
} else {
nbgl_useCaseReviewStatus(STATUS_TYPE_MESSAGE_REJECTED, ui_message_712_rejected);
}
}