1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
//! A store for persisting [`ProtocolData`](contract::value::ProtocolVersion) values at their
//! protocol versions.
use types::ProtocolVersion;

pub mod in_memory;
pub mod lmdb;
#[cfg(test)]
mod tests;

use crate::{protocol_data::ProtocolData, store::Store};

const NAME: &str = "PROTOCOL_DATA_STORE";

/// An entity which persists [`ProtocolData`] values at their protocol versions.
pub trait ProtocolDataStore: Store<ProtocolVersion, ProtocolData> {}