myco-bonding-curve/dashboard/app.py

72 lines
1.5 KiB
Python

"""MYCO Bonding Surface — Interactive Dashboard.
Run: streamlit run dashboard/app.py
"""
import streamlit as st
st.set_page_config(
page_title="MYCO Bonding Surface",
page_icon="🍄",
layout="wide",
)
st.title("MycoFi Protocol Dashboard")
st.caption("Multi-chain bonding surfaces, risk tranches, conviction governance, and cadCAD simulations.")
# Initialize default config in session_state if not present
if "myco_config" not in st.session_state:
from src.composed.myco_surface import MycoSystemConfig
st.session_state["myco_config"] = MycoSystemConfig()
(
tab_config, tab_launch, tab_dca, tab_signal, tab_stress, tab_crdt,
tab_crosschain, tab_tranches, tab_governance, tab_cadcad,
) = st.tabs([
"System Config",
"Token Launch",
"DCA Explorer",
"Signal Router",
"Stress Tests",
"CRDT Flow",
"Cross-Chain",
"Risk Tranches",
"Governance",
"cadCAD Sim",
])
from dashboard.tabs import (
system_config, token_launch, dca_explorer, signal_router,
stress_tests, crdt_flow, crosschain, tranches, governance, cadcad_sim,
)
with tab_config:
system_config.render()
with tab_launch:
token_launch.render()
with tab_dca:
dca_explorer.render()
with tab_signal:
signal_router.render()
with tab_stress:
stress_tests.render()
with tab_crdt:
crdt_flow.render()
with tab_crosschain:
crosschain.render()
with tab_tranches:
tranches.render()
with tab_governance:
governance.render()
with tab_cadcad:
cadcad_sim.render()