""" Demo script — Run the agent in simulation mode for quick demonstration. """ import asyncio import json import logging import sys import os sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from agent.main import YieldRouterAgent, setup_logging async def run_demo(): setup_logging() logger = logging.getLogger("demo") logger.info("=" * 60) logger.info("Dynamic RWA Yield Router — Demo Mode") logger.info("=" * 60) # Initialize agent agent = YieldRouterAgent( wallet_address="0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18", initial_capital=100_000.0, ) # Run 3 cycles logger.info("\nšŸš€ Starting 3 demo cycles...\n") await agent.run( interval_seconds=2, max_cycles=3, generate_reports=True, report_interval_cycles=3, ) # Print final state state = agent.state.to_dict() print("\n" + "=" * 60) print("šŸ“Š FINAL STATE") print("=" * 60) print(json.dumps(state, indent=2)) # Print risk summary risk = agent.risk_manager.get_risk_summary() print("\nšŸ›”ļø RISK SUMMARY") print(json.dumps(risk, indent=2, default=str)) # Print latest report if available if agent.strategy_reporter.report_history: report = agent.strategy_reporter.report_history[-1] print("\nšŸ“Š STRATEGY REPORT") print(report.full_report) if __name__ == "__main__": asyncio.run(run_demo())