1#![crate_name = "qtumcore_rpc"]
17#![crate_type = "rlib"]
18
19#[macro_use]
20extern crate log;
21#[allow(unused)]
22#[macro_use] extern crate serde;
24
25pub extern crate jsonrpc;
26
27pub extern crate qtumcore_rpc_json;
28pub use crate::json::qtum;
29pub use qtumcore_rpc_json as json;
30use json::qtum::consensus::{Decodable, ReadExt};
31use qtum_hashes::hex::HexIterator;
32mod client;
35mod error;
36mod queryable;
37
38pub use crate::client::*;
39pub use crate::error::Error;
40pub use crate::queryable::*;
41
42fn deserialize_hex<T: Decodable>(hex: &str) -> Result<T> {
43 let mut reader = HexIterator::new(&hex)?;
44 let object = Decodable::consensus_decode(&mut reader)?;
45 if reader.read_u8().is_ok() {
46 Err(Error::BitcoinSerialization(qtum::consensus::encode::Error::ParseFailed(
47 "data not consumed entirely when explicitly deserializing",
48 )))
49 } else {
50 Ok(object)
51 }
52}