31 #ifndef LEDGER_CORE_ETHEREUMLIKEKEYCHAIN_HPP 32 #define LEDGER_CORE_ETHEREUMLIKEKEYCHAIN_HPP 36 #include <utils/DerivationScheme.hpp> 37 #include <utils/Option.hpp> 38 #include <preferences/Preferences.hpp> 39 #include <api/Configuration.hpp> 40 #include <api/DynamicObject.hpp> 41 #include <api/Currency.hpp> 42 #include <api/AccountCreationInfo.hpp> 43 #include <api/ExtendedKeyAccountCreationInfo.hpp> 44 #include <api/EthereumLikeExtendedPublicKey.hpp> 45 #include <ethereum/EthereumLikeAddress.h> 53 using Address = std::shared_ptr<EthereumLikeAddress>;
58 const std::shared_ptr<Preferences>& preferences);
64 const std::shared_ptr<api::EthereumLikeExtendedPublicKey> &xpub,
65 const std::shared_ptr<Preferences> &preferences);
70 const std::string &accountAddress,
71 const std::shared_ptr<Preferences>& preferences);
72 std::vector<Address> getAllObservableAddresses(uint32_t from, uint32_t to);
73 Address getAddress()
const;
75 std::shared_ptr<api::EthereumLikeExtendedPublicKey> getExtendedPublicKey()
const;
77 int getAccountIndex()
const;
84 std::shared_ptr<api::DynamicObject> getConfiguration()
const;
88 std::string getRestoreKey()
const ;
89 bool contains(
const std::string& address)
const ;
90 int32_t getOutputSizeAsSignedTxInput()
const ;
92 std::shared_ptr<Preferences> getPreferences()
const;
96 EthereumLikeKeychain::Address derive();
101 std::shared_ptr<Preferences> _preferences;
102 std::shared_ptr<api::DynamicObject> _configuration;
103 std::shared_ptr<api::EthereumLikeExtendedPublicKey> _xpub;
104 std::string _localPath;
105 std::string _address;
110 #endif //LEDGER_CORE_ETHEREUMLIKEKEYCHAIN_HPP
Definition: EthereumLikeKeychain.hpp:50
Definition: DerivationScheme.hpp:55
Definition: Currency.hpp:23
Definition: Account.cpp:8
Definition: EthereumLikeNetworkParameters.hpp:15