4#include "IoTeXConstants.h"
5#include "IoTeXResultCodes.h"
14 void getHash(
const uint8_t* pData,
size_t size, uint8_t hash[IOTEX_HASH_SIZE]);
15 void getEthereumMessageHash(
const uint8_t* pMsg,
size_t length, uint8_t hash[IOTEX_HASH_SIZE]);
17 void getPublicKey(
const uint8_t privateKey[IOTEX_PRIVATE_KEY_SIZE],
18 uint8_t publicKey[IOTEX_PUBLIC_KEY_SIZE]);
20 ResultCode getSignature(
const uint8_t* data,
size_t size,
21 const uint8_t private_key[IOTEX_PRIVATE_KEY_SIZE],
22 uint8_t signature[IOTEX_SIGNATURE_SIZE]);
24 ResultCode signHash(
const uint8_t hash[IOTEX_HASH_SIZE],
25 const uint8_t private_key[IOTEX_PRIVATE_KEY_SIZE],
26 uint8_t signature[IOTEX_SIGNATURE_SIZE]);
28 void signMessage(
const uint8_t* message,
size_t size,
29 const uint8_t privateKey[IOTEX_PRIVATE_KEY_SIZE],
30 uint8_t signature[IOTEX_SIGNATURE_SIZE]);
32 ResultCode hex2str(
const uint8_t* hex,
size_t hex_size,
char* str,
size_t str_size);
33 ResultCode str2hex(
const char* str, uint8_t* hex,
size_t size);