ledger-core
EthereumLikeTransaction.hpp
1 // AUTOGENERATED FILE - DO NOT MODIFY!
2 // This file generated by Djinni from ethereum_like_wallet.djinni
3 
4 #ifndef DJINNI_GENERATED_ETHEREUMLIKETRANSACTION_HPP
5 #define DJINNI_GENERATED_ETHEREUMLIKETRANSACTION_HPP
6 
7 #include "../utils/optional.hpp"
8 #include <chrono>
9 #include <cstdint>
10 #include <memory>
11 #include <string>
12 #include <vector>
13 #ifndef LIBCORE_EXPORT
14  #if defined(_MSC_VER)
15  #include <libcore_export.h>
16  #else
17  #define LIBCORE_EXPORT
18  #endif
19 #endif
20 
21 namespace ledger { namespace core { namespace api {
22 
23 class Amount;
24 class EthereumLikeAddress;
25 class EthereumLikeBlock;
26 
28 class LIBCORE_EXPORT EthereumLikeTransaction {
29 public:
30  virtual ~EthereumLikeTransaction() {}
31 
33  virtual std::string getHash() = 0;
34 
36  virtual int32_t getNonce() = 0;
37 
39  virtual std::shared_ptr<Amount> getGasPrice() = 0;
40 
42  virtual std::shared_ptr<Amount> getGasLimit() = 0;
43 
45  virtual std::shared_ptr<Amount> getGasUsed() = 0;
46 
48  virtual std::shared_ptr<EthereumLikeAddress> getReceiver() = 0;
49 
51  virtual std::shared_ptr<EthereumLikeAddress> getSender() = 0;
52 
54  virtual std::shared_ptr<Amount> getValue() = 0;
55 
58 
60  virtual int32_t getStatus() = 0;
61 
63  virtual std::vector<uint8_t> serialize() = 0;
64 
66  virtual void setSignature(const std::vector<uint8_t> & vSignature, const std::vector<uint8_t> & rSignature, const std::vector<uint8_t> & sSignature) = 0;
67 
68  virtual void setDERSignature(const std::vector<uint8_t> & signature) = 0;
69 
70  virtual void setVSignature(const std::vector<uint8_t> & vSignature) = 0;
71 
76  virtual std::chrono::system_clock::time_point getDate() = 0;
77 
79  virtual std::shared_ptr<EthereumLikeBlock> getBlock() = 0;
80 };
81 
82 } } } // namespace ledger::core::api
83 #endif //DJINNI_GENERATED_ETHEREUMLIKETRANSACTION_HPP
Definition: EthereumLikeTransaction.hpp:28
Definition: Account.cpp:8
Definition: optional.hpp:177