pub async fn run(
connections: DynP2PConnections<P2PMessage>,
p2p_status_receivers: P2PStatusReceivers,
api_bind: SocketAddr,
cfg: ServerConfig,
db: Database,
module_init_registry: ServerModuleInitRegistry,
task_group: &TaskGroup,
force_api_secrets: ApiSecrets,
data_dir: PathBuf,
code_version_str: String,
dyn_server_bitcoin_rpc: DynServerBitcoinRpc,
ui_bind: SocketAddr,
dashboard_ui_router: DashboardUiRouter,
db_checkpoint_retention: u64,
) -> Result<()>