#pragma once #include "lite_wallet_server_selection_adapter.h" #include "lite_wallet_lifecycle_service.h" #include "wallet_capabilities.h" #include "../config/settings.h" namespace dragonx { namespace wallet { struct LiteWalletLifecycleUiPrerequisites { bool selectedServerDisplayReady = false; bool lifecycleUiOwnerReady = false; bool operationConfirmed = false; bool privateDataRedactionReady = false; bool syncPlannerFeedReady = false; bool realLifecycleExecutionRequested = false; }; struct LiteWalletLifecycleUiRequestIntent { bool requestProvided = false; LiteWalletLifecycleOperation operation = LiteWalletLifecycleOperation::CreateNew; LiteWalletCreateRequest createRequest; LiteWalletOpenRequest openRequest; LiteWalletRestoreRequest restoreRequest; }; struct LiteWalletLifecycleUiExecutionInput { WalletCapabilities capabilities; LiteWalletLifecycleUiRequestIntent request; bool settingsLoaded = true; bool requirePersistedServerSelectionIntent = true; LiteWalletLifecycleUiPrerequisites ui; bool settingsWriteRequested = false; bool serverConnectivityCheckRequested = false; bool walletExistsCheckRequested = false; bool walletLifecycleExecutionRequested = false; bool syncStartRequested = false; bool syncStatusPollingRequested = false; bool workerQueueEnqueueRequested = false; bool walletStateMutationRequested = false; bool walletFilePersistenceRequested = false; bool sendImportExportExecutionRequested = false; }; } // namespace wallet } // namespace dragonx