#pragma once #include #include "crypto/hash.h" #include "IWallet.h" namespace cryptonote { namespace WalletHelper { class SaveWalletResultObserver : public CryptoNote::IWalletObserver { public: std::promise saveResult; virtual void saveCompleted(std::error_code result) override { saveResult.set_value(result); } }; class InitWalletResultObserver : public CryptoNote::IWalletObserver { public: std::promise initResult; virtual void initCompleted(std::error_code result) override { initResult.set_value(result); } }; class SendCompleteResultObserver : public CryptoNote::IWalletObserver { public: std::future expectedTxID; std::promise sendResult; virtual void sendTransactionCompleted(CryptoNote::TransactionId transactionId, std::error_code result) override { if (transactionId == expectedTxID.get()) sendResult.set_value(result); } }; void prepareFileNames(const std::string& file_path, std::string& keys_file, std::string& wallet_file); } }