统一第二版信号簿字段并提供原生校验入口
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
use std::io::{Read, Write};
|
||||
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
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(())
|
||||
}
|
||||
Reference in New Issue
Block a user