32 #ifndef LEDGER_CORE_RIPPLELIKETRANSACTIONBUILDER_H 33 #define LEDGER_CORE_RIPPLELIKETRANSACTIONBUILDER_H 35 #include <api/RippleLikeTransactionBuilder.hpp> 36 #include <api/Currency.hpp> 37 #include <api/ExecutionContext.hpp> 38 #include <api/Amount.hpp> 40 #include <wallet/common/Amount.h> 41 #include <wallet/ripple/explorers/RippleLikeBlockchainExplorer.h> 43 #include <math/BigInt.h> 45 #include <async/Future.hpp> 46 #include <spdlog/logger.h> 55 std::string toAddress;
56 std::shared_ptr<BigInt> value;
57 std::shared_ptr<BigInt> fees;
60 std::vector<api::RippleLikeMemo> memos;
64 using RippleLikeTransactionBuildFunction = std::function<Future<std::shared_ptr<api::RippleLikeTransaction>>(
69 public std::enable_shared_from_this<RippleLikeTransactionBuilder> {
74 const std::shared_ptr<RippleLikeBlockchainExplorer> &explorer,
75 const std::shared_ptr<spdlog::logger> &
logger,
76 const RippleLikeTransactionBuildFunction &buildFunction);
80 std::shared_ptr<api::RippleLikeTransactionBuilder> sendToAddress(
const std::shared_ptr<api::Amount> &amount,
81 const std::string &address)
override;
83 std::shared_ptr<api::RippleLikeTransactionBuilder> wipeToAddress(
const std::string &address)
override;
85 std::shared_ptr<api::RippleLikeTransactionBuilder> setFees(
const std::shared_ptr<api::Amount> & fees)
override;
87 std::shared_ptr<api::RippleLikeTransactionBuilder> addMemo(
const api::RippleLikeMemo& memo)
override;
89 std::shared_ptr<api::RippleLikeTransactionBuilder> setDestinationTag(int64_t tag)
override;
91 void build(
const std::shared_ptr<api::RippleLikeTransactionCallback> &callback)
override;
95 std::shared_ptr<api::RippleLikeTransactionBuilder> clone()
override;
97 void reset()
override;
99 static std::shared_ptr<api::RippleLikeTransaction> parseRawTransaction(
const api::Currency ¤cy,
100 const std::vector<uint8_t> &rawTransaction,
105 std::shared_ptr<RippleLikeBlockchainExplorer> _explorer;
106 RippleLikeTransactionBuildFunction _build;
107 RippleLikeTransactionBuildRequest _request;
108 std::shared_ptr<api::ExecutionContext> _context;
109 std::shared_ptr<spdlog::logger> _logger;
115 #endif //LEDGER_CORE_RIPPLELIKETRANSACTIONBUILDER_H Definition: RippleLikeTransactionBuilder.h:51
Definition: RippleLikeTransactionBuilder.hpp:27
Definition: Deffered.hpp:49
Definition: RippleLikeTransactionBuilder.h:67
Definition: Currency.hpp:23
Definition: Account.cpp:8
Definition: RippleLikeMemo.hpp:18
Definition: logger.hpp:44