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}