ledger-core
BitcoinLikeTransaction.hpp
1 // AUTOGENERATED FILE - DO NOT MODIFY!
2 // This file generated by Djinni from bitcoin_like_wallet.djinni
3 
4 #ifndef DJINNI_GENERATED_BITCOINLIKETRANSACTION_HPP
5 #define DJINNI_GENERATED_BITCOINLIKETRANSACTION_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 BitcoinLikeBlock;
25 class BitcoinLikeInput;
26 class BitcoinLikeOutput;
27 enum class BitcoinLikeSignatureState;
28 struct BitcoinLikeSignature;
29 struct EstimatedSize;
30 
32 class LIBCORE_EXPORT BitcoinLikeTransaction {
33 public:
34  virtual ~BitcoinLikeTransaction() {}
35 
37  virtual std::string getHash() = 0;
38 
40  virtual std::vector<std::shared_ptr<BitcoinLikeInput>> getInputs() = 0;
41 
43  virtual std::vector<std::shared_ptr<BitcoinLikeOutput>> getOutputs() = 0;
44 
46  virtual std::shared_ptr<BitcoinLikeBlock> getBlock() = 0;
47 
49  virtual int64_t getLockTime() = 0;
50 
52  virtual std::shared_ptr<Amount> getFees() = 0;
53 
58  virtual std::chrono::system_clock::time_point getTime() = 0;
59 
61  virtual std::experimental::optional<int32_t> getTimestamp() = 0;
62 
64  virtual int32_t getVersion() = 0;
65 
67  virtual std::vector<uint8_t> serialize() = 0;
68 
70  virtual std::vector<uint8_t> serializeOutputs() = 0;
71 
73  virtual std::experimental::optional<std::vector<uint8_t>> getWitness() = 0;
74 
79  virtual EstimatedSize getEstimatedSize() = 0;
80 
86  virtual BitcoinLikeSignatureState setSignatures(const std::vector<BitcoinLikeSignature> & signatures, bool override) = 0;
87 
92  virtual BitcoinLikeSignatureState setDERSignatures(const std::vector<std::vector<uint8_t>> & signatures, bool override) = 0;
93 };
94 
95 } } } // namespace ledger::core::api
96 #endif //DJINNI_GENERATED_BITCOINLIKETRANSACTION_HPP
Definition: EstimatedSize.hpp:18
Definition: BitcoinLikeTransaction.hpp:32
Definition: Account.cpp:8