network interface stub
This commit is contained in:
parent
a6e8f376ca
commit
7ada7d0323
|
@ -1,7 +1,9 @@
|
||||||
mod blockchain;
|
mod blockchain;
|
||||||
mod miner;
|
mod miner;
|
||||||
mod raw;
|
mod raw;
|
||||||
|
mod network;
|
||||||
|
|
||||||
pub use self::blockchain::BlockChain;
|
pub use self::blockchain::BlockChain;
|
||||||
pub use self::miner::Miner;
|
pub use self::miner::Miner;
|
||||||
pub use self::raw::Raw;
|
pub use self::raw::Raw;
|
||||||
|
pub use self::network::Network;
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
use jsonrpc_core::Error;
|
||||||
|
use v1::types::AddNodeOperation;
|
||||||
|
|
||||||
|
build_rpc_trait! {
|
||||||
|
/// Parity-bitcoin network interface
|
||||||
|
pub trait Network {
|
||||||
|
/// Add/remove/connecto to the node
|
||||||
|
#[rpc(name = "addnode")]
|
||||||
|
fn add_node(&self, String, AddNodeOperation) -> Result<(), Error>;
|
||||||
|
}
|
||||||
|
}
|
|
@ -9,6 +9,7 @@ mod raw_block;
|
||||||
mod raw_transaction;
|
mod raw_transaction;
|
||||||
mod script;
|
mod script;
|
||||||
mod uint;
|
mod uint;
|
||||||
|
mod nodes;
|
||||||
|
|
||||||
pub use self::block_template::{BlockTemplate, BlockTemplateTransaction};
|
pub use self::block_template::{BlockTemplate, BlockTemplateTransaction};
|
||||||
pub use self::block_template_request::{BlockTemplateRequest, BlockTemplateRequestMode};
|
pub use self::block_template_request::{BlockTemplateRequest, BlockTemplateRequestMode};
|
||||||
|
@ -21,3 +22,4 @@ pub use self::raw_block::RawBlock;
|
||||||
pub use self::raw_transaction::RawTransaction;
|
pub use self::raw_transaction::RawTransaction;
|
||||||
pub use self::script::ScriptType;
|
pub use self::script::ScriptType;
|
||||||
pub use self::uint::U256;
|
pub use self::uint::U256;
|
||||||
|
pub use self::nodes::AddNodeOperation;
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
use serde::{Deserialize, Deserializer};
|
||||||
|
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub enum AddNodeOperation {
|
||||||
|
Add,
|
||||||
|
Remove,
|
||||||
|
OneTry,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Deserialize for AddNodeOperation {
|
||||||
|
fn deserialize<D>(deserializer: &mut D) -> Result<Self, D::Error> where D: Deserializer {
|
||||||
|
use serde::de::Visitor;
|
||||||
|
|
||||||
|
struct DummyVisitor;
|
||||||
|
|
||||||
|
impl Visitor for DummyVisitor {
|
||||||
|
type Value = AddNodeOperation;
|
||||||
|
|
||||||
|
fn visit_str<E>(&mut self, value: &str) -> Result<AddNodeOperation, E> where E: ::serde::de::Error {
|
||||||
|
match value {
|
||||||
|
"add" => Ok(AddNodeOperation::Add),
|
||||||
|
"remove" => Ok(AddNodeOperation::Remove),
|
||||||
|
"onetry" => Ok(AddNodeOperation::OneTry),
|
||||||
|
_ => Err(E::invalid_value(&format!("unknown ScriptType variant: {}", value))),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
deserializer.deserialize(DummyVisitor)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue