32 #ifndef LEDGER_CORE_RIPPLELIKEACCOUNT_H 33 #define LEDGER_CORE_RIPPLELIKEACCOUNT_H 37 #include <api/AddressListCallback.hpp> 38 #include <api/AmountCallback.hpp> 39 #include <api/Address.hpp> 40 #include <api/RippleLikeAccount.hpp> 41 #include <api/RippleLikeTransactionBuilder.hpp> 42 #include <api/StringCallback.hpp> 43 #include <api/Event.hpp> 44 #include <api/BoolCallback.hpp> 45 #include <wallet/common/AbstractWallet.hpp> 46 #include <wallet/common/AbstractAccount.hpp> 47 #include <wallet/common/Amount.h> 48 #include <wallet/ripple/explorers/RippleLikeBlockchainExplorer.h> 49 #include <wallet/ripple/synchronizers/RippleLikeAccountSynchronizer.h> 50 #include <wallet/ripple/observers/RippleLikeBlockchainObserver.h> 51 #include <wallet/ripple/keychains/RippleLikeKeychain.h> 58 static const int FLAG_TRANSACTION_IGNORED = 0x00;
59 static const int FLAG_NEW_TRANSACTION = 0x01;
60 static const int FLAG_TRANSACTION_UPDATED = 0x01 << 1;
64 const std::shared_ptr<RippleLikeBlockchainExplorer> &explorer,
65 const std::shared_ptr<RippleLikeBlockchainObserver> &observer,
66 const std::shared_ptr<RippleLikeAccountSynchronizer> &synchronizer,
67 const std::shared_ptr<RippleLikeKeychain> &keychain);
72 const std::shared_ptr<const AbstractWallet> &wallet,
79 std::shared_ptr<RippleLikeKeychain> getKeychain()
const;
86 getBalanceHistory(
const std::string &start,
87 const std::string &end,
88 api::TimePeriod precision)
override;
94 std::shared_ptr<api::EventBus>
synchronize()
override;
104 void broadcastRawTransaction(
const std::vector<uint8_t> &transaction,
105 const std::shared_ptr<api::StringCallback> &callback)
override;
107 void broadcastTransaction(
const std::shared_ptr<api::RippleLikeTransaction> &transaction,
108 const std::shared_ptr<api::StringCallback> &callback)
override;
110 std::shared_ptr<api::RippleLikeTransactionBuilder> buildTransaction()
override;
114 void getFees(
const std::shared_ptr<api::AmountCallback> & callback)
override;
117 void getBaseReserve(
const std::shared_ptr<api::AmountCallback> & callback)
override;
120 void isAddressActivated(
const std::string &address,
121 const std::shared_ptr<api::BoolCallback> &isActivated)
override;
122 Future<bool> isAddressActivated(
const std::string &address);
124 std::shared_ptr<RippleLikeAccount> getSelf();
126 std::shared_ptr<RippleLikeKeychain> _keychain;
127 std::string _accountAddress;
128 std::shared_ptr<RippleLikeBlockchainExplorer> _explorer;
129 std::shared_ptr<RippleLikeAccountSynchronizer> _synchronizer;
130 std::shared_ptr<RippleLikeBlockchainObserver> _observer;
131 std::shared_ptr<api::EventBus> _currentSyncEventBus;
132 std::mutex _synchronizationLock;
133 uint64_t _currentLedgerSequence;
138 #endif //LEDGER_CORE_RIPPLELIKEACCOUNT_H Definition: RippleLikeAccount.hpp:28
void startBlockchainObservation() override
Definition: RippleLikeAccount.cpp:361
Definition: AbstractAccount.hpp:55
Definition: Deffered.hpp:49
bool isSynchronizing() override
Definition: RippleLikeAccount.cpp:306
std::shared_ptr< api::EventBus > synchronize() override
Definition: RippleLikeAccount.cpp:311
std::string getRestoreKey() override
Definition: RippleLikeAccount.cpp:373
Definition: RippleLikeBlockchainExplorer.h:55
bool isObservingBlockchain() override
Definition: RippleLikeAccount.cpp:369
Definition: Operation.h:53
std::shared_ptr< api::OperationQuery > queryOperations() override
Definition: RippleLikeAccount.cpp:184
Definition: Account.cpp:8
void stopBlockchainObservation() override
Definition: RippleLikeAccount.cpp:365
Definition: RippleLikeAccount.h:55