pub struct BlockchainVMRef(/* private fields */);
Implementations§
Source§impl BlockchainVMRef
impl BlockchainVMRef
pub fn execute_sc_query_lambda<F>(
&self,
tx_input: TxInput,
state: &mut Shareable<BlockchainState>,
f: F,
) -> TxResultwhere
F: FnOnce(),
pub fn execute_in_debugger<F>(
&self,
tx_input: TxInput,
state: &mut Shareable<BlockchainState>,
f: F,
) -> (TxResult, BlockchainUpdate)where
F: FnOnce(),
pub fn execute_builtin_function_or_default<F>(
&self,
tx_input: TxInput,
tx_cache: TxCache,
f: F,
) -> (TxResult, BlockchainUpdate)where
F: FnOnce(),
pub fn execute_sc_call_lambda<F>(
&self,
tx_input: TxInput,
state: &mut Shareable<BlockchainState>,
f: F,
) -> TxResultwhere
F: FnOnce(),
pub fn execute_async_call_and_callback( &self, async_data: AsyncCallTxData, state: &mut Shareable<BlockchainState>, ) -> (TxResult, TxResult)
pub fn sc_call_with_async_and_callback<F>(
&self,
tx_input: TxInput,
state: &mut Shareable<BlockchainState>,
f: F,
) -> TxResultwhere
F: FnOnce(),
pub fn execute_promise_call_and_callback( &self, promise: &Promise, state: &mut Shareable<BlockchainState>, ) -> (TxResult, TxResult)
Source§impl BlockchainVMRef
impl BlockchainVMRef
Sourcepub fn execute_tx_context(&self, tx_context: TxContext) -> TxContext
pub fn execute_tx_context(&self, tx_context: TxContext) -> TxContext
Runs contract code using the auto-generated function selector. The endpoint name is taken from the tx context. Catches and wraps any panics thrown in the contract.
pub fn get_contract_instance(&self, tx_context: &TxContext) -> Box<dyn Instance>
Source§impl BlockchainVMRef
impl BlockchainVMRef
pub fn sc_create<F>(
&self,
tx_input: TxInput,
contract_path: &[u8],
code_metadata: VMCodeMetadata,
state: &mut Shareable<BlockchainState>,
f: F,
) -> (VMAddress, TxResult)where
F: FnOnce(),
Source§impl BlockchainVMRef
impl BlockchainVMRef
Sourcepub fn default_execution<F>(
&self,
tx_input: TxInput,
tx_cache: TxCache,
f: F,
) -> (TxResult, BlockchainUpdate)where
F: FnOnce(),
pub fn default_execution<F>(
&self,
tx_input: TxInput,
tx_cache: TxCache,
f: F,
) -> (TxResult, BlockchainUpdate)where
F: FnOnce(),
Executes without builtin functions, directly on the contract or the given lambda closure.
pub fn deploy_contract<F>(
&self,
tx_input: TxInput,
contract_path: Vec<u8>,
code_metadata: VMCodeMetadata,
tx_cache: TxCache,
f: F,
) -> (TxResult, VMAddress, BlockchainUpdate)where
F: FnOnce(),
Trait Implementations§
Source§impl Clone for BlockchainVMRef
impl Clone for BlockchainVMRef
Source§fn clone(&self) -> BlockchainVMRef
fn clone(&self) -> BlockchainVMRef
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 BlockchainVMRef
impl !RefUnwindSafe for BlockchainVMRef
impl Send for BlockchainVMRef
impl Sync for BlockchainVMRef
impl Unpin for BlockchainVMRef
impl !UnwindSafe for BlockchainVMRef
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> 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