#![warn(missing_docs)]
use futures::Future;
use hyper::rt;
use node_primitives::Hash;
use tc_rpc::author::{
AuthorClient,
hash::ExtrinsicOrHash,
};
use tetsy_jsonrpc_core_client::{
transports::http,
RpcError,
};
fn main() {
tetcore_tracing::try_init_simple();
rt::run(rt::lazy(|| {
let uri = "http://localhost:9933";
http::connect(uri)
.and_then(|client: AuthorClient<Hash, Hash>| {
remove_all_extrinsics(client)
})
.map_err(|e| {
println!("Error: {:?}", e);
})
}))
}
fn remove_all_extrinsics(client: AuthorClient<Hash, Hash>) -> impl Future<Item=(), Error=RpcError> {
client.pending_extrinsics()
.and_then(move |pending| {
client.remove_extrinsic(
pending.into_iter().map(|tx| ExtrinsicOrHash::Extrinsic(tx.into())).collect()
)
})
.map(|removed| {
println!("Removed extrinsics: {:?}", removed);
})
}