Crate near_sdk_macros
source · [−]Macros
metadata
generates the metadata method and should be placed at the very end of the lib.rs
file.
Attribute Macros
callback
is a marker attribute it does not generate code by itself.
callback_args_vec
is a marker attribute it does not generate code by itself.
ext_contract
takes a Rust Trait and converts it to a module with static methods.
Each of these static methods takes positional arguments defined by the Trait,
then the receiver_id, the attached deposit and the amount of gas and returns a new Promise.
init
is a marker attribute it does not generate code by itself.
This attribute macro is used on a struct and its implementations
to generate the necessary code to expose pub
methods from the contract as well
as generating the glue code to be a valid NEAR contract.
result_serializer
is a marker attribute it does not generate code by itself.
serializer
is a marker attribute it does not generate code by itself.
Derive Macros
BorshStorageKey
generates implementation for BorshIntoStorageKey
trait.
It allows the type to be passed as a unique prefix for persistent collections.
The type should also implement or derive BorshSerialize
trait.
FunctionError
generates implementation for near_sdk::FunctionError
trait.
It allows contract runtime to panic with the type using its ToString
implementation
as the message.
PanicOnDefault
generates implementation for Default
trait that panics with the following
message The contract is not initialized
when default()
is called.
This is a helpful macro in case the contract is required to be initialized with either init
or
init(ignore_state)
.