pub enum ExecutionRequest {
Show 29 variants
LoadContract {
id: ApplicationId,
callback: Sender<(UserContractCode, ApplicationDescription, TransactionTracker)>,
txn_tracker: TransactionTracker,
},
LoadService {
id: ApplicationId,
callback: Sender<(UserServiceCode, ApplicationDescription, TransactionTracker)>,
txn_tracker: TransactionTracker,
},
ChainBalance {
callback: Sender<Amount>,
},
OwnerBalance {
owner: AccountOwner,
callback: Sender<Amount>,
},
OwnerBalances {
callback: Sender<Vec<(AccountOwner, Amount)>>,
},
BalanceOwners {
callback: Sender<Vec<AccountOwner>>,
},
Transfer {
source: AccountOwner,
destination: Account,
amount: Amount,
signer: Option<AccountOwner>,
application_id: ApplicationId,
callback: Sender<Option<OutgoingMessage>>,
},
Claim {
source: Account,
destination: Account,
amount: Amount,
signer: Option<AccountOwner>,
application_id: ApplicationId,
callback: Sender<Option<OutgoingMessage>>,
},
SystemTimestamp {
callback: Sender<Timestamp>,
},
ChainOwnership {
callback: Sender<ChainOwnership>,
},
ReadValueBytes {
id: ApplicationId,
key: Vec<u8>,
callback: Sender<Option<Vec<u8>>>,
},
ContainsKey {
id: ApplicationId,
key: Vec<u8>,
callback: Sender<bool>,
},
ContainsKeys {
id: ApplicationId,
keys: Vec<Vec<u8>>,
callback: Sender<Vec<bool>>,
},
ReadMultiValuesBytes {
id: ApplicationId,
keys: Vec<Vec<u8>>,
callback: Sender<Vec<Option<Vec<u8>>>>,
},
FindKeysByPrefix {
id: ApplicationId,
key_prefix: Vec<u8>,
callback: Sender<Vec<Vec<u8>>>,
},
FindKeyValuesByPrefix {
id: ApplicationId,
key_prefix: Vec<u8>,
callback: Sender<Vec<(Vec<u8>, Vec<u8>)>>,
},
WriteBatch {
id: ApplicationId,
batch: Batch,
callback: Sender<()>,
},
OpenChain {
ownership: ChainOwnership,
balance: Amount,
parent_id: ChainId,
block_height: BlockHeight,
application_permissions: ApplicationPermissions,
timestamp: Timestamp,
txn_tracker: TransactionTracker,
callback: Sender<(ChainId, TransactionTracker)>,
},
CloseChain {
application_id: ApplicationId,
callback: Sender<Result<(), ExecutionError>>,
},
ChangeApplicationPermissions {
application_id: ApplicationId,
application_permissions: ApplicationPermissions,
callback: Sender<Result<(), ExecutionError>>,
},
CreateApplication {
chain_id: ChainId,
block_height: BlockHeight,
module_id: ModuleId,
parameters: Vec<u8>,
required_application_ids: Vec<ApplicationId>,
txn_tracker: TransactionTracker,
callback: Sender<Result<CreateApplicationResult, ExecutionError>>,
},
PerformHttpRequest {
request: Request,
http_responses_are_oracle_responses: bool,
callback: Sender<Response>,
},
ReadBlobContent {
blob_id: BlobId,
callback: Sender<(BlobContent, bool)>,
},
AssertBlobExists {
blob_id: BlobId,
callback: Sender<bool>,
},
NextEventIndex {
stream_id: StreamId,
callback: Sender<u32>,
},
ReadEvent {
event_id: EventId,
callback: Sender<Vec<u8>>,
},
SubscribeToEvents {
chain_id: ChainId,
stream_id: StreamId,
subscriber_app_id: ApplicationId,
callback: Sender<u32>,
},
UnsubscribeFromEvents {
chain_id: ChainId,
stream_id: StreamId,
subscriber_app_id: ApplicationId,
callback: Sender<()>,
},
GetApplicationPermissions {
callback: Sender<ApplicationPermissions>,
},
}Expand description
Requests to the execution state.
Variants§
LoadContract
Fields
§
id: ApplicationId§
callback: Sender<(UserContractCode, ApplicationDescription, TransactionTracker)>§
txn_tracker: TransactionTrackerLoadService
Fields
§
id: ApplicationId§
callback: Sender<(UserServiceCode, ApplicationDescription, TransactionTracker)>§
txn_tracker: TransactionTrackerChainBalance
OwnerBalance
OwnerBalances
Fields
§
callback: Sender<Vec<(AccountOwner, Amount)>>BalanceOwners
Fields
§
callback: Sender<Vec<AccountOwner>>Transfer
Fields
§
source: AccountOwner§
signer: Option<AccountOwner>§
application_id: ApplicationId§
callback: Sender<Option<OutgoingMessage>>Claim
Fields
§
signer: Option<AccountOwner>§
application_id: ApplicationId§
callback: Sender<Option<OutgoingMessage>>SystemTimestamp
ChainOwnership
Fields
§
callback: Sender<ChainOwnership>ReadValueBytes
ContainsKey
ContainsKeys
ReadMultiValuesBytes
FindKeysByPrefix
FindKeyValuesByPrefix
WriteBatch
OpenChain
Fields
§
ownership: ChainOwnership§
block_height: BlockHeight§
application_permissions: ApplicationPermissions§
txn_tracker: TransactionTracker§
callback: Sender<(ChainId, TransactionTracker)>CloseChain
ChangeApplicationPermissions
Fields
§
application_id: ApplicationId§
application_permissions: ApplicationPermissions§
callback: Sender<Result<(), ExecutionError>>CreateApplication
Fields
§
block_height: BlockHeight§
required_application_ids: Vec<ApplicationId>§
txn_tracker: TransactionTracker§
callback: Sender<Result<CreateApplicationResult, ExecutionError>>PerformHttpRequest
ReadBlobContent
AssertBlobExists
NextEventIndex
ReadEvent
SubscribeToEvents
UnsubscribeFromEvents
GetApplicationPermissions
Fields
§
callback: Sender<ApplicationPermissions>Trait Implementations§
Auto Trait Implementations§
impl Freeze for ExecutionRequest
impl !RefUnwindSafe for ExecutionRequest
impl Send for ExecutionRequest
impl Sync for ExecutionRequest
impl Unpin for ExecutionRequest
impl !UnwindSafe for ExecutionRequest
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.