ledger-core
Secp256k1.hpp
1 // AUTOGENERATED FILE - DO NOT MODIFY!
2 // This file generated by Djinni from secp256k1.djinni
3 
4 #ifndef DJINNI_GENERATED_SECP256K1_HPP
5 #define DJINNI_GENERATED_SECP256K1_HPP
6 
7 #include <cstdint>
8 #include <memory>
9 #include <vector>
10 #ifndef LIBCORE_EXPORT
11  #if defined(_MSC_VER)
12  #include <libcore_export.h>
13  #else
14  #define LIBCORE_EXPORT
15  #endif
16 #endif
17 
18 namespace ledger { namespace core { namespace api {
19 
21 class LIBCORE_EXPORT Secp256k1 {
22 public:
23  virtual ~Secp256k1() {}
24 
29  static std::shared_ptr<Secp256k1> createInstance();
30 
37  virtual std::vector<uint8_t> computePubKey(const std::vector<uint8_t> & privKey, bool compress) = 0;
38 
44  virtual std::vector<uint8_t> computeUncompressedPubKey(const std::vector<uint8_t> & pubKey) = 0;
45 
52  virtual std::vector<uint8_t> sign(const std::vector<uint8_t> & privKey, const std::vector<uint8_t> & data) = 0;
53 
61  virtual bool verify(const std::vector<uint8_t> & data, const std::vector<uint8_t> & signature, const std::vector<uint8_t> & pubKey) = 0;
62 
63  static std::shared_ptr<Secp256k1> newInstance();
64 };
65 
66 } } } // namespace ledger::core::api
67 #endif //DJINNI_GENERATED_SECP256K1_HPP
Definition: Account.cpp:8
Definition: Secp256k1.hpp:21