use std::io::{Read, Write}; fn main() -> Result<(), Box> { let mut raw=Vec::new(); std::io::stdin().take(64*1024*1024+1).read_to_end(&mut raw)?; if raw.len()>64*1024*1024 {return Err("signal_book_transport_limit".into());} let book:fidc_core::signal_contract::SignalBook=serde_json::from_slice(&raw)?; let version=book.content_sha256()?; let validated=book.validate()?; let result=serde_json::json!({"schema":fidc_core::signal_contract::SIGNAL_BOOK_SCHEMA, "versionSha256":version,"symbols":validated.symbols(), "onlineAllowed":validated.require_observed().is_ok()}); std::io::stdout().write_all(serde_json::to_string(&result)?.as_bytes())?; Ok(()) }