git / moonbite-core / src/libmw/include/mw/db/LeafDB.h · raw

#pragma once#include <mw/mmr/Leaf.h>#include <mw/models/crypto/Hash.h>#include <mw/interfaces/db_interface.h>// Forward Declarationsclass Database;class LeafDB{public:    LeafDB(const char prefix, mw::DBWrapper* pDBWrapper, mw::DBBatch* pBatch = nullptr);    ~LeafDB();    std::unique_ptr<mmr::Leaf> Get(const mmr::LeafIndex& idx) const;    void Add(const std::vector<mmr::Leaf>& leaves);    void Remove(const std::vector<mmr::LeafIndex>& indices);    void RemoveAll();private:    char m_prefix;    std::unique_ptr<Database> m_pDatabase;};