32 #ifndef LEDGER_CORE_TEZOSLIKEORIGINATEDACCOUNT_H 33 #define LEDGER_CORE_TEZOSLIKEORIGINATEDACCOUNT_H 36 #include <api/TezosLikeOriginatedAccount.hpp> 37 #include <api/OperationQuery.hpp> 38 #include <utils/Option.hpp> 39 #include <wallet/tezos/TezosLikeAccount.h> 40 #include <wallet/common/OperationQuery.h> 41 #include <api/Amount.hpp> 42 #include <api/AmountCallback.hpp> 43 #include <api/AmountListCallback.hpp> 44 #include <api/TimePeriod.hpp> 50 const std::shared_ptr<DatabaseSessionPool>& pool,
51 const std::shared_ptr<api::ExecutionContext>& context,
52 const std::shared_ptr<api::ExecutionContext>& mainContext) :
OperationQuery(headFilter, pool, context, mainContext) {
56 virtual soci::rowset<soci::row> performExecute(soci::session &sql) {
57 return _builder.select(
"o.account_uid, o.uid, o.wallet_uid, o.type, o.date, o.senders, o.recipients," 58 "o.amount, o.fees, o.currency_name, o.trust, b.hash, b.height, b.time, orig_op.uid" 60 .from(
"operations").to(
"o")
61 .outerJoin(
"blocks AS b",
"o.block_uid = b.uid")
62 .outerJoin(
"tezos_originated_operations AS orig_op",
"o.uid = orig_op.uid")
70 const std::string &address,
71 const std::shared_ptr<TezosLikeAccount> &originatorAccount,
76 std::string getAccountUid();
78 std::string getAddress()
override;
82 void getBalance(
const std::shared_ptr<api::AmountCallback> & callback)
override;
85 void getBalanceHistory(
const std::chrono::system_clock::time_point & start,
86 const std::chrono::system_clock::time_point & end,
87 api::TimePeriod period,
88 const std::shared_ptr<api::AmountListCallback> & callback)
override;
91 const std::chrono::system_clock::time_point & start,
92 const std::chrono::system_clock::time_point & end,
93 api::TimePeriod period);
95 bool isSpendable()
override;
97 bool isDelegatable()
override;
99 std::shared_ptr<api::OperationQuery> queryOperations()
override;
101 void setPublicKey(
const std::string &publicKey);
103 std::shared_ptr<api::TezosLikeTransactionBuilder> buildTransaction()
override;
106 std::string _accountUid;
107 std::string _address;
111 std::weak_ptr<TezosLikeAccount> _originatorAccount;
115 #endif //LEDGER_CORE_TEZOSLIKEORIGINATEDACCOUNT_H Definition: OperationQuery.h:48
Definition: Deffered.hpp:49
Definition: TezosLikeOriginatedAccount.hpp:28
Definition: TezosLikeOriginatedAccount.h:67
Definition: Account.cpp:8
Definition: TezosLikeOriginatedAccount.h:47