This macro_rule generates a procedural derive macro for storage trait.

This macro_rule defines the storage trait.

This macro_rule manually generates implementation for storage trait. You can use this macro to generate the implementation for the storage trait if you don’t want to use derive macro, or if it is not created.

Attribute Macros

Entry point for use brush’s macros in ink! smart contracts.

This macro only checks that some free-standing function satisfies a set of rules.

Macro calls every modifier function by passing self and the code of function’s body. It means that modifiers must be available in the scope of the marked method.

That macro implemented SpreadLayout, SpreadAllocate and StorageLayout with a specified storage key instead of the default one(All data is stored under the provided storage key).

Defines extensible trait in the scope of brush::contract. It is a common rust trait, so you can use any features of rust inside of this trait. If this trait contains some methods marked with #[ink(message)] or #[ink(constructor)] attributes, this macro will extract these attributes and will put them into a separate trait (the separate trait only is used to call methods from the original trait), but the macro will not touch methods.

This macro allows you to define a wrapper type for traits defined via #[brush::trait_definition]. It is a wrapper for AccountId that knows how to do cross-contract calls to another contract.