#[cfg(feature = "http")]
pub mod http;
pub mod jsonrpc;
#[macro_use]
pub mod method;
pub mod bloom;
mod debug;
mod serialization;
pub mod types;
#[cfg(feature = "http")]
pub use reqwest;
use self::types::*;
module! {
pub mod web3 {
pub struct ClientVersion as "web3_clientVersion"
Empty => String;
}
}
module! {
pub mod eth {
pub struct BlockNumber as "eth_blockNumber"
Empty => U256;
pub struct Call as "eth_call"
(TransactionCall, BlockId) => Vec<u8> [serialization::bytes];
pub struct GetBlockByHash as "eth_getBlockByHash"
(Digest, Hydrated) => Option<Block>;
pub struct GetBlockByNumber as "eth_getBlockByNumber"
(BlockSpec, Hydrated) => Option<Block>;
}
}
pub mod ext {
use crate::{serialization, types::*};
module! {
pub mod eth {
pub struct Call as "eth_call"
(TransactionCall, BlockId, StateOverrides) => Vec<u8> [serialization::bytes];
}
}
}