ink_primitives::types

Trait Environment

Source
pub trait Environment: Clone {
    type AccountId: 'static + Codec + MaxEncodedLen + CodecAsType + Clone + PartialEq + Eq + Ord + AsRef<[u8]> + AsMut<[u8]>;
    type Balance: 'static + Codec + CodecAsType + Copy + Clone + PartialEq + Eq + AtLeast32BitUnsigned + FromLittleEndian;
    type Hash: 'static + Codec + MaxEncodedLen + CodecAsType + Copy + Clone + Clear + PartialEq + Eq + Ord + AsRef<[u8]> + AsMut<[u8]>;
    type Timestamp: 'static + Codec + CodecAsType + Copy + Clone + PartialEq + Eq + AtLeast32BitUnsigned + FromLittleEndian;
    type BlockNumber: 'static + Codec + CodecAsType + Copy + Clone + PartialEq + Eq + AtLeast32BitUnsigned + FromLittleEndian;
    type ChainExtension;
    type EventRecord: 'static + Codec;

    const MAX_EVENT_TOPICS: usize;
}
Expand description

The environmental types usable by contracts defined with ink!.

Required Associated Constants§

Source

const MAX_EVENT_TOPICS: usize

The maximum number of supported event topics provided by the runtime.

The value must match the maximum number of supported event topics of the used runtime.

Required Associated Types§

Source

type AccountId: 'static + Codec + MaxEncodedLen + CodecAsType + Clone + PartialEq + Eq + Ord + AsRef<[u8]> + AsMut<[u8]>

The account id type.

Source

type Balance: 'static + Codec + CodecAsType + Copy + Clone + PartialEq + Eq + AtLeast32BitUnsigned + FromLittleEndian

The type of balances.

Source

type Hash: 'static + Codec + MaxEncodedLen + CodecAsType + Copy + Clone + Clear + PartialEq + Eq + Ord + AsRef<[u8]> + AsMut<[u8]>

The type of hash.

Source

type Timestamp: 'static + Codec + CodecAsType + Copy + Clone + PartialEq + Eq + AtLeast32BitUnsigned + FromLittleEndian

The type of a timestamp.

Source

type BlockNumber: 'static + Codec + CodecAsType + Copy + Clone + PartialEq + Eq + AtLeast32BitUnsigned + FromLittleEndian

The type of block number.

Source

type ChainExtension

The chain extension for the environment.

This is a type that is defined through the #[ink::chain_extension] procedural macro. For more information about usage and definition click this link.

Source

type EventRecord: 'static + Codec

TODO comment

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§