pub struct TransactionTracker { /* private fields */ }Expand description
Tracks oracle responses and execution outcomes of an ongoing transaction execution, as well as replayed oracle responses.
Implementations§
Source§impl TransactionTracker
impl TransactionTracker
pub fn new( next_message_index: u32, oracle_responses: Option<Vec<OracleResponse>>, ) -> Self
pub fn next_message_index(&self) -> u32
pub fn add_system_outcome( &mut self, outcome: RawExecutionOutcome<SystemMessage, Amount>, ) -> Result<(), ArithmeticError>
pub fn add_user_outcome( &mut self, application_id: ApplicationId, outcome: RawExecutionOutcome<Vec<u8>, Amount>, ) -> Result<(), ArithmeticError>
pub fn add_outcomes( &mut self, outcomes: impl IntoIterator<Item = ExecutionOutcome>, ) -> Result<(), ArithmeticError>
pub fn add_oracle_response(&mut self, oracle_response: OracleResponse)
Sourcepub fn replay_oracle_response(
&mut self,
oracle_response: OracleResponse,
) -> Result<bool, SystemExecutionError>
pub fn replay_oracle_response( &mut self, oracle_response: OracleResponse, ) -> Result<bool, SystemExecutionError>
Adds the oracle response to the record.
If replaying, it also checks that it matches the next replayed one and returns true.
pub fn next_replayed_oracle_response( &mut self, ) -> Result<Option<OracleResponse>, SystemExecutionError>
pub fn destructure( self, ) -> Result<(Vec<ExecutionOutcome>, Vec<OracleResponse>, u32), ExecutionError>
Trait Implementations§
Source§impl Debug for TransactionTracker
impl Debug for TransactionTracker
Source§impl Default for TransactionTracker
impl Default for TransactionTracker
Source§fn default() -> TransactionTracker
fn default() -> TransactionTracker
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for TransactionTracker
impl RefUnwindSafe for TransactionTracker
impl Send for TransactionTracker
impl Sync for TransactionTracker
impl Unpin for TransactionTracker
impl UnwindSafe for TransactionTracker
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<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
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 moreSource§impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
impl<M, I> RuntimeMemory<&mut I> for Mwhere
M: RuntimeMemory<I>,
Source§fn read<'instance>(
&self,
instance: &'instance &mut I,
location: GuestPointer,
length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length bytes from memory from the provided location.
Source§fn write(
&mut self,
instance: &mut &mut I,
location: GuestPointer,
bytes: &[u8],
) -> Result<(), RuntimeError>
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes to memory at the provided location.