#pragma once #include #include #include #include #include //#include #include #include #include #include #include #include #include "scenes/flipbip_scene.h" #include "views/flipbip_scene_1.h" #include "flipbip_coins.h" #define FLIPBIP_VERSION "v1.18" #define TEXT_BUFFER_SIZE 256 typedef struct { Gui* gui; // NotificationApp* notification; ViewDispatcher* view_dispatcher; Submenu* submenu; SceneManager* scene_manager; VariableItemList* variable_item_list; TextInput* text_input; DialogEx* renew_dialog; FlipBipScene1* flipbip_scene_1; char* mnemonic_menu_text; // Settings options int bip39_strength; int passphrase; // Main menu options int coin_type; int overwrite_saved_seed; int import_from_mnemonic; // Text input int input_state; char passphrase_text[TEXT_BUFFER_SIZE]; char import_mnemonic_text[TEXT_BUFFER_SIZE]; char input_text[TEXT_BUFFER_SIZE]; void (*wallet_create)(void* context); } FlipBip; typedef enum { FlipBipViewIdStartscreen, FlipBipViewIdMenu, FlipBipViewIdScene1, FlipBipViewIdSettings, FlipBipViewIdTextInput, FlipBipViewRenewConfirm, } FlipBipViewId; typedef enum { FlipBipStrength128, FlipBipStrength192, FlipBipStrength256, } FlipBipStrengthState; typedef enum { FlipBipPassphraseOff, FlipBipPassphraseOn, } FlipBipPassphraseState; typedef enum { FlipBipTextInputDefault, FlipBipTextInputPassphrase, FlipBipTextInputMnemonic } FlipBipTextInputState; typedef enum { FlipBipStatusSuccess = 0, FlipBipStatusReturn = 10, FlipBipStatusLoadError = 11, FlipBipStatusSaveError = 12, FlipBipStatusMnemonicCheckError = 13, } FlipBipStatus; // There's a scene ID for each coin, then these scenes are after so need to offset the first entry by at least NUM_COINS typedef enum { SubmenuIndexScene1New = NUM_COINS + 1, SubmenuIndexScene1Renew, SubmenuIndexScene1Import, SubmenuIndexSettings, SubmenuIndexNOP, } SubmenuIndex;