ledger-core
EthereumLikeTransactionBuilder.hpp
1 // AUTOGENERATED FILE - DO NOT MODIFY!
2 // This file generated by Djinni from ethereum_like_wallet.djinni
3 
4 #ifndef DJINNI_GENERATED_ETHEREUMLIKETRANSACTIONBUILDER_HPP
5 #define DJINNI_GENERATED_ETHEREUMLIKETRANSACTIONBUILDER_HPP
6 
7 #include <cstdint>
8 #include <memory>
9 #include <string>
10 #include <vector>
11 #ifndef LIBCORE_EXPORT
12  #if defined(_MSC_VER)
13  #include <libcore_export.h>
14  #else
15  #define LIBCORE_EXPORT
16  #endif
17 #endif
18 
19 namespace ledger { namespace core { namespace api {
20 
21 class Amount;
22 class EthereumLikeTransaction;
23 class EthereumLikeTransactionCallback;
24 struct Currency;
25 
31 class LIBCORE_EXPORT EthereumLikeTransactionBuilder {
32 public:
33  virtual ~EthereumLikeTransactionBuilder() {}
34 
41  virtual std::shared_ptr<EthereumLikeTransactionBuilder> sendToAddress(const std::shared_ptr<Amount> & amount, const std::string & address) = 0;
42 
48  virtual std::shared_ptr<EthereumLikeTransactionBuilder> wipeToAddress(const std::string & address) = 0;
49 
54  virtual std::shared_ptr<EthereumLikeTransactionBuilder> setGasPrice(const std::shared_ptr<Amount> & gasPrice) = 0;
55 
60  virtual std::shared_ptr<EthereumLikeTransactionBuilder> setGasLimit(const std::shared_ptr<Amount> & gasLimit) = 0;
61 
63  virtual std::shared_ptr<EthereumLikeTransactionBuilder> setInputData(const std::vector<uint8_t> & data) = 0;
64 
66  virtual void build(const std::shared_ptr<EthereumLikeTransactionCallback> & callback) = 0;
67 
72  virtual std::shared_ptr<EthereumLikeTransactionBuilder> clone() = 0;
73 
75  virtual void reset() = 0;
76 
78  static std::shared_ptr<EthereumLikeTransaction> parseRawUnsignedTransaction(const Currency & currency, const std::vector<uint8_t> & rawTransaction);
79 
81  static std::shared_ptr<EthereumLikeTransaction> parseRawSignedTransaction(const Currency & currency, const std::vector<uint8_t> & rawTransaction);
82 };
83 
84 } } } // namespace ledger::core::api
85 #endif //DJINNI_GENERATED_ETHEREUMLIKETRANSACTIONBUILDER_HPP
Definition: EthereumLikeTransactionBuilder.hpp:31
Definition: Currency.hpp:23
Definition: Account.cpp:8