ledger-core
Secp256k1Api.h
1 //
2 // Created by PIERRE POLLASTRI on 25/08/2017.
3 //
4 
5 #ifndef LEDGER_CORE_SECP256K1API_H
6 #define LEDGER_CORE_SECP256K1API_H
7 
8 #include <api/Secp256k1.hpp>
9 #include <include/secp256k1.h>
10 
11 namespace ledger {
12  namespace core {
13  class Secp256k1Api : public api::Secp256k1 {
14  public:
15  Secp256k1Api();
16  std::vector<uint8_t> computePubKey(const std::vector<uint8_t> &privKey, bool compress) override;
17  std::vector<uint8_t> computeUncompressedPubKey(const std::vector<uint8_t> & pubKey) override;
18  std::vector<uint8_t> sign(const std::vector<uint8_t> &privKey, const std::vector<uint8_t> &data) override;
19  bool verify(const std::vector<uint8_t> &data, const std::vector<uint8_t>& signature, const std::vector<uint8_t> &pubKey) override;
20 
21  ~Secp256k1Api();
22  private:
23  secp256k1_context* _context;
24  };
25  }
26 }
27 
28 
29 #endif //LEDGER_CORE_SECP256K1API_H
std::vector< uint8_t > computeUncompressedPubKey(const std::vector< uint8_t > &pubKey) override
Definition: Secp256k1Api.cpp:36
Definition: Secp256k1Api.h:13
std::vector< uint8_t > sign(const std::vector< uint8_t > &privKey, const std::vector< uint8_t > &data) override
Definition: Secp256k1Api.cpp:48
std::vector< uint8_t > computePubKey(const std::vector< uint8_t > &privKey, bool compress) override
Definition: Secp256k1Api.cpp:21
bool verify(const std::vector< uint8_t > &data, const std::vector< uint8_t > &signature, const std::vector< uint8_t > &pubKey) override
Definition: Secp256k1Api.cpp:63
Definition: Account.cpp:8
Definition: Secp256k1.hpp:21