pub trait TransactionBuilder:
Default
+ Sized
+ Send
+ Sync
+ 'static {
Show 50 methods
// Required methods
fn chain_id(&self) -> Option<ChainId>;
fn set_chain_id(&mut self, chain_id: ChainId);
fn nonce(&self) -> Option<u64>;
fn set_nonce(&mut self, nonce: u64);
fn take_nonce(&mut self) -> Option<u64>;
fn input(&self) -> Option<&Bytes>;
fn set_input<T: Into<Bytes>>(&mut self, input: T);
fn from(&self) -> Option<Address>;
fn set_from(&mut self, from: Address);
fn kind(&self) -> Option<TxKind>;
fn clear_kind(&mut self);
fn set_kind(&mut self, kind: TxKind);
fn value(&self) -> Option<U256>;
fn set_value(&mut self, value: U256);
fn gas_price(&self) -> Option<u128>;
fn set_gas_price(&mut self, gas_price: u128);
fn max_fee_per_gas(&self) -> Option<u128>;
fn set_max_fee_per_gas(&mut self, max_fee_per_gas: u128);
fn max_priority_fee_per_gas(&self) -> Option<u128>;
fn set_max_priority_fee_per_gas(&mut self, max_priority_fee_per_gas: u128);
fn gas_limit(&self) -> Option<u64>;
fn set_gas_limit(&mut self, gas_limit: u64);
fn access_list(&self) -> Option<&AccessList>;
fn set_access_list(&mut self, access_list: AccessList);
// Provided methods
fn with_chain_id(self, chain_id: ChainId) -> Self { ... }
fn with_nonce(self, nonce: u64) -> Self { ... }
fn without_nonce(self) -> Self { ... }
fn with_input<T: Into<Bytes>>(self, input: T) -> Self { ... }
fn set_input_kind<T: Into<Bytes>>(
&mut self,
input: T,
_: TransactionInputKind,
) { ... }
fn with_input_kind<T: Into<Bytes>>(
self,
input: T,
kind: TransactionInputKind,
) -> Self { ... }
fn with_from(self, from: Address) -> Self { ... }
fn with_kind(self, kind: TxKind) -> Self { ... }
fn to(&self) -> Option<Address> { ... }
fn set_to(&mut self, to: Address) { ... }
fn with_to(self, to: Address) -> Self { ... }
fn set_create(&mut self) { ... }
fn into_create(self) -> Self { ... }
fn set_deploy_code<T: Into<Bytes>>(&mut self, code: T) { ... }
fn with_deploy_code<T: Into<Bytes>>(self, code: T) -> Self { ... }
fn set_call<T: SolCall>(&mut self, t: &T) { ... }
fn with_call<T: SolCall>(self, t: &T) -> Self { ... }
fn calculate_create_address(&self) -> Option<Address> { ... }
fn with_value(self, value: U256) -> Self { ... }
fn with_gas_price(self, gas_price: u128) -> Self { ... }
fn with_max_fee_per_gas(self, max_fee_per_gas: u128) -> Self { ... }
fn with_max_priority_fee_per_gas(
self,
max_priority_fee_per_gas: u128,
) -> Self { ... }
fn with_gas_limit(self, gas_limit: u64) -> Self { ... }
fn with_access_list(self, access_list: AccessList) -> Self { ... }
fn apply<F>(self, f: F) -> Self
where F: FnOnce(Self) -> Self { ... }
fn try_apply<F, E>(self, f: F) -> Result<Self, E>
where F: FnOnce(Self) -> Result<Self, E> { ... }
}Expand description
Transaction builder.
Required Methods§
Sourcefn set_chain_id(&mut self, chain_id: ChainId)
fn set_chain_id(&mut self, chain_id: ChainId)
Set the chain ID for the transaction.
Sourcefn take_nonce(&mut self) -> Option<u64>
fn take_nonce(&mut self) -> Option<u64>
Takes the nonce out of the transaction, clearing it.
Sourcefn clear_kind(&mut self)
fn clear_kind(&mut self)
Clear the kind of transaction.
Sourcefn set_gas_price(&mut self, gas_price: u128)
fn set_gas_price(&mut self, gas_price: u128)
Set the legacy gas price for the transaction.
Sourcefn max_fee_per_gas(&self) -> Option<u128>
fn max_fee_per_gas(&self) -> Option<u128>
Get the max fee per gas for the transaction.
Sourcefn set_max_fee_per_gas(&mut self, max_fee_per_gas: u128)
fn set_max_fee_per_gas(&mut self, max_fee_per_gas: u128)
Set the max fee per gas for the transaction.
Sourcefn max_priority_fee_per_gas(&self) -> Option<u128>
fn max_priority_fee_per_gas(&self) -> Option<u128>
Get the max priority fee per gas for the transaction.
Sourcefn set_max_priority_fee_per_gas(&mut self, max_priority_fee_per_gas: u128)
fn set_max_priority_fee_per_gas(&mut self, max_priority_fee_per_gas: u128)
Set the max priority fee per gas for the transaction.
Sourcefn set_gas_limit(&mut self, gas_limit: u64)
fn set_gas_limit(&mut self, gas_limit: u64)
Set the gas limit for the transaction.
Sourcefn access_list(&self) -> Option<&AccessList>
fn access_list(&self) -> Option<&AccessList>
Get the EIP-2930 access list for the transaction.
Sourcefn set_access_list(&mut self, access_list: AccessList)
fn set_access_list(&mut self, access_list: AccessList)
Sets the EIP-2930 access list.
Provided Methods§
Sourcefn with_chain_id(self, chain_id: ChainId) -> Self
fn with_chain_id(self, chain_id: ChainId) -> Self
Builder-pattern method for setting the chain ID.
Sourcefn with_nonce(self, nonce: u64) -> Self
fn with_nonce(self, nonce: u64) -> Self
Builder-pattern method for setting the nonce.
Sourcefn without_nonce(self) -> Self
fn without_nonce(self) -> Self
Takes the nonce out of the transaction, clearing it.
Sourcefn with_input<T: Into<Bytes>>(self, input: T) -> Self
fn with_input<T: Into<Bytes>>(self, input: T) -> Self
Builder-pattern method for setting the input data.
Sourcefn set_input_kind<T: Into<Bytes>>(&mut self, input: T, _: TransactionInputKind)
fn set_input_kind<T: Into<Bytes>>(&mut self, input: T, _: TransactionInputKind)
Set the input data for the transaction, respecting the input kind
Sourcefn with_input_kind<T: Into<Bytes>>(
self,
input: T,
kind: TransactionInputKind,
) -> Self
fn with_input_kind<T: Into<Bytes>>( self, input: T, kind: TransactionInputKind, ) -> Self
Builder-pattern method for setting the input data, respecting the input kind
Sourcefn with_kind(self, kind: TxKind) -> Self
fn with_kind(self, kind: TxKind) -> Self
Builder-pattern method for setting the kind of transaction.
Sourcefn set_create(&mut self)
fn set_create(&mut self)
Set the to field to a create call.
Sourcefn into_create(self) -> Self
fn into_create(self) -> Self
Set the to field to a create call.
Sourcefn set_deploy_code<T: Into<Bytes>>(&mut self, code: T)
fn set_deploy_code<T: Into<Bytes>>(&mut self, code: T)
Deploy the code by making a create call with data. This will set the
to field to TxKind::Create.
Sourcefn with_deploy_code<T: Into<Bytes>>(self, code: T) -> Self
fn with_deploy_code<T: Into<Bytes>>(self, code: T) -> Self
Deploy the code by making a create call with data. This will set the
to field to TxKind::Create.
Sourcefn set_call<T: SolCall>(&mut self, t: &T)
fn set_call<T: SolCall>(&mut self, t: &T)
Set the data field to a contract call. This will clear the to field
if it is set to TxKind::Create.
Sourcefn calculate_create_address(&self) -> Option<Address>
fn calculate_create_address(&self) -> Option<Address>
Calculates the address that will be created by the transaction, if any.
Returns None if the transaction is not a contract creation (the to field is set), or if
the from or nonce fields are not set.
Sourcefn with_value(self, value: U256) -> Self
fn with_value(self, value: U256) -> Self
Builder-pattern method for setting the value.
Sourcefn with_gas_price(self, gas_price: u128) -> Self
fn with_gas_price(self, gas_price: u128) -> Self
Builder-pattern method for setting the legacy gas price.
Sourcefn with_max_fee_per_gas(self, max_fee_per_gas: u128) -> Self
fn with_max_fee_per_gas(self, max_fee_per_gas: u128) -> Self
Builder-pattern method for setting max fee per gas .
Sourcefn with_max_priority_fee_per_gas(self, max_priority_fee_per_gas: u128) -> Self
fn with_max_priority_fee_per_gas(self, max_priority_fee_per_gas: u128) -> Self
Builder-pattern method for setting max priority fee per gas.
Sourcefn with_gas_limit(self, gas_limit: u64) -> Self
fn with_gas_limit(self, gas_limit: u64) -> Self
Builder-pattern method for setting the gas limit.
Sourcefn with_access_list(self, access_list: AccessList) -> Self
fn with_access_list(self, access_list: AccessList) -> Self
Builder-pattern method for setting the access list.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl TransactionBuilder for TransactionRequest
impl TransactionBuilder for TransactionRequest
fn chain_id(&self) -> Option<ChainId>
fn set_chain_id(&mut self, chain_id: ChainId)
fn nonce(&self) -> Option<u64>
fn set_nonce(&mut self, nonce: u64)
fn take_nonce(&mut self) -> Option<u64>
fn input(&self) -> Option<&Bytes>
fn set_input<T: Into<Bytes>>(&mut self, input: T)
fn set_input_kind<T: Into<Bytes>>( &mut self, input: T, kind: TransactionInputKind, )
fn from(&self) -> Option<Address>
fn set_from(&mut self, from: Address)
fn kind(&self) -> Option<TxKind>
fn clear_kind(&mut self)
fn set_kind(&mut self, kind: TxKind)
fn value(&self) -> Option<U256>
fn set_value(&mut self, value: U256)
fn gas_price(&self) -> Option<u128>
fn set_gas_price(&mut self, gas_price: u128)
fn max_fee_per_gas(&self) -> Option<u128>
fn set_max_fee_per_gas(&mut self, max_fee_per_gas: u128)
fn max_priority_fee_per_gas(&self) -> Option<u128>
fn set_max_priority_fee_per_gas(&mut self, max_priority_fee_per_gas: u128)
fn gas_limit(&self) -> Option<u64>
fn set_gas_limit(&mut self, gas_limit: u64)
fn access_list(&self) -> Option<&AccessList>
fn set_access_list(&mut self, access_list: AccessList)
Source§impl TransactionBuilder for WithOtherFields<TransactionRequest>
impl TransactionBuilder for WithOtherFields<TransactionRequest>
Source§fn access_list(&self) -> Option<&AccessList>
fn access_list(&self) -> Option<&AccessList>
Get the EIP-2930 access list for the transaction.
Source§fn set_access_list(&mut self, access_list: AccessList)
fn set_access_list(&mut self, access_list: AccessList)
Sets the EIP-2930 access list.