IoTeX client
All Classes Namespaces Functions Variables Enumerations Pages
encoder.h
1#ifndef IOTEX_ENCODER_H
2#define IOTEX_ENCODER_H
3
4#include "IoTeXConstants.h"
5#include "IoTeXResultCodes.h"
6#include "protobuf/pb_api.h"
7#include <stddef.h>
8#include <stdint.h>
9#include <string>
10#include <vector>
11
12namespace iotex
13{
15{
16 public:
17 // Bech32
18 ResultCode bech32_encodeHexString(const IotexString& data, IotexString& encodedData);
19 ResultCode bech32_encode(const std::vector<uint8_t> data, IotexString& encodedData);
20 ResultCode bech32_convertBytesTo5Bit(const std::vector<uint8_t>& in, std::vector<uint8_t>& out);
21
22 // Base64
23 ResultCode base64_encode(const uint8_t* data, size_t size, char* out);
24
25 // Protobuf
26 int32_t protobuf_encodeTransfer(ResponseTypes::ActionCore_Transfer& transfer, uint8_t* out,
27 size_t maxOutSize);
28 int32_t protobuf_encodeExecution(ResponseTypes::ActionCore_Execution& execution, uint8_t* out,
29 size_t maxOutSize);
30
31 private:
32};
33} // namespace iotex
34
35// Declare global encoder
36extern iotex::Encoder encoder;
37
38#endif
Definition: encoder.h:15
Definition: abi.h:12