pub mod agent;
pub mod trade;
pub mod traits;
pub mod data_providers;
pub mod visualization;
pub mod metrics;
pub mod scars;
pub mod spawning;
pub mod trust_scoring;
pub mod arena;
pub mod advanced;
pub mod market_data;
#[cfg(feature = "ml")]
pub mod ml;
pub use agent::{FinanceAgent, AgentId, AgentMetrics, FinanceAgentStatus};
pub use traits::{
TradingStrategy, MarketDataProvider, EventHandler, VisualizationProvider,
MarketSnapshot, PricePoint, TradeDecision, AgentEvent, VisualizationFormat,
};
pub use trade::{Trade, TradeOperation, TradeResult, TradeDirection, ExecutionError};
pub use scars::{FinancialScar, ScarImpact, FinancialDamage};
pub use spawning::{Offspring, OffspringTraits, InheritanceStrategy};
pub use trust_scoring::{PerformanceScore, TrustFormula, TrustGrant};
pub use arena::{Arena, CompetitionResult, MarketState};
pub use advanced::{BlockchainHook, EvolutionaryStrategy, GovernanceVote, ResurrectionMechanic, ResurrectionRecord};
pub use market_data::{MarketDataClient, PriceData, MarketDataConfig, MarketDataError, CircuitBreakerState};
pub use metrics::{MetricsCollector, MetricsSnapshot};
#[derive(Debug, Clone)]
pub struct FinanceConfig {
pub fee_percentage: f32,
pub max_leverage: f32,
pub scar_threshold: f32,
pub scar_cost_multiplier: f32,
pub min_spawn_capital: u64,
pub spawn_cost_percentage: f32,
}
impl Default for FinanceConfig {
fn default() -> Self {
FinanceConfig {
fee_percentage: 0.1, max_leverage: 5.0, scar_threshold: 5.0, scar_cost_multiplier: 1.05, min_spawn_capital: 10000,
spawn_cost_percentage: 25.0, }
}
}