Struct oasis_core_runtime::transaction::context::Context
source · pub struct Context<'a> {
pub protocol: Arc<Protocol>,
pub consensus_block: &'a LightBlock,
pub consensus_state: ConsensusState,
pub runtime_state: &'a mut dyn MKVS,
pub header: &'a Header,
pub epoch: EpochTime,
pub round_results: &'a RoundResults,
pub max_messages: u32,
pub check_only: bool,
}
Expand description
Transaction context.
Fields§
§protocol: Arc<Protocol>
Low-level access to the underlying Runtime Host Protocol.
consensus_block: &'a LightBlock
Consensus light block.
consensus_state: ConsensusState
Consensus state tree.
runtime_state: &'a mut dyn MKVS
Runtime state.
header: &'a Header
The block header accompanying this transaction.
epoch: EpochTime
Epoch corresponding to the currently processed block.
round_results: &'a RoundResults
Results of processing the previous successful round.
max_messages: u32
The maximum number of messages that can be emitted in this round.
check_only: bool
Flag indicating whether to only perform transaction check rather than running the transaction.
Implementations§
source§impl<'a> Context<'a>
impl<'a> Context<'a>
sourcepub fn new(
protocol: Arc<Protocol>,
consensus_block: &'a LightBlock,
consensus_state: ConsensusState,
runtime_state: &'a mut dyn MKVS,
header: &'a Header,
epoch: EpochTime,
round_results: &'a RoundResults,
max_messages: u32,
check_only: bool,
) -> Self
pub fn new( protocol: Arc<Protocol>, consensus_block: &'a LightBlock, consensus_state: ConsensusState, runtime_state: &'a mut dyn MKVS, header: &'a Header, epoch: EpochTime, round_results: &'a RoundResults, max_messages: u32, check_only: bool, ) -> Self
Construct new transaction context.
Auto Trait Implementations§
impl<'a> !Freeze for Context<'a>
impl<'a> !RefUnwindSafe for Context<'a>
impl<'a> !Send for Context<'a>
impl<'a> !Sync for Context<'a>
impl<'a> Unpin for Context<'a>
impl<'a> !UnwindSafe for Context<'a>
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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