src/storage/trie/serialization/trie_serializer.hpp
Namespaces
Classes
Source code
#ifndef SUPERGENIUS_STORAGE_SUPERGENIUS_TRIE_SERIALIZER
#define SUPERGENIUS_STORAGE_SUPERGENIUS_TRIE_SERIALIZER
#include "outcome/outcome.hpp"
#include "storage/trie/supergenius_trie/supergenius_trie.hpp"
#include "singleton/IComponent.hpp"
namespace sgns::storage::trie {
class TrieSerializer : public IComponent{
public:
~TrieSerializer() override = default;
virtual base::Buffer getEmptyRootHash() const = 0;
virtual outcome::result<base::Buffer> storeTrie(SuperGeniusTrie &trie) = 0;
virtual outcome::result<std::unique_ptr<SuperGeniusTrie>> retrieveTrie(
const base::Buffer &db_key) const = 0;
};
} // namespace sgns::storage::trie
#endif // SUPERGENIUS_STORAGE_SUPERGENIUS_TRIE_SERIALIZER
Updated on 2026-03-04 at 13:10:45 -0800