Skip to content

Commit

Permalink
fix: spawn and move & add offchain model (#1768)
Browse files Browse the repository at this point in the history
* fix: spawn and move & add offchain model

* update example

* update version

* chore: deployment manifest

* update test

* chore: scarb lock

* fix: test

* tests

* fix: generate manifests with latest sozo version

* fix: add deployement manifest

* fix: test with correct model name

* fix: adjust number of models into sql test

* fix: update default_auth script

* fix: remove  from manifests name and use

* fix: generate new manifests

* ci: re-enable ensure-windows

* fix: add new generated manifests for tests

* fix: adjust clean command to new manifests path

* fix: generate new manifests

---------

Co-authored-by: glihm <dev@glihm.net>
  • Loading branch information
Larkooo and glihm authored Apr 4, 2024
1 parent 33d2835 commit 94fbe54
Show file tree
Hide file tree
Showing 14 changed files with 835 additions and 16 deletions.
6 changes: 5 additions & 1 deletion crates/dojo-bindgen/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ mod tests {
)
.unwrap();

assert_eq!(data.models.len(), 3);
assert_eq!(data.models.len(), 4);

assert_eq!(data.world.name, "dojo_example");

Expand All @@ -274,5 +274,9 @@ mod tests {
let moved = data.models.get("Moved").unwrap();
assert_eq!(moved.name, "Moved");
assert_eq!(moved.qualified_path, "dojo_examples::actions::actions::Moved");

let moved = data.models.get("EmoteMessage").unwrap();
assert_eq!(moved.name, "EmoteMessage");
assert_eq!(moved.qualified_path, "dojo_examples::models::EmoteMessage");
}
}
4 changes: 2 additions & 2 deletions crates/dojo-world/src/manifest/manifest_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -387,10 +387,10 @@ async fn fetch_remote_manifest() {
let remote_manifest =
DeploymentManifest::load_from_remote(provider, world_address).await.unwrap();

assert_eq!(local_manifest.models.len(), 3);
assert_eq!(local_manifest.models.len(), 4);
assert_eq!(local_manifest.contracts.len(), 1);

assert_eq!(remote_manifest.models.len(), 3);
assert_eq!(remote_manifest.models.len(), 4);
assert_eq!(remote_manifest.contracts.len(), 1);

// compute diff from local and remote manifest
Expand Down
2 changes: 1 addition & 1 deletion crates/torii/core/src/sql_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ async fn test_load_from_remote() {

let _block_timestamp = 1710754478_u64;
let models = sqlx::query("SELECT * FROM models").fetch_all(&pool).await.unwrap();
assert_eq!(models.len(), 3);
assert_eq!(models.len(), 4);

let (id, name, packed_size, unpacked_size): (String, String, u8, u8) = sqlx::query_as(
"SELECT id, name, packed_size, unpacked_size FROM models WHERE name = 'Position'",
Expand Down
2 changes: 1 addition & 1 deletion examples/spawn-and-move/Scarb.lock
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ dependencies = [

[[package]]
name = "dojo_examples"
version = "0.5.1"
version = "0.6.0"
dependencies = [
"dojo",
]
Expand Down
2 changes: 1 addition & 1 deletion examples/spawn-and-move/Scarb.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
cairo-version = "2.4.0"
name = "dojo_examples"
version = "0.5.1"
version = "0.6.0"
# Use the prelude with the less imports as possible
# from corelib.
edition = "2023_10"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,239 @@
[
{
"type": "impl",
"name": "DojoModelImpl",
"interface_name": "dojo::model::IDojoModel"
},
{
"type": "struct",
"name": "core::array::Span::<core::integer::u8>",
"members": [
{
"name": "snapshot",
"type": "@core::array::Array::<core::integer::u8>"
}
]
},
{
"type": "struct",
"name": "core::array::Span::<core::felt252>",
"members": [
{
"name": "snapshot",
"type": "@core::array::Array::<core::felt252>"
}
]
},
{
"type": "struct",
"name": "core::array::Span::<core::array::Span::<core::felt252>>",
"members": [
{
"name": "snapshot",
"type": "@core::array::Array::<core::array::Span::<core::felt252>>"
}
]
},
{
"type": "struct",
"name": "dojo::database::introspect::Struct",
"members": [
{
"name": "name",
"type": "core::felt252"
},
{
"name": "attrs",
"type": "core::array::Span::<core::felt252>"
},
{
"name": "children",
"type": "core::array::Span::<core::array::Span::<core::felt252>>"
}
]
},
{
"type": "struct",
"name": "core::array::Span::<(core::felt252, core::array::Span::<core::felt252>)>",
"members": [
{
"name": "snapshot",
"type": "@core::array::Array::<(core::felt252, core::array::Span::<core::felt252>)>"
}
]
},
{
"type": "struct",
"name": "dojo::database::introspect::Enum",
"members": [
{
"name": "name",
"type": "core::felt252"
},
{
"name": "attrs",
"type": "core::array::Span::<core::felt252>"
},
{
"name": "children",
"type": "core::array::Span::<(core::felt252, core::array::Span::<core::felt252>)>"
}
]
},
{
"type": "enum",
"name": "dojo::database::introspect::Ty",
"variants": [
{
"name": "Primitive",
"type": "core::felt252"
},
{
"name": "Struct",
"type": "dojo::database::introspect::Struct"
},
{
"name": "Enum",
"type": "dojo::database::introspect::Enum"
},
{
"name": "Tuple",
"type": "core::array::Span::<core::array::Span::<core::felt252>>"
},
{
"name": "Array",
"type": "core::integer::u32"
}
]
},
{
"type": "interface",
"name": "dojo::model::IDojoModel",
"items": [
{
"type": "function",
"name": "name",
"inputs": [],
"outputs": [
{
"type": "core::felt252"
}
],
"state_mutability": "view"
},
{
"type": "function",
"name": "unpacked_size",
"inputs": [],
"outputs": [
{
"type": "core::integer::u32"
}
],
"state_mutability": "view"
},
{
"type": "function",
"name": "packed_size",
"inputs": [],
"outputs": [
{
"type": "core::integer::u32"
}
],
"state_mutability": "view"
},
{
"type": "function",
"name": "layout",
"inputs": [],
"outputs": [
{
"type": "core::array::Span::<core::integer::u8>"
}
],
"state_mutability": "view"
},
{
"type": "function",
"name": "schema",
"inputs": [],
"outputs": [
{
"type": "dojo::database::introspect::Ty"
}
],
"state_mutability": "view"
}
]
},
{
"type": "impl",
"name": "emote_messageImpl",
"interface_name": "dojo_examples::models::Iemote_message"
},
{
"type": "enum",
"name": "dojo_examples::models::Emote",
"variants": [
{
"name": "None",
"type": "()"
},
{
"name": "Happy",
"type": "()"
},
{
"name": "Sad",
"type": "()"
},
{
"name": "Angry",
"type": "()"
},
{
"name": "Love",
"type": "()"
}
]
},
{
"type": "struct",
"name": "dojo_examples::models::EmoteMessage",
"members": [
{
"name": "identity",
"type": "core::starknet::contract_address::ContractAddress"
},
{
"name": "emote",
"type": "dojo_examples::models::Emote"
}
]
},
{
"type": "interface",
"name": "dojo_examples::models::Iemote_message",
"items": [
{
"type": "function",
"name": "ensure_abi",
"inputs": [
{
"name": "model",
"type": "dojo_examples::models::EmoteMessage"
}
],
"outputs": [],
"state_mutability": "view"
}
]
},
{
"type": "event",
"name": "dojo_examples::models::emote_message::Event",
"kind": "enum",
"variants": []
}
]
Loading

0 comments on commit 94fbe54

Please sign in to comment.