Crates.io | dojo-cairo-macros |
lib.rs | dojo-cairo-macros |
version | 1.7.0 |
created_at | 2025-09-22 17:53:05.061756+00 |
updated_at | 2025-09-22 17:53:05.061756+00 |
description | Cairo proc macros for the Dojo framework. |
homepage | https://dojoengine.org |
repository | https://github.com/dojoengine/dojo/ |
max_upload_size | |
id | 1850455 |
size | 212,327 |
This crate contains the proc macros for the Dojo framework.
#[dojo::model]
: Defines a struct as a model.#[dojo::event]
: Defines a struct as an event.#[dojo::contract]
: Defines a struct as a contract.#[derive(Introspect)]
: Makes the struct introspectable, which allows to get the struct metadata at runtime and for offchain components.#[derive(IntrospectPacked)]
: Same as #[derive(Introspect)]
but use this one if you wish your struct to be packed in the storage (usually uses less space).#[derive(DojoStore)]
: Derives DojoStore
trait for the struct, which allows to store the struct in the world's database.#[derive(DojoLegacyStore)]
: Uses the legacy storage API for the struct, only for models that were deployed in a world on mainnet previous to 1.7.0
.More information about the migration to 1.7.0
can be found in the book.
Add the following to your Scarb.toml
file:
[dependencies]
dojo_macros = "1.7.0"