pub enum TransactionExecutionResult {
Executed {
details: TransactionExecutionDetails,
programs_modified_by_tx: Box<LoadedProgramsForTxBatch>,
},
NotExecuted(TransactionError),
}
Expand description
Type safe representation of a transaction execution attempt which differentiates between a transaction that was executed (will be committed to the ledger) and a transaction which wasn’t executed and will be dropped.
Note: Result<TransactionExecutionDetails, TransactionError>
is not
used because it’s easy to forget that the inner details.status
field
is what should be checked to detect a successful transaction. This
enum provides a convenience method Self::was_executed_successfully
to
make such checks hard to do incorrectly.
Variants§
Executed
NotExecuted(TransactionError)
Implementations§
source§impl TransactionExecutionResult
impl TransactionExecutionResult
pub fn was_executed_successfully(&self) -> bool
pub fn was_executed(&self) -> bool
pub fn details(&self) -> Option<&TransactionExecutionDetails>
pub fn flattened_result(&self) -> Result<()>
Trait Implementations§
source§impl Clone for TransactionExecutionResult
impl Clone for TransactionExecutionResult
source§fn clone(&self) -> TransactionExecutionResult
fn clone(&self) -> TransactionExecutionResult
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for TransactionExecutionResult
impl RefUnwindSafe for TransactionExecutionResult
impl Send for TransactionExecutionResult
impl Sync for TransactionExecutionResult
impl Unpin for TransactionExecutionResult
impl UnwindSafe for TransactionExecutionResult
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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>
Converts
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>
Converts
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 more