pub struct VMContext {Show 16 fields
pub current_account_id: AccountId,
pub signer_account_id: AccountId,
pub signer_account_pk: PublicKey,
pub predecessor_account_id: AccountId,
pub input: Vec<u8>,
pub block_index: BlockHeight,
pub block_timestamp: u64,
pub epoch_height: EpochHeight,
pub account_balance: Balance,
pub account_locked_balance: Balance,
pub storage_usage: StorageUsage,
pub attached_deposit: Balance,
pub prepaid_gas: Gas,
pub random_seed: [u8; 32],
pub view_config: Option<ViewConfig>,
pub output_data_receivers: Vec<AccountId>,
}
Expand description
Context for the contract execution.
Fields
current_account_id: AccountId
The account id of the current contract that we are executing.
signer_account_id: AccountId
The account id of that signed the original transaction that led to this execution.
signer_account_pk: PublicKey
The public key that was used to sign the original transaction that led to this execution.
predecessor_account_id: AccountId
If this execution is the result of cross-contract call or a callback then
predecessor is the account that called it.
If this execution is the result of direct execution of transaction then it
is equal to signer_account_id
.
input: Vec<u8>
The input to the contract call. Encoded as base64 string to be able to pass input in borsh binary format.
block_index: BlockHeight
The current block height.
block_timestamp: u64
The current block timestamp (number of non-leap-nanoseconds since January 1, 1970 0:00:00 UTC).
epoch_height: EpochHeight
The current epoch height.
account_balance: Balance
The balance attached to the given account. Excludes the attached_deposit
that was
attached to the transaction.
account_locked_balance: Balance
The balance of locked tokens on the given account.
storage_usage: StorageUsage
The account’s storage usage before the contract execution
attached_deposit: Balance
The balance that was attached to the call that will be immediately deposited before the contract execution starts.
prepaid_gas: Gas
The gas attached to the call that can be used to pay for the gas fees.
random_seed: [u8; 32]
Initial seed for randomness
view_config: Option<ViewConfig>
If Some, it means that execution is made in a view mode and defines its configuration. View mode means that only read-only operations are allowed. See https://nomicon.io/Proposals/0018-view-change-method.html for more details.
output_data_receivers: Vec<AccountId>
How many DataReceipt
’s should receive this execution result. This should be empty if
this function call is a part of a batch and it is not the last action.
Implementations
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for VMContext
impl Send for VMContext
impl Sync for VMContext
impl Unpin for VMContext
impl UnwindSafe for VMContext
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more