openethereum/rpc/src/v1/mod.rs

66 lines
2.0 KiB
Rust
Raw Normal View History

// Copyright 2015-2019 Parity Technologies (UK) Ltd.
// This file is part of Parity Ethereum.
2016-02-05 13:40:41 +01:00
// Parity Ethereum is free software: you can redistribute it and/or modify
2016-02-05 13:40:41 +01:00
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Parity Ethereum is distributed in the hope that it will be useful,
2016-02-05 13:40:41 +01:00
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Parity Ethereum. If not, see <http://www.gnu.org/licenses/>.
2016-02-05 13:40:41 +01:00
//! Ethcore rpc v1.
2016-03-04 12:46:54 +01:00
//!
//! Compliant with ethereum rpc.
// short for "try_boxfuture"
// unwrap a result, returning a BoxFuture<_, Err> on failure.
macro_rules! try_bf {
2020-08-05 06:08:03 +02:00
($res: expr) => {
match $res {
Ok(val) => val,
Err(e) => return Box::new(::jsonrpc_core::futures::future::err(e.into())),
}
};
}
#[macro_use]
2016-03-11 10:17:20 +01:00
mod helpers;
mod impls;
#[cfg(test)]
mod tests;
2020-08-05 06:08:03 +02:00
mod types;
2016-03-11 10:17:20 +01:00
pub mod extractors;
pub mod informant;
pub mod metadata;
pub mod traits;
2020-08-05 06:08:03 +02:00
pub use self::{
extractors::{RpcExtractor, WsDispatcher, WsExtractor, WsStats},
helpers::{block_import, dispatch, NetworkSettings},
impls::*,
metadata::Metadata,
traits::{
Debug, Eth, EthFilter, EthPubSub, EthSigning, Net, Parity, ParityAccounts,
ParityAccountsInfo, ParitySet, ParitySetAccounts, ParitySigning, Personal, Private, PubSub,
2020-08-07 19:36:32 +02:00
SecretStore, Signer, Traces, Web3,
2020-08-05 06:08:03 +02:00
},
types::Origin,
};
/// Signer utilities
pub mod signer {
2020-08-05 06:08:03 +02:00
#[cfg(any(test, feature = "accounts"))]
pub use super::helpers::engine_signer::EngineSigner;
pub use super::{
helpers::external_signer::{ConfirmationsQueue, SignerService},
types::{ConfirmationRequest, TransactionCondition, TransactionModification},
};
}