32 #ifndef LEDGER_CORE_RLPENCODER_H 33 #define LEDGER_CORE_RLPENCODER_H 36 #include "../BytesWriter.h" 40 class RLPEncoder :
public virtual std::enable_shared_from_this<RLPEncoder>{
43 virtual std::vector<uint8_t> encode() = 0;
44 virtual void append(
const std::string &str) = 0;
45 virtual void append(
const std::vector<uint8_t> &data) = 0;
46 virtual void append(
const std::shared_ptr<RLPEncoder> &child) = 0;
47 virtual std::string toString() = 0;
48 virtual bool isList() = 0;
49 virtual std::vector<std::shared_ptr<RLPEncoder>> getChildren() = 0;
50 static std::vector<uint8_t> encodeLength(uint32_t length, uint8_t offset,
BytesWriter &out);
51 static void toBinary(uint32_t length, std::vector<uint8_t> &out);
57 #endif //LEDGER_CORE_RLPENCODER_H Definition: RLPEncoder.h:40
Definition: BytesWriter.h:44
Definition: Account.cpp:8