Expand description
The ink_env
utilities used to interoperate with the contract executor.
Mainly provides entities to work on a contract’s storage as well as high-level collections on top of those. Also provides environmental utilities, such as storage allocators, FFI to interface with FRAME contracts and a primitive blockchain emulator for simple off-chain testing.
Modules
Utilities to call or instantiate contracts on the chain.
Definitions and utilities for calling chain extension methods.
Provides type definitions and traits for the built-in cryptographic hashes.
Operations on the off-chain testing environment.
Macros
Appends a formatted string to the
debug_message
buffer if message recording is
enabled in the contracts pallet and if the call is performed via RPC (not via an
extrinsic). The debug_message
buffer will be:Appends a formatted string to the
debug_message
buffer, as per debug_print
but
with a newline appended.Prepend contract message call with value transfer. Used for tests in off-chain environment.
Structs
The default environment
AccountId
type.The flags used to change the behavior of a contract call.
The default environment
Hash
type.The flags to indicate further information about the end of a contract execution.
Enums
The fundamental types of the default configuration.
Errors that can be encountered upon environmental interaction.
Placeholder for chains that have no defined chain extension.
Traits
The equivalent of
Zero
for hashes.The environmental types usable by contracts defined with ink!.
Allows to instantiate a type from its little-endian bytes representation.
Implemented by event types to guide the event topic serialization using the topics builder.
Functions
Returns the account ID of the executed contract.
Returns the balance of the executed contract.
Returns the current block number.
Returns the current block timestamp.
Returns the address of the caller of the executed contract.
Checks whether the caller of the current contract is the origin of the whole call stack.
Clears the contract’s storage key entry.
Retrieves the code hash of the contract at the specified account id.
Checks whether there is a value stored under the given key in
the contract’s storage.
Appends the given message to the debug message buffer.
Returns the execution input to the executed contract and decodes it as
T
.Recovers the compressed ECDSA public key for given
signature
and message_hash
,
and stores the result in output
.Returns an Ethereum address from the ECDSA compressed public key.
Emits an event with the given event data.
Returns the amount of gas left for the contract execution.
Returns the value stored under the given key in the contract’s storage if any.
Conducts the crypto hash of the given input and stores the result in
output
.Conducts the crypto hash of the given encoded input and stores the result in
output
.Instantiates another contract.
Invokes a contract message and returns its result.
Invokes a contract message via delegate call and returns its result.
Checks whether the specified account is a contract.
Returns the minimum balance that is required for creating an account
(i.e. the chain’s existential deposit).
Retrieves the code hash of the currently executing contract.
Returns a random hash seed and the block number since which it was determinable
by chain observers.
Returns the value back to the caller of the executed contract.
Replace the contract code at the specified address with new code.
set_contract_storageDeprecated
Writes the value to the contract storage under the given key.
Writes the value to the contract storage under the given key and returns
the size of the pre-existing value at the specified key if any.
Terminates the existence of the currently executed smart contract.
Transfers value from the contract to the destination account ID.
Returns the transferred value for the contract execution.
Returns the price for the specified amount of gas.
Type Definitions
A result of environmental operations.