[][src]Module ethcontract::transaction

Implementation for setting up, signing, estimating gas and sending transactions on the Ethereum network.

Re-exports

pub use crate::transaction::gas_price::GasPrice;

Modules

build

This module implements transaction finalization from partial transaction parameters. It provides futures for building TransactionRequest instances and raw Bytes transactions from partial transaction parameters, where the remaining parameters are queried from the node before finalizing the transaction.

confirm

Transaction confirmation implementation. This is a re-implementation of web3 confirmation future to fix issues with development nodes like Ganache where the transaction gets mined right away, so waiting for 1 confirmation would require another transaction to be sent so a new block could mine. Additionally, waiting for 0 confirmations in web3 means that the tx is just sent to the mem-pool but does not wait for it to get mined. Hopefully some of this can move upstream into the web3 crate.

estimate_gas

Implementation of eth_estimateGas with workaround for Geth (Infura) incompatabilities.

gas_price

Implementation of gas price estimation.

send

Implementation of a future for sending a transaction with optional confirmation.

Structs

TransactionBuilder

Data used for building a transaction that modifies the blockchain. These transactions can either be sent to be signed locally by the node or can be signed offline.

Enums

Account

The account type used for signing the transaction.

ResolveCondition

The condition on which a transaction's SendFuture gets resolved.

Transaction

Represents a prepared and optionally signed transaction that is ready for sending created by a TransactionBuilder.

TransactionResult

Represents the result of a sent transaction that can either be a transaction hash, in the case the transaction was not confirmed, or a full transaction receipt if the TransactionBuilder was configured to wait for confirmation blocks.