pub struct ExecuteSignedTransaction {
pub tr: TransactionableOrSigned<SignedTransaction>,
pub signer: Arc<Signer>,
}
Expand description
The handler for signing and sending transaction to the network.
This is the main entry point for the transaction sending functionality.
Fields§
§tr: TransactionableOrSigned<SignedTransaction>
The transaction that is either not signed yet or already signed.
signer: Arc<Signer>
The signer that will be used to sign the transaction.
Implementations§
Source§impl ExecuteSignedTransaction
impl ExecuteSignedTransaction
pub fn new<T: Transactionable + 'static>(tr: T, signer: Arc<Signer>) -> Self
Sourcepub fn meta(self) -> ExecuteMetaTransaction
pub fn meta(self) -> ExecuteMetaTransaction
Changes the transaction to a meta transaction, allowing some 3rd party entity to execute it and pay for the gas.
Please note, that if you already presigned the transaction, it would require you to sign it again as a meta transaction is a different type of transaction.
Sourcepub async fn presign_offline(
self,
public_key: PublicKey,
block_hash: CryptoHash,
nonce: Nonce,
) -> Result<Self, SignerError>
pub async fn presign_offline( self, public_key: PublicKey, block_hash: CryptoHash, nonce: Nonce, ) -> Result<Self, SignerError>
Signs the transaction offline without fetching the nonce or block hash from the network.
The transaction won’t be broadcasted to the network and just stored signed in the Self::tr struct variable.
This is useful if you already have the nonce and block hash, or if you want to sign the transaction offline. Please note that incorrect nonce will lead to transaction failure.
Sourcepub async fn presign_with(
self,
network: &NetworkConfig,
) -> Result<Self, ExecuteTransactionError>
pub async fn presign_with( self, network: &NetworkConfig, ) -> Result<Self, ExecuteTransactionError>
Signs the transaction with the custom network configuration but doesn’t broadcast it.
Signed transaction is stored in the Self::tr struct variable.
This is useful if you want to sign with non-default network configuration (e.g, custom RPC URL, sandbox). The provided call will fetch the nonce and block hash from the given network.
Sourcepub async fn presign_with_mainnet(self) -> Result<Self, ExecuteTransactionError>
pub async fn presign_with_mainnet(self) -> Result<Self, ExecuteTransactionError>
Signs the transaction with the default mainnet configuration. Does not broadcast it.
Signed transaction is stored in the Self::tr struct variable.
The provided call will fetch the nonce and block hash from the network.
Sourcepub async fn presign_with_testnet(self) -> Result<Self, ExecuteTransactionError>
pub async fn presign_with_testnet(self) -> Result<Self, ExecuteTransactionError>
Signs the transaction with the default testnet configuration. Does not broadcast it.
Signed transaction is stored in the Self::tr struct variable.
The provided call will fetch the nonce and block hash from the network.
Sourcepub async fn send_to(
self,
network: &NetworkConfig,
) -> Result<FinalExecutionOutcomeView, ExecuteTransactionError>
pub async fn send_to( self, network: &NetworkConfig, ) -> Result<FinalExecutionOutcomeView, ExecuteTransactionError>
Sends the transaction to the custom provided network.
This is useful if you want to send the transaction to a non-default network configuration (e.g, custom RPC URL, sandbox). Please note that if the transaction is not presigned, it will be signed with the network’s nonce and block hash.
Sourcepub async fn send_to_mainnet(
self,
) -> Result<FinalExecutionOutcomeView, ExecuteTransactionError>
pub async fn send_to_mainnet( self, ) -> Result<FinalExecutionOutcomeView, ExecuteTransactionError>
Sends the transaction to the default mainnet configuration.
Please note that this will sign the transaction with the mainnet’s nonce and block hash if it’s not presigned yet.
Sourcepub async fn send_to_testnet(
self,
) -> Result<FinalExecutionOutcomeView, ExecuteTransactionError>
pub async fn send_to_testnet( self, ) -> Result<FinalExecutionOutcomeView, ExecuteTransactionError>
Sends the transaction to the default testnet configuration.
Please note that this will sign the transaction with the testnet’s nonce and block hash if it’s not presigned yet.
async fn send_impl( network: &NetworkConfig, signed_tr: SignedTransaction, ) -> Result<FinalExecutionOutcomeView, ExecuteTransactionError>
Auto Trait Implementations§
impl Freeze for ExecuteSignedTransaction
impl !RefUnwindSafe for ExecuteSignedTransaction
impl Send for ExecuteSignedTransaction
impl Sync for ExecuteSignedTransaction
impl Unpin for ExecuteSignedTransaction
impl !UnwindSafe for ExecuteSignedTransaction
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> 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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§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.