pub struct Eth<T> { /* private fields */ }Expand description
Eth namespace
§Example
fn get_gas_price() {
use pink_web3::api::{Eth, Namespace};
use pink_web3::transports::pink_http::PinkHttp;
let phttp = PinkHttp::new("http://localhost:3333");
let eth = Eth::new(phttp);
let result = eth.gas_price().resolve();
assert!(result.is_ok());
}Implementations§
Source§impl<T: Transport> Eth<T>
impl<T: Transport> Eth<T>
Sourcepub fn block_number(&self) -> CallFuture<U64, T::Out> ⓘ
pub fn block_number(&self) -> CallFuture<U64, T::Out> ⓘ
Get current block number
Sourcepub fn call(
&self,
req: CallRequest,
block: Option<BlockId>,
) -> CallFuture<Bytes, T::Out> ⓘ
pub fn call( &self, req: CallRequest, block: Option<BlockId>, ) -> CallFuture<Bytes, T::Out> ⓘ
Call a constant method of contract without changing the state of the blockchain.
Sourcepub fn compile_lll(&self, code: String) -> CallFuture<Bytes, T::Out> ⓘ
pub fn compile_lll(&self, code: String) -> CallFuture<Bytes, T::Out> ⓘ
Compile LLL
Sourcepub fn compile_solidity(&self, code: String) -> CallFuture<Bytes, T::Out> ⓘ
pub fn compile_solidity(&self, code: String) -> CallFuture<Bytes, T::Out> ⓘ
Compile Solidity
Sourcepub fn compile_serpent(&self, code: String) -> CallFuture<Bytes, T::Out> ⓘ
pub fn compile_serpent(&self, code: String) -> CallFuture<Bytes, T::Out> ⓘ
Compile Serpent
Sourcepub fn estimate_gas(
&self,
req: CallRequest,
block: Option<BlockNumber>,
) -> CallFuture<U256, T::Out> ⓘ
pub fn estimate_gas( &self, req: CallRequest, block: Option<BlockNumber>, ) -> CallFuture<U256, T::Out> ⓘ
Call a contract without changing the state of the blockchain to estimate gas usage.
Sourcepub fn fee_history(
&self,
block_count: U256,
newest_block: BlockNumber,
reward_percentiles: Option<Vec<f64>>,
) -> CallFuture<FeeHistory, T::Out> ⓘ
pub fn fee_history( &self, block_count: U256, newest_block: BlockNumber, reward_percentiles: Option<Vec<f64>>, ) -> CallFuture<FeeHistory, T::Out> ⓘ
Returns a collection of historical gas information. This can be used for evaluating the max_fee_per_gas and max_priority_fee_per_gas to send the future transactions.
Sourcepub fn balance(
&self,
address: Address,
block: Option<BlockNumber>,
) -> CallFuture<U256, T::Out> ⓘ
pub fn balance( &self, address: Address, block: Option<BlockNumber>, ) -> CallFuture<U256, T::Out> ⓘ
Get balance of given address
Sourcepub fn logs(&self, filter: Filter) -> CallFuture<Vec<Log>, T::Out> ⓘ
pub fn logs(&self, filter: Filter) -> CallFuture<Vec<Log>, T::Out> ⓘ
Get all logs matching a given filter object
Sourcepub fn block(&self, block: BlockId) -> CallFuture<Option<Block<H256>>, T::Out> ⓘ
pub fn block(&self, block: BlockId) -> CallFuture<Option<Block<H256>>, T::Out> ⓘ
Get block details with transaction hashes.
Sourcepub fn block_with_txs(
&self,
block: BlockId,
) -> CallFuture<Option<Block<Transaction>>, T::Out> ⓘ
pub fn block_with_txs( &self, block: BlockId, ) -> CallFuture<Option<Block<Transaction>>, T::Out> ⓘ
Get block details with full transaction objects.
Sourcepub fn block_transaction_count(
&self,
block: BlockId,
) -> CallFuture<Option<U256>, T::Out> ⓘ
pub fn block_transaction_count( &self, block: BlockId, ) -> CallFuture<Option<U256>, T::Out> ⓘ
Get number of transactions in block
Sourcepub fn code(
&self,
address: Address,
block: Option<BlockNumber>,
) -> CallFuture<Bytes, T::Out> ⓘ
pub fn code( &self, address: Address, block: Option<BlockNumber>, ) -> CallFuture<Bytes, T::Out> ⓘ
Get code under given address
Sourcepub fn request_accounts(&self) -> CallFuture<Vec<Address>, T::Out> ⓘ
pub fn request_accounts(&self) -> CallFuture<Vec<Address>, T::Out> ⓘ
Get available user accounts. This method is only available in the browser. With MetaMask, this will cause the popup that prompts the user to allow or deny access to their accounts to your app.
Sourcepub fn storage(
&self,
address: Address,
idx: U256,
block: Option<BlockNumber>,
) -> CallFuture<H256, T::Out> ⓘ
pub fn storage( &self, address: Address, idx: U256, block: Option<BlockNumber>, ) -> CallFuture<H256, T::Out> ⓘ
Get storage entry
Sourcepub fn transaction_count(
&self,
address: Address,
block: Option<BlockNumber>,
) -> CallFuture<U256, T::Out> ⓘ
pub fn transaction_count( &self, address: Address, block: Option<BlockNumber>, ) -> CallFuture<U256, T::Out> ⓘ
Get nonce
Sourcepub fn transaction(
&self,
id: TransactionId,
) -> CallFuture<Option<Transaction>, T::Out> ⓘ
pub fn transaction( &self, id: TransactionId, ) -> CallFuture<Option<Transaction>, T::Out> ⓘ
Get transaction
Sourcepub fn transaction_receipt(
&self,
hash: H256,
) -> CallFuture<Option<TransactionReceipt>, T::Out> ⓘ
pub fn transaction_receipt( &self, hash: H256, ) -> CallFuture<Option<TransactionReceipt>, T::Out> ⓘ
Get transaction receipt
Sourcepub fn uncle_header(
&self,
block: BlockId,
index: Index,
) -> CallFuture<Option<BlockHeader>, T::Out> ⓘ
pub fn uncle_header( &self, block: BlockId, index: Index, ) -> CallFuture<Option<BlockHeader>, T::Out> ⓘ
Get uncle header by block ID and uncle index.
This method is meant for TurboGeth compatiblity, which is missing transaction hashes in the response.
Sourcepub fn uncle(
&self,
block: BlockId,
index: Index,
) -> CallFuture<Option<Block<H256>>, T::Out> ⓘ
pub fn uncle( &self, block: BlockId, index: Index, ) -> CallFuture<Option<Block<H256>>, T::Out> ⓘ
Get uncle by block ID and uncle index – transactions only has hashes.
Sourcepub fn uncle_count(&self, block: BlockId) -> CallFuture<Option<U256>, T::Out> ⓘ
pub fn uncle_count(&self, block: BlockId) -> CallFuture<Option<U256>, T::Out> ⓘ
Get uncle count in block
Sourcepub fn new_block_filter(&self) -> CallFuture<U256, T::Out> ⓘ
pub fn new_block_filter(&self) -> CallFuture<U256, T::Out> ⓘ
Start new block filter
Sourcepub fn new_pending_transaction_filter(&self) -> CallFuture<U256, T::Out> ⓘ
pub fn new_pending_transaction_filter(&self) -> CallFuture<U256, T::Out> ⓘ
Start new pending transaction filter
Sourcepub fn protocol_version(&self) -> CallFuture<String, T::Out> ⓘ
pub fn protocol_version(&self) -> CallFuture<String, T::Out> ⓘ
Start new pending transaction filter
Sourcepub fn send_raw_transaction(&self, rlp: Bytes) -> CallFuture<H256, T::Out> ⓘ
pub fn send_raw_transaction(&self, rlp: Bytes) -> CallFuture<H256, T::Out> ⓘ
Sends a rlp-encoded signed transaction
Sourcepub fn send_transaction(
&self,
tx: TransactionRequest,
) -> CallFuture<H256, T::Out> ⓘ
pub fn send_transaction( &self, tx: TransactionRequest, ) -> CallFuture<H256, T::Out> ⓘ
Sends a transaction transaction
Sourcepub fn sign(&self, address: Address, data: Bytes) -> CallFuture<H520, T::Out> ⓘ
pub fn sign(&self, address: Address, data: Bytes) -> CallFuture<H520, T::Out> ⓘ
Signs a hash of given data
Sourcepub fn submit_hashrate(&self, rate: U256, id: H256) -> CallFuture<bool, T::Out> ⓘ
pub fn submit_hashrate(&self, rate: U256, id: H256) -> CallFuture<bool, T::Out> ⓘ
Submit hashrate of external miner
Sourcepub fn submit_work(
&self,
nonce: H64,
pow_hash: H256,
mix_hash: H256,
) -> CallFuture<bool, T::Out> ⓘ
pub fn submit_work( &self, nonce: H64, pow_hash: H256, mix_hash: H256, ) -> CallFuture<bool, T::Out> ⓘ
Submit work of external miner
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for Eth<T>where
T: Freeze,
impl<T> RefUnwindSafe for Eth<T>where
T: RefUnwindSafe,
impl<T> Send for Eth<T>where
T: Send,
impl<T> Sync for Eth<T>where
T: Sync,
impl<T> Unpin for Eth<T>where
T: Unpin,
impl<T> UnwindSafe for Eth<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.