Struct near_sdk::VMContext

source ·
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

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.