| Crates.io | cainome-cairo-serde-derive |
| lib.rs | cainome-cairo-serde-derive |
| version | 0.1.0 |
| created_at | 2025-02-07 02:23:55.989114+00 |
| updated_at | 2025-02-07 02:23:55.989114+00 |
| description | A derive macro to implement the `CairoSerde` trait on structs or enums. |
| homepage | https://github.com/cartridge-gg/cainome |
| repository | https://github.com/cartridge-gg/cainome |
| max_upload_size | |
| id | 1546434 |
| size | 11,896 |
Implement the CairoSerde macro to derive the CairoSerde trait on your types.
The expanded core uses the CairoSerde type from cainome-cairo-serde crate, which will need to be imported in the crate that uses this derive.
CairoSerde allows to serialize and deserialize cairo types to/from native rust types.
#[derive(Debug, CairoSerde, PartialEq)]
struct ExampleSimple {
x: Vec<Felt>,
y: u32,
}
let example = ExampleSimple {
x: vec![Felt::ZERO],
y: 2,
};
let serialized = ExampleSimple::cairo_serialize(&example);
let offset = 0;
let deserialized = ExampleSimple::cairo_deserialize(&serialized, offset).unwrap();
assert_eq!(deserialized, example);