ic_web3_rs::types

Struct TransactionParameters

Source
pub struct TransactionParameters {
    pub nonce: Option<U256>,
    pub to: Option<Address>,
    pub gas: U256,
    pub gas_price: Option<U256>,
    pub value: U256,
    pub data: Bytes,
    pub chain_id: Option<u64>,
    pub transaction_type: Option<U64>,
    pub access_list: Option<AccessList>,
    pub max_fee_per_gas: Option<U256>,
    pub max_priority_fee_per_gas: Option<U256>,
}
Expand description

Transaction data for signing.

The Accounts::sign_transaction method will fill optional fields with sane defaults when they are omitted. Specifically the signing account’s current transaction count will be used for the nonce, the estimated recommended gas price will be used for gas_price, and the current network ID will be used for the chain_id.

It is worth noting that the chain ID is not equivalent to the network ID. They happen to be the same much of the time but it is recommended to set this for signing transactions.

TransactionParameters implements Default and uses 100_000 as the default gas to use for the transaction. This is more than enough for simple transactions sending ETH between accounts but may not be enough when interacting with complex contracts. It is recommended when interacting with contracts to use Eth::estimate_gas to estimate the required gas for the transaction.

Fields§

§nonce: Option<U256>

Transaction nonce (None for account transaction count)

§to: Option<Address>

To address

§gas: U256

Supplied gas

§gas_price: Option<U256>

Gas price (None for estimated gas price)

§value: U256

Transferred value

§data: Bytes

Data

§chain_id: Option<u64>

The chain ID (None for network ID)

§transaction_type: Option<U64>

Transaction type, Some(1) for AccessList transaction, None for Legacy

§access_list: Option<AccessList>

Access list

§max_fee_per_gas: Option<U256>

Max fee per gas

§max_priority_fee_per_gas: Option<U256>

miner bribe

Trait Implementations§

Source§

impl Clone for TransactionParameters

Source§

fn clone(&self) -> TransactionParameters

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TransactionParameters

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TransactionParameters

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl From<CallRequest> for TransactionParameters

Source§

fn from(call: CallRequest) -> Self

Converts to this type from the input type.
Source§

impl From<TransactionParameters> for CallRequest

Source§

fn from(val: TransactionParameters) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for TransactionParameters

Source§

fn eq(&self, other: &TransactionParameters) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for TransactionParameters

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V