Defines the interface for a chain extension.
Entry point for writing ink! smart contracts.
Implements the necessary traits for a struct
to be emitted as an event from a
contract.
Derive the re-exported traits ink::scale::Encode
, ink::scale::Decode
and
ink::scale_info::TypeInfo
. It enables using the built in derive macros for these
traits without depending directly on the parity-scale-codec
and scale-info
crates.
Prepares the type to be fully compatible and usable with the storage.
It implements all necessary traits and calculates the storage key for types.
Packed
types don’t have a storage key, but non-packed types (like Mapping
, Lazy
etc.) require calculating the storage key during compilation.
Defines a unit test that makes use of ink!’s off-chain testing capabilities.
Marks trait definitions to ink! as special ink! trait definitions.