Module near_sdk::env[][src]

Expand description

Blockchain-specific methods available to the smart contract. This is a wrapper around a low-level BlockchainInterface. Unless you know what you are doing prefer using env::* whenever possible. In case of cross-contract calls prefer using even higher-level API available through callback_args, callback_args_vec, ext_contract, Promise, and PromiseOrValue.

Constants

Price per 1 byte of storage from mainnet genesis config. TODO: will be using the host function when it will be available.

Functions

Aborts the current contract execution without a custom message. To include a message, use panic_str.

The balance attached to the given account. This includes the attached_deposit that was attached to the transaction

The balance locked for potential validator staking.

The balance that was attached to the call that will be immediately deposited before the contract execution starts

Returns the height of the block the transaction is being executed in.

block_indexDeprecated

Current block index.

Current block timestamp, i.e, number of non-leap-nanoseconds since January 1, 1970 0:00:00 UTC.

The id of the account that owns the current contract.

Current epoch height.

The input to the contract call serialized as bytes. If input is not provided returns None.

Returns true if the given account ID is valid and false otherwise.

Hashes the random sequence of bytes using keccak256.

Hashes the random sequence of bytes using keccak512.

logDeprecated

Log the UTF-8 encodable message.

Logs the string message message. This message is stored on chain.

panicDeprecated

Terminates the execution of the program with the UTF-8 encoded message. panic_str should be used as the bytes are required to be UTF-8

Terminates the execution of the program with the UTF-8 encoded message.

The id of the account that was the previous contract in the chain of cross-contract calls. If this is the first contract, it is equal to signer_account_id.

The amount of gas attached to the call that can be used to pay for the gas fees.

Creates a new promise which completes when time all promises passed as arguments complete.

Creates a promise that will execute a method on account with given arguments and attaches the given amount and gas.

If the current function is invoked by a callback we can access the execution results of the promises that caused the callback.

If the current function is invoked by a callback we can access the execution results of the promises that caused the callback. This function returns the number of complete and incomplete callbacks.

Consider the execution result of promise under promise_idx as execution result of this function.

Attaches the callback that is executed after promise pointed by promise_idx is complete.

Get random seed from the register.

Reads the content of the register_id. If register is not used returns None.

Returns the size of the register. If register is not used returns None.

Replaces the current low-level blockchain interface accessible through env::* with another low-level blockchain interfacr that implements BlockchainInterface trait. In most cases you want to use testing_env! macro to set it.

Setups panic hook to expose error info to the blockchain.

Hashes the random sequence of bytes using sha256.

The id of the account that either signed the original transaction or issued the initial cross-contract call.

The public key of the account that did the signing.

Returns true if the contract state exists and false otherwise.

Load the state of the given object.

Reads the most recent value that was evicted with storage_write or storage_remove command.

Checks if there is a key-value in the storage.

Reads the value stored under the given key.

Removes the value stored under the given key. If key-value existed returns true, otherwise false.

Current total storage usage of this smart contract that this account would be paying for.

Writes key-value into storage. If another key-value existed in the storage with the same key it returns true, otherwise false.

The gas that was already burnt during the contract execution (cannot exceed prepaid_gas)

For a given account return its current stake. If the account is not a validator, returns 0.

Returns the total stake of validators in the current epoch.

Sets the blob of data as the return value of the contract.