| 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"