gmsol_store/states/market/revertible/
mod.rs

1mod buffer;
2
3/// Revertible Market.
4pub mod market;
5
6/// Revertible Swap Market.
7pub mod swap_market;
8
9/// Revertible Liquidity Market.
10pub mod liquidity_market;
11
12/// Revertible Position.
13pub mod revertible_position;
14
15pub use self::{
16    liquidity_market::RevertibleLiquidityMarket, market::RevertibleMarket,
17    revertible_position::RevertiblePosition,
18};
19
20pub(super) use self::buffer::RevertibleBuffer;
21
22/// Revertible type.
23pub trait Revertible {
24    /// Commit the changes.
25    ///
26    /// ## Panic
27    /// - Should panic if the commitment cannot be done.
28    fn commit(self);
29}
30
31/// Type that has a revision.
32pub trait Revision {
33    /// Get the revision.
34    fn rev(&self) -> u64;
35}