4#include "IoTeXConstants.h"
5#include "IoTeXResultCodes.h"
21 void getHash(
const uint8_t* pData,
size_t size, uint8_t hash[IOTEX_HASH_SIZE]);
38 void getPublicKey(
const uint8_t privateKey[IOTEX_PRIVATE_KEY_SIZE],
39 uint8_t publicKey[IOTEX_PUBLIC_KEY_SIZE]);
49 ResultCode
signHash(
const uint8_t hash[IOTEX_HASH_SIZE],
50 const uint8_t private_key[IOTEX_PRIVATE_KEY_SIZE],
51 uint8_t signature[IOTEX_SIGNATURE_SIZE]);
61 void signMessage(
const uint8_t* message,
size_t size,
62 const uint8_t privateKey[IOTEX_PRIVATE_KEY_SIZE],
63 uint8_t signature[IOTEX_SIGNATURE_SIZE]);
74 ResultCode
hex2str(
const uint8_t* hex,
size_t hex_size,
char* str,
size_t str_size);
85 ResultCode
str2hex(
const char* str, uint8_t* hex,
size_t size,
size_t strLength = 0);
void getPublicKey(const uint8_t privateKey[IOTEX_PRIVATE_KEY_SIZE], uint8_t publicKey[IOTEX_PUBLIC_KEY_SIZE])
Get the public key from the private key.
Definition: signer.cpp:91
ResultCode str2hex(const char *str, uint8_t *hex, size_t size, size_t strLength=0)
Convert a hex string to a byte array.
Definition: signer.cpp:167
void signMessage(const uint8_t *message, size_t size, const uint8_t privateKey[IOTEX_PRIVATE_KEY_SIZE], uint8_t signature[IOTEX_SIGNATURE_SIZE])
Sign an ethereum message.
Definition: signer.cpp:110
void getHash(const uint8_t *pData, size_t size, uint8_t hash[IOTEX_HASH_SIZE])
Get the kekkac 256 hash.
Definition: signer.cpp:25
ResultCode hex2str(const uint8_t *hex, size_t hex_size, char *str, size_t str_size)
Convert a byte array to a hex string.
Definition: signer.cpp:142
ResultCode signHash(const uint8_t hash[IOTEX_HASH_SIZE], const uint8_t private_key[IOTEX_PRIVATE_KEY_SIZE], uint8_t signature[IOTEX_SIGNATURE_SIZE])
Sign a hash.
Definition: signer.cpp:97
void getEthereumMessageHash(const uint8_t *pMsg, size_t length, uint8_t hash[IOTEX_HASH_SIZE])
Get the Ethereum Message hash.
Definition: signer.cpp:30