Crate near_sdk_macros

source ·

Attribute Macros§

  • callbackDeprecated
    callback is a marker attribute it does not generate code by itself.
  • callback_vecDeprecated
    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.
  • initDeprecated
    init is a marker attribute it does not generate code by itself.
  • This attribute macro is used to enhance the near_bindgen macro. It is used to add Borsh and Serde derives for serialization and deserialization. It also adds BorshSchema and JsonSchema if needed
  • 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.
  • serializerDeprecated
    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.
  • NOTE: This is an internal implementation for #[near_bindgen(events(standard = ...))] attribute.
  • 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).