use crate::{DatabaseTransaction, Ledger, Op, COL_META, KEY_MEMORY_POOL};
use snarkvm_algorithms::traits::LoadableMerkleParameters;
use snarkvm_objects::{errors::StorageError, traits::Transaction};
impl<T: Transaction, P: LoadableMerkleParameters> Ledger<T, P> {
pub fn get_memory_pool(&self) -> Result<Vec<u8>, StorageError> {
Ok(self.get(COL_META, &KEY_MEMORY_POOL.as_bytes().to_vec())?)
}
pub fn store_to_memory_pool(&self, transactions_serialized: Vec<u8>) -> Result<(), StorageError> {
let op = Op::Insert {
col: COL_META,
key: KEY_MEMORY_POOL.as_bytes().to_vec(),
value: transactions_serialized,
};
self.storage.write(DatabaseTransaction(vec![op]))
}
}