Fabcoin Core  0.16.2
P2P Digital Currency
AccountManager.h
Go to the documentation of this file.
1 /*
2  This file is part of cpp-ethereum.
3 
4  cpp-ethereum is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  cpp-ethereum is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
16 */
21 #pragma once
22 #include <libethcore/KeyManager.h>
23 
33 {
34 public:
36  bool execute(int argc, char** argv);
38  void static streamAccountHelp(std::ostream& _out);
40  void static streamWalletHelp(std::ostream& _out);
41 
42 private:
44  std::string createPassword(std::string const& _prompt) const;
46  dev::KeyPair makeKey() const;
48  bool openWallet();
49 
50  std::unique_ptr<dev::eth::KeyManager> m_keyManager;
51 };
52 
53 
static void streamWalletHelp(std::ostream &_out)
stream wallet help section
Simple class that represents a "key pair".
Definition: Common.h:150
std::string createPassword(std::string const &_prompt) const
ask end user to create a password.
dev::KeyPair makeKey() const
creates a ramdom secret/address pair. It uses ICAP.
static void streamAccountHelp(std::ostream &_out)
stream account help section
bool execute(int argc, char **argv)
uses argc, argv provided by the CLI and executes implemented options.
Add account management functionnalities to CLI.
std::unique_ptr< dev::eth::KeyManager > m_keyManager
bool openWallet()
instanciate KeyManager and open the wallet.