pub enum TransactionExecutionResult {
Executed {
details: TransactionExecutionDetails,
tx_executor_cache: Rc<RefCell<TransactionExecutorCache>>,
},
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
Fields
§
details: TransactionExecutionDetails§
tx_executor_cache: Rc<RefCell<TransactionExecutorCache>>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 duplicate 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§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