32 #ifndef LEDGER_CORE_RIPPLELIKEEXTENDEDPUBLICKEY_H 33 #define LEDGER_CORE_RIPPLELIKEEXTENDEDPUBLICKEY_H 36 #include "RippleLikeAddress.h" 37 #include <common/AbstractExtendedPublicKey.h> 38 #include <api/RippleLikeExtendedPublicKey.hpp> 39 #include <crypto/DeterministicPublicKey.hpp> 40 #include <api/RippleLikeNetworkParameters.hpp> 41 #include <utils/Option.hpp> 42 #include <utils/DerivationPath.hpp> 43 #include <api/Currency.hpp> 47 using RippleExtendedPublicKey = AbstractExtendedPublicKey<api::RippleLikeNetworkParameters>;
55 std::shared_ptr<api::RippleLikeAddress> derive(
const std::string & path)
override ;
56 std::shared_ptr<RippleLikeExtendedPublicKey> derive(
const DerivationPath &path);
57 std::vector<uint8_t> derivePublicKey(
const std::string & path)
override ;
59 std::vector<uint8_t> deriveHash160(
const std::string & path)
override ;
61 std::string toBase58()
override ;
63 std::string getRootPath()
override ;
65 static std::shared_ptr<RippleLikeExtendedPublicKey> fromRaw(
const api::Currency& params,
66 const optional<std::vector<uint8_t>>& parentPublicKey,
67 const std::vector<uint8_t>& publicKey,
68 const std::vector<uint8_t> &chainCode,
69 const std::string& path);
71 static std::shared_ptr<RippleLikeExtendedPublicKey> fromBase58(
const api::Currency& currency,
72 const std::string& xpubBase58,
98 #endif //LEDGER_CORE_RIPPLELIKEEXTENDEDPUBLICKEY_H Definition: DeterministicPublicKey.hpp:38
Definition: RippleLikeNetworkParameters.hpp:15
Definition: RippleLikeExtendedPublicKey.hpp:23
Definition: AbstractExtendedPublicKey.h:54
Definition: DerivationPath.hpp:40
Definition: RippleLikeExtendedPublicKey.h:48
Definition: Currency.hpp:23
Definition: Account.cpp:8
Definition: optional.hpp:177
std::experimental::optional< RippleLikeNetworkParameters > rippleLikeNetworkParameters
Definition: Currency.hpp:45