pub struct SimulationOptionsBuilder {
pub duration: Option<u64>,
pub total_users: Option<u64>,
pub market_volatility: Option<f64>,
pub decimal_precision: Option<u32>,
pub interval_type: Option<SimulationInterval>,
pub transaction_fee_percentage: Option<f64>,
pub adoption_rate: Option<f64>,
pub valuation_model: Option<ValuationModel>,
}
Expand description
Builder for creating a new simulation options.
Fields§
§duration: Option<u64>
Duration of the simulation, depending on the interval type.
total_users: Option<u64>
Number of users in the simulation.
market_volatility: Option<f64>
Volatility level. 0.0 is no volatility, 1.0 is maximum volatility. This is used to simulate the price volatility in the market.
decimal_precision: Option<u32>
Decimal precision for the simulation. Default value is 4.
interval_type: Option<SimulationInterval>
Interval type for the simulation.
transaction_fee_percentage: Option<f64>
Transaction fee for each trade, in percentage.
adoption_rate: Option<f64>
Rate at which users adopt the token.
valuation_model: Option<ValuationModel>
Valuation model for the token.
Implementations§
Source§impl SimulationOptionsBuilder
impl SimulationOptionsBuilder
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new simulation options builder to configure the simulation.
§Returns
New simulation options builder.
Sourcepub fn total_users(self, total_users: u64) -> Self
pub fn total_users(self, total_users: u64) -> Self
Sourcepub fn market_volatility(self, market_volatility: f64) -> Self
pub fn market_volatility(self, market_volatility: f64) -> Self
Sourcepub fn decimal_precision(self, decimal_precision: u32) -> Self
pub fn decimal_precision(self, decimal_precision: u32) -> Self
Sourcepub fn interval_type(self, interval_type: SimulationInterval) -> Self
pub fn interval_type(self, interval_type: SimulationInterval) -> Self
Sourcepub fn transaction_fee_percentage(self, transaction_fee: f64) -> Self
pub fn transaction_fee_percentage(self, transaction_fee: f64) -> Self
Sourcepub fn adoption_rate(self, adoption_rate: f64) -> Self
pub fn adoption_rate(self, adoption_rate: f64) -> Self
Sourcepub fn valuation_model(self, valuation_model: ValuationModel) -> Self
pub fn valuation_model(self, valuation_model: ValuationModel) -> Self
Sourcepub fn build(self) -> Result<SimulationOptions, SimulationError>
pub fn build(self) -> Result<SimulationOptions, SimulationError>
Build the simulation options.
§Returns
Built simulation options or an error if required fields are missing.
Trait Implementations§
Source§impl Debug for SimulationOptionsBuilder
impl Debug for SimulationOptionsBuilder
Source§impl Default for SimulationOptionsBuilder
impl Default for SimulationOptionsBuilder
Source§fn default() -> SimulationOptionsBuilder
fn default() -> SimulationOptionsBuilder
Returns the “default value” for a type. Read more
Source§impl PartialEq for SimulationOptionsBuilder
impl PartialEq for SimulationOptionsBuilder
impl StructuralPartialEq for SimulationOptionsBuilder
Auto Trait Implementations§
impl Freeze for SimulationOptionsBuilder
impl RefUnwindSafe for SimulationOptionsBuilder
impl Send for SimulationOptionsBuilder
impl Sync for SimulationOptionsBuilder
impl Unpin for SimulationOptionsBuilder
impl UnwindSafe for SimulationOptionsBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more