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.