32 #ifndef LEDGER_CORE_ETHEREUMLIKEBLOCKCHAINEXPLORERACCOUNTSYNCHRONIZER_H 33 #define LEDGER_CORE_ETHEREUMLIKEBLOCKCHAINEXPLORERACCOUNTSYNCHRONIZER_H 35 #include <wallet/common/synchronizers/AbstractBlockchainExplorerAccountSynchronizer.h> 36 #include <wallet/ethereum/synchronizers/EthereumLikeAccountSynchronizer.h> 37 #include <wallet/ethereum/keychains/EthereumLikeKeychain.hpp> 38 #include <wallet/ethereum/explorers/EthereumLikeBlockchainExplorer.h> 39 #include <wallet/pool/WalletPool.hpp> 40 #include <async/DedicatedContext.hpp> 41 #include <events/ProgressNotifier.h> 47 class EthereumLikeAccount;
48 using EthereumBlockchainAccountSynchronizer = AbstractBlockchainExplorerAccountSynchronizer<EthereumLikeAccount, EthereumLikeAddress, EthereumLikeKeychain, EthereumLikeBlockchainExplorer>;
52 public std::enable_shared_from_this<EthereumLikeBlockchainExplorerAccountSynchronizer> {
56 const std::shared_ptr<EthereumLikeBlockchainExplorer>& explorer);
58 void updateCurrentBlock(std::shared_ptr<AbstractBlockchainExplorerAccountSynchronizer::SynchronizationBuddy> &buddy,
59 const std::shared_ptr<api::ExecutionContext> &context)
override;
61 void updateTransactionsToDrop(soci::session &sql,
62 std::shared_ptr<SynchronizationBuddy> &buddy,
63 const std::string &accountUid)
override;
65 std::shared_ptr<ProgressNotifier<Unit>> synchronize(
const std::shared_ptr<EthereumLikeAccount>& account)
override ;
66 void reset(
const std::shared_ptr<EthereumLikeAccount> &account,
67 const std::chrono::system_clock::time_point &toDate)
override;
69 bool isSynchronizing()
const override;
73 std::shared_ptr<EthereumBlockchainAccountSynchronizer> getSharedFromThis()
override ;
74 std::shared_ptr<api::ExecutionContext> getSynchronizerContext()
override ;
80 #endif //LEDGER_CORE_ETHEREUMLIKEBLOCKCHAINEXPLORERACCOUNTSYNCHRONIZER_H Definition: EthereumLikeBlockchainExplorerAccountSynchronizer.h:49
Definition: AbstractBlockchainExplorerAccountSynchronizer.h:87
Definition: Account.cpp:8
Definition: DedicatedContext.hpp:39
Definition: EthereumLikeAccountSynchronizer.h:40