src/storage/trie/codec.hpp¶
Namespaces¶
| Name |
|---|
| sgns |
| sgns::storage |
| sgns::storage::trie |
Classes¶
| Name | |
|---|---|
| class | sgns::storage::trie::Codec Internal codec for nodes in the Trie. Eth and substrate have different codecs, but rest of the code should be same. |
Source code¶
#ifndef SUPERGENIUS_TRIE_CODEC_HPP
#define SUPERGENIUS_TRIE_CODEC_HPP
#include "base/blob.hpp" // for Hash256
#include "base/buffer.hpp"
#include "storage/trie/node.hpp"
#include "singleton/IComponent.hpp"
namespace sgns::storage::trie {
class Codec : public IComponent{
public:
~Codec() override = default;
virtual outcome::result<base::Buffer> encodeNode(
const Node &node) const = 0;
virtual outcome::result<std::shared_ptr<Node>> decodeNode(
const base::Buffer &encoded_data) const = 0;
virtual base::Buffer merkleValue(const base::Buffer &buf) const = 0;
virtual base::Hash256 hash256(const base::Buffer &buf) const = 0;
};
} // namespace sgns::storage::trie
#endif // SUPERGENIUS_TRIE_CODEC_HPP
Updated on 2026-03-04 at 13:10:45 -0800