diff --git a/manifests/dev/deployment/abis/contracts/bytebeasts-actions-648ac931.json b/manifests/dev/deployment/abis/contracts/bytebeasts-actions-648ac931.json index 6436a2f..d13a4e7 100644 --- a/manifests/dev/deployment/abis/contracts/bytebeasts-actions-648ac931.json +++ b/manifests/dev/deployment/abis/contracts/bytebeasts-actions-648ac931.json @@ -129,16 +129,109 @@ { "type": "impl", "name": "ActionsImpl", - "interface_name": "bytebeasts::systems::actions::IActions" + "interface_name": "bytebeasts::systems::realms::IActions" + }, + { + "type": "enum", + "name": "bytebeasts::models::game::GameStatus", + "variants": [ + { + "name": "Pending", + "type": "()" + }, + { + "name": "InProgress", + "type": "()" + }, + { + "name": "Finished", + "type": "()" + } + ] + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::game::Game", + "members": [ + { + "name": "game_id", + "type": "core::integer::u128" + }, + { + "name": "player_1", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_2", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_3", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_4", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "status", + "type": "bytebeasts::models::game::GameStatus" + }, + { + "name": "is_private", + "type": "core::bool" + } + ] }, { "type": "interface", - "name": "bytebeasts::systems::actions::IActions", + "name": "bytebeasts::systems::realms::IActions", "items": [ { "type": "function", - "name": "setWorld", + "name": "create_initial_game_id", + "inputs": [], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "create_game", "inputs": [], + "outputs": [ + { + "type": "bytebeasts::models::game::Game" + } + ], + "state_mutability": "external" + }, + { + "type": "function", + "name": "join_game", + "inputs": [ + { + "name": "game_id", + "type": "core::integer::u128" + }, + { + "name": "player_2_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ], "outputs": [], "state_mutability": "external" } @@ -147,11 +240,11 @@ { "type": "impl", "name": "IDojoInitImpl", - "interface_name": "bytebeasts::systems::actions::actions::IDojoInit" + "interface_name": "bytebeasts::systems::realms::actions::IDojoInit" }, { "type": "interface", - "name": "bytebeasts::systems::actions::actions::IDojoInit", + "name": "bytebeasts::systems::realms::actions::IDojoInit", "items": [ { "type": "function", @@ -211,7 +304,7 @@ }, { "type": "event", - "name": "bytebeasts::systems::actions::actions::Event", + "name": "bytebeasts::systems::realms::actions::Event", "kind": "enum", "variants": [ { diff --git a/manifests/dev/deployment/abis/contracts/bytebeasts-bag_system-7ad8a155.json b/manifests/dev/deployment/abis/contracts/bytebeasts-bag_system-7ad8a155.json new file mode 100644 index 0000000..c0b8530 --- /dev/null +++ b/manifests/dev/deployment/abis/contracts/bytebeasts-bag_system-7ad8a155.json @@ -0,0 +1,291 @@ +[ + { + "type": "impl", + "name": "ContractImpl", + "interface_name": "dojo::contract::contract::IContract" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "interface", + "name": "dojo::contract::contract::IContract", + "items": [ + { + "type": "function", + "name": "contract_name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "WorldProviderImpl", + "interface_name": "dojo::world::world_contract::IWorldProvider" + }, + { + "type": "struct", + "name": "dojo::world::world_contract::IWorldDispatcher", + "members": [ + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ] + }, + { + "type": "interface", + "name": "dojo::world::world_contract::IWorldProvider", + "items": [ + { + "type": "function", + "name": "world", + "inputs": [], + "outputs": [ + { + "type": "dojo::world::world_contract::IWorldDispatcher" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "BagActionImpl", + "interface_name": "bytebeasts::systems::bag::IBagAction" + }, + { + "type": "struct", + "name": "bytebeasts::models::potion::Potion", + "members": [ + { + "name": "potion_id", + "type": "core::integer::u32" + }, + { + "name": "potion_name", + "type": "core::felt252" + }, + { + "name": "potion_effect", + "type": "core::integer::u32" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::systems::bag::IBagAction", + "items": [ + { + "type": "function", + "name": "init_bag", + "inputs": [ + { + "name": "bag_id", + "type": "core::integer::u32" + }, + { + "name": "player_id", + "type": "core::integer::u32" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "add_item", + "inputs": [ + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "bag_id", + "type": "core::integer::u32" + }, + { + "name": "potion", + "type": "bytebeasts::models::potion::Potion" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "take_out_item", + "inputs": [ + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "bag_id", + "type": "core::integer::u32" + } + ], + "outputs": [ + { + "type": "bytebeasts::models::potion::Potion" + } + ], + "state_mutability": "external" + } + ] + }, + { + "type": "impl", + "name": "IDojoInitImpl", + "interface_name": "bytebeasts::systems::bag::bag_system::IDojoInit" + }, + { + "type": "interface", + "name": "bytebeasts::systems::bag::bag_system::IDojoInit", + "items": [ + { + "type": "function", + "name": "dojo_init", + "inputs": [], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "UpgradableImpl", + "interface_name": "dojo::contract::upgradeable::IUpgradeable" + }, + { + "type": "interface", + "name": "dojo::contract::upgradeable::IUpgradeable", + "items": [ + { + "type": "function", + "name": "upgrade", + "inputs": [ + { + "name": "new_class_hash", + "type": "core::starknet::class_hash::ClassHash" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "struct", + "members": [ + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "enum", + "variants": [ + { + "name": "Upgraded", + "type": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "nested" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::systems::bag::bag_system::Event", + "kind": "enum", + "variants": [ + { + "name": "UpgradeableEvent", + "type": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "nested" + } + ] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/contracts/bytebeasts-battle_system-461868ac.json b/manifests/dev/deployment/abis/contracts/bytebeasts-battle_system-461868ac.json index ef36b6a..0c52cee 100644 --- a/manifests/dev/deployment/abis/contracts/bytebeasts-battle_system-461868ac.json +++ b/manifests/dev/deployment/abis/contracts/bytebeasts-battle_system-461868ac.json @@ -131,9 +131,35 @@ "name": "BattleActionsImpl", "interface_name": "bytebeasts::systems::battle::IBattleActions" }, + { + "type": "enum", + "name": "bytebeasts::models::world_elements::WorldElements", + "variants": [ + { + "name": "Crystal", + "type": "()" + }, + { + "name": "Draconic", + "type": "()" + }, + { + "name": "Shadow", + "type": "()" + }, + { + "name": "Light", + "type": "()" + }, + { + "name": "Titanium", + "type": "()" + } + ] + }, { "type": "struct", - "name": "bytebeasts::models::Beast", + "name": "bytebeasts::models::beast::Beast", "members": [ { "name": "beast_id", @@ -145,7 +171,7 @@ }, { "name": "beast_type", - "type": "core::integer::u32" + "type": "bytebeasts::models::world_elements::WorldElements" }, { "name": "beast_description", @@ -198,26 +224,22 @@ ] }, { - "type": "struct", - "name": "bytebeasts::models::Potion", - "members": [ - { - "name": "potion_id", - "type": "core::integer::u32" - }, + "type": "enum", + "name": "core::bool", + "variants": [ { - "name": "potion_name", - "type": "core::felt252" + "name": "False", + "type": "()" }, { - "name": "potion_effect", - "type": "core::integer::u32" + "name": "True", + "type": "()" } ] }, { "type": "struct", - "name": "bytebeasts::models::Mt", + "name": "bytebeasts::models::mt::Mt", "members": [ { "name": "mt_id", @@ -229,7 +251,7 @@ }, { "name": "mt_type", - "type": "core::integer::u32" + "type": "bytebeasts::models::world_elements::WorldElements" }, { "name": "mt_power", @@ -247,38 +269,42 @@ "items": [ { "type": "function", - "name": "check_flee_success", + "name": "init_battle", "inputs": [ { - "name": "player_beast", - "type": "bytebeasts::models::Beast" + "name": "player_id", + "type": "core::integer::u32" }, { - "name": "opponent_beast", - "type": "bytebeasts::models::Beast" + "name": "opponent_id", + "type": "core::integer::u32" } ], "outputs": [ { - "type": "core::felt252" + "type": "core::integer::u32" } ], - "state_mutability": "view" + "state_mutability": "external" }, { "type": "function", - "name": "apply_item_effect", + "name": "check_flee_success", "inputs": [ { - "name": "potion", - "type": "bytebeasts::models::Potion" + "name": "player_beast", + "type": "bytebeasts::models::beast::Beast" }, { - "name": "target", - "type": "bytebeasts::models::Beast" + "name": "opponent_beast", + "type": "bytebeasts::models::beast::Beast" + } + ], + "outputs": [ + { + "type": "core::bool" } ], - "outputs": [], "state_mutability": "view" }, { @@ -287,15 +313,15 @@ "inputs": [ { "name": "mt", - "type": "bytebeasts::models::Mt" + "type": "bytebeasts::models::mt::Mt" }, { "name": "attacker", - "type": "bytebeasts::models::Beast" + "type": "bytebeasts::models::beast::Beast" }, { "name": "defender", - "type": "bytebeasts::models::Beast" + "type": "bytebeasts::models::beast::Beast" } ], "outputs": [ @@ -317,22 +343,6 @@ "outputs": [], "state_mutability": "external" }, - { - "type": "function", - "name": "init_battle", - "inputs": [ - { - "name": "player_id", - "type": "core::integer::u32" - }, - { - "name": "opponent_id", - "type": "core::integer::u32" - } - ], - "outputs": [], - "state_mutability": "external" - }, { "type": "function", "name": "attack", diff --git a/manifests/dev/deployment/abis/contracts/bytebeasts-move_action-62decdb8.json b/manifests/dev/deployment/abis/contracts/bytebeasts-move_action-62decdb8.json new file mode 100644 index 0000000..ed34d1f --- /dev/null +++ b/manifests/dev/deployment/abis/contracts/bytebeasts-move_action-62decdb8.json @@ -0,0 +1,237 @@ +[ + { + "type": "impl", + "name": "ContractImpl", + "interface_name": "dojo::contract::contract::IContract" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "interface", + "name": "dojo::contract::contract::IContract", + "items": [ + { + "type": "function", + "name": "contract_name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "WorldProviderImpl", + "interface_name": "dojo::world::world_contract::IWorldProvider" + }, + { + "type": "struct", + "name": "dojo::world::world_contract::IWorldDispatcher", + "members": [ + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ] + }, + { + "type": "interface", + "name": "dojo::world::world_contract::IWorldProvider", + "items": [ + { + "type": "function", + "name": "world", + "inputs": [], + "outputs": [ + { + "type": "dojo::world::world_contract::IWorldDispatcher" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "MoveActionImpl", + "interface_name": "bytebeasts::systems::move::IMoveAction" + }, + { + "type": "interface", + "name": "bytebeasts::systems::move::IMoveAction", + "items": [ + { + "type": "function", + "name": "move", + "inputs": [ + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "new_x", + "type": "core::integer::u32" + }, + { + "name": "new_y", + "type": "core::integer::u32" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "impl", + "name": "IDojoInitImpl", + "interface_name": "bytebeasts::systems::move::move_action::IDojoInit" + }, + { + "type": "interface", + "name": "bytebeasts::systems::move::move_action::IDojoInit", + "items": [ + { + "type": "function", + "name": "dojo_init", + "inputs": [], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "UpgradableImpl", + "interface_name": "dojo::contract::upgradeable::IUpgradeable" + }, + { + "type": "interface", + "name": "dojo::contract::upgradeable::IUpgradeable", + "items": [ + { + "type": "function", + "name": "upgrade", + "inputs": [ + { + "name": "new_class_hash", + "type": "core::starknet::class_hash::ClassHash" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "struct", + "members": [ + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "enum", + "variants": [ + { + "name": "Upgraded", + "type": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "nested" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::systems::move::move_action::Event", + "kind": "enum", + "variants": [ + { + "name": "UpgradeableEvent", + "type": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "nested" + } + ] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/contracts/bytebeasts-spawn_action-5176c1e8.json b/manifests/dev/deployment/abis/contracts/bytebeasts-spawn_action-5176c1e8.json new file mode 100644 index 0000000..da498df --- /dev/null +++ b/manifests/dev/deployment/abis/contracts/bytebeasts-spawn_action-5176c1e8.json @@ -0,0 +1,229 @@ +[ + { + "type": "impl", + "name": "ContractImpl", + "interface_name": "dojo::contract::contract::IContract" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "interface", + "name": "dojo::contract::contract::IContract", + "items": [ + { + "type": "function", + "name": "contract_name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "WorldProviderImpl", + "interface_name": "dojo::world::world_contract::IWorldProvider" + }, + { + "type": "struct", + "name": "dojo::world::world_contract::IWorldDispatcher", + "members": [ + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ] + }, + { + "type": "interface", + "name": "dojo::world::world_contract::IWorldProvider", + "items": [ + { + "type": "function", + "name": "world", + "inputs": [], + "outputs": [ + { + "type": "dojo::world::world_contract::IWorldDispatcher" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "SpawnActionImpl", + "interface_name": "bytebeasts::systems::spawn::ISpawnAction" + }, + { + "type": "interface", + "name": "bytebeasts::systems::spawn::ISpawnAction", + "items": [ + { + "type": "function", + "name": "spawn", + "inputs": [ + { + "name": "player_id", + "type": "core::integer::u32" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "impl", + "name": "IDojoInitImpl", + "interface_name": "bytebeasts::systems::spawn::spawn_action::IDojoInit" + }, + { + "type": "interface", + "name": "bytebeasts::systems::spawn::spawn_action::IDojoInit", + "items": [ + { + "type": "function", + "name": "dojo_init", + "inputs": [], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "UpgradableImpl", + "interface_name": "dojo::contract::upgradeable::IUpgradeable" + }, + { + "type": "interface", + "name": "dojo::contract::upgradeable::IUpgradeable", + "items": [ + { + "type": "function", + "name": "upgrade", + "inputs": [ + { + "name": "new_class_hash", + "type": "core::starknet::class_hash::ClassHash" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "struct", + "members": [ + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "enum", + "variants": [ + { + "name": "Upgraded", + "type": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "nested" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::systems::spawn::spawn_action::Event", + "kind": "enum", + "variants": [ + { + "name": "UpgradeableEvent", + "type": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "nested" + } + ] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/contracts/bytebeasts-world_setup-674b640b.json b/manifests/dev/deployment/abis/contracts/bytebeasts-world_setup-674b640b.json new file mode 100644 index 0000000..edd696c --- /dev/null +++ b/manifests/dev/deployment/abis/contracts/bytebeasts-world_setup-674b640b.json @@ -0,0 +1,224 @@ +[ + { + "type": "impl", + "name": "ContractImpl", + "interface_name": "dojo::contract::contract::IContract" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "interface", + "name": "dojo::contract::contract::IContract", + "items": [ + { + "type": "function", + "name": "contract_name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "WorldProviderImpl", + "interface_name": "dojo::world::world_contract::IWorldProvider" + }, + { + "type": "struct", + "name": "dojo::world::world_contract::IWorldDispatcher", + "members": [ + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ] + }, + { + "type": "interface", + "name": "dojo::world::world_contract::IWorldProvider", + "items": [ + { + "type": "function", + "name": "world", + "inputs": [], + "outputs": [ + { + "type": "dojo::world::world_contract::IWorldDispatcher" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "WorldSetupImpl", + "interface_name": "bytebeasts::systems::world_setup::IWorldSetup" + }, + { + "type": "interface", + "name": "bytebeasts::systems::world_setup::IWorldSetup", + "items": [ + { + "type": "function", + "name": "setWorld", + "inputs": [], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "impl", + "name": "IDojoInitImpl", + "interface_name": "bytebeasts::systems::world_setup::world_setup::IDojoInit" + }, + { + "type": "interface", + "name": "bytebeasts::systems::world_setup::world_setup::IDojoInit", + "items": [ + { + "type": "function", + "name": "dojo_init", + "inputs": [], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "UpgradableImpl", + "interface_name": "dojo::contract::upgradeable::IUpgradeable" + }, + { + "type": "interface", + "name": "dojo::contract::upgradeable::IUpgradeable", + "items": [ + { + "type": "function", + "name": "upgrade", + "inputs": [ + { + "name": "new_class_hash", + "type": "core::starknet::class_hash::ClassHash" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "struct", + "members": [ + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "enum", + "variants": [ + { + "name": "Upgraded", + "type": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "nested" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::systems::world_setup::world_setup::Event", + "kind": "enum", + "variants": [ + { + "name": "UpgradeableEvent", + "type": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "nested" + } + ] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/models/bytebeasts-Achievement-58a03b97.json b/manifests/dev/deployment/abis/models/bytebeasts-Achievement-58a03b97.json new file mode 100644 index 0000000..914ec1a --- /dev/null +++ b/manifests/dev/deployment/abis/models/bytebeasts-Achievement-58a03b97.json @@ -0,0 +1,517 @@ +[ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "achievementImpl", + "interface_name": "bytebeasts::models::achievements::Iachievement" + }, + { + "type": "enum", + "name": "bytebeasts::models::achievement_type::AchievementType", + "variants": [ + { + "name": "FirstWin", + "type": "()" + }, + { + "name": "TenWins", + "type": "()" + }, + { + "name": "HundredWins", + "type": "()" + }, + { + "name": "FirstBeast", + "type": "()" + }, + { + "name": "TenBeasts", + "type": "()" + }, + { + "name": "RareBeast", + "type": "()" + }, + { + "name": "FirstNPCInteraction", + "type": "()" + }, + { + "name": "RandomBattleChampion", + "type": "()" + }, + { + "name": "BeastMaster", + "type": "()" + }, + { + "name": "LegendaryPlayer", + "type": "()" + }, + { + "name": "TopScorer", + "type": "()" + } + ] + }, + { + "type": "enum", + "name": "bytebeasts::models::achievement_rarity::AchievementRarity", + "variants": [ + { + "name": "Common", + "type": "()" + }, + { + "name": "Uncommon", + "type": "()" + }, + { + "name": "Rare", + "type": "()" + }, + { + "name": "Epic", + "type": "()" + }, + { + "name": "Legendary", + "type": "()" + } + ] + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::achievements::Achievement", + "members": [ + { + "name": "achievement_id", + "type": "core::integer::u64" + }, + { + "name": "achievement_type", + "type": "bytebeasts::models::achievement_type::AchievementType" + }, + { + "name": "rarity", + "type": "bytebeasts::models::achievement_rarity::AchievementRarity" + }, + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "description", + "type": "core::byte_array::ByteArray" + }, + { + "name": "is_hidden", + "type": "core::bool" + }, + { + "name": "is_unlocked", + "type": "core::bool" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::achievements::Iachievement", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::achievements::Achievement" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::achievements::achievement::Event", + "kind": "enum", + "variants": [] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/models/bytebeasts-AchievementProgress-221f2719.json b/manifests/dev/deployment/abis/models/bytebeasts-AchievementProgress-221f2719.json new file mode 100644 index 0000000..9d690e4 --- /dev/null +++ b/manifests/dev/deployment/abis/models/bytebeasts-AchievementProgress-221f2719.json @@ -0,0 +1,429 @@ +[ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "achievement_progressImpl", + "interface_name": "bytebeasts::models::achievements::Iachievement_progress" + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::achievements::AchievementProgress", + "members": [ + { + "name": "player_id", + "type": "core::integer::u64" + }, + { + "name": "achievement_id", + "type": "core::integer::u64" + }, + { + "name": "progress", + "type": "core::integer::u32" + }, + { + "name": "is_unlocked", + "type": "core::bool" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::achievements::Iachievement_progress", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::achievements::AchievementProgress" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::achievements::achievement_progress::Event", + "kind": "enum", + "variants": [] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/models/bytebeasts-Bag-2571b77d.json b/manifests/dev/deployment/abis/models/bytebeasts-Bag-2571b77d.json new file mode 100644 index 0000000..8723385 --- /dev/null +++ b/manifests/dev/deployment/abis/models/bytebeasts-Bag-2571b77d.json @@ -0,0 +1,433 @@ +[ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "bagImpl", + "interface_name": "bytebeasts::models::bag::Ibag" + }, + { + "type": "struct", + "name": "bytebeasts::models::potion::Potion", + "members": [ + { + "name": "potion_id", + "type": "core::integer::u32" + }, + { + "name": "potion_name", + "type": "core::felt252" + }, + { + "name": "potion_effect", + "type": "core::integer::u32" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::bag::Bag", + "members": [ + { + "name": "bag_id", + "type": "core::integer::u32" + }, + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "max_capacity", + "type": "core::integer::u32" + }, + { + "name": "potions", + "type": "core::array::Array::" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::bag::Ibag", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::bag::Bag" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::bag::bag::Event", + "kind": "enum", + "variants": [] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/models/bytebeasts-Battle-55b5860b.json b/manifests/dev/deployment/abis/models/bytebeasts-Battle-55b5860b.json index 3e997e9..d2d4033 100644 --- a/manifests/dev/deployment/abis/models/bytebeasts-Battle-55b5860b.json +++ b/manifests/dev/deployment/abis/models/bytebeasts-Battle-55b5860b.json @@ -364,11 +364,11 @@ { "type": "impl", "name": "battleImpl", - "interface_name": "bytebeasts::models::Ibattle" + "interface_name": "bytebeasts::models::battle::Ibattle" }, { "type": "struct", - "name": "bytebeasts::models::Battle", + "name": "bytebeasts::models::battle::Battle", "members": [ { "name": "battle_id", @@ -402,7 +402,7 @@ }, { "type": "interface", - "name": "bytebeasts::models::Ibattle", + "name": "bytebeasts::models::battle::Ibattle", "items": [ { "type": "function", @@ -410,7 +410,7 @@ "inputs": [ { "name": "model", - "type": "bytebeasts::models::Battle" + "type": "bytebeasts::models::battle::Battle" } ], "outputs": [], @@ -420,7 +420,7 @@ }, { "type": "event", - "name": "bytebeasts::models::battle::Event", + "name": "bytebeasts::models::battle::battle::Event", "kind": "enum", "variants": [] } diff --git a/manifests/dev/deployment/abis/models/bytebeasts-Beast-27809d20.json b/manifests/dev/deployment/abis/models/bytebeasts-Beast-27809d20.json index f43176e..7cf025f 100644 --- a/manifests/dev/deployment/abis/models/bytebeasts-Beast-27809d20.json +++ b/manifests/dev/deployment/abis/models/bytebeasts-Beast-27809d20.json @@ -364,11 +364,37 @@ { "type": "impl", "name": "beastImpl", - "interface_name": "bytebeasts::models::Ibeast" + "interface_name": "bytebeasts::models::beast::Ibeast" + }, + { + "type": "enum", + "name": "bytebeasts::models::world_elements::WorldElements", + "variants": [ + { + "name": "Crystal", + "type": "()" + }, + { + "name": "Draconic", + "type": "()" + }, + { + "name": "Shadow", + "type": "()" + }, + { + "name": "Light", + "type": "()" + }, + { + "name": "Titanium", + "type": "()" + } + ] }, { "type": "struct", - "name": "bytebeasts::models::Beast", + "name": "bytebeasts::models::beast::Beast", "members": [ { "name": "beast_id", @@ -380,7 +406,7 @@ }, { "name": "beast_type", - "type": "core::integer::u32" + "type": "bytebeasts::models::world_elements::WorldElements" }, { "name": "beast_description", @@ -434,7 +460,7 @@ }, { "type": "interface", - "name": "bytebeasts::models::Ibeast", + "name": "bytebeasts::models::beast::Ibeast", "items": [ { "type": "function", @@ -442,7 +468,7 @@ "inputs": [ { "name": "model", - "type": "bytebeasts::models::Beast" + "type": "bytebeasts::models::beast::Beast" } ], "outputs": [], @@ -452,7 +478,7 @@ }, { "type": "event", - "name": "bytebeasts::models::beast::Event", + "name": "bytebeasts::models::beast::beast::Event", "kind": "enum", "variants": [] } diff --git a/manifests/dev/deployment/abis/models/bytebeasts-Game-e91217d7.json b/manifests/dev/deployment/abis/models/bytebeasts-Game-e91217d7.json new file mode 100644 index 0000000..63358f6 --- /dev/null +++ b/manifests/dev/deployment/abis/models/bytebeasts-Game-e91217d7.json @@ -0,0 +1,459 @@ +[ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "gameImpl", + "interface_name": "bytebeasts::models::game::Igame" + }, + { + "type": "enum", + "name": "bytebeasts::models::game::GameStatus", + "variants": [ + { + "name": "Pending", + "type": "()" + }, + { + "name": "InProgress", + "type": "()" + }, + { + "name": "Finished", + "type": "()" + } + ] + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::game::Game", + "members": [ + { + "name": "game_id", + "type": "core::integer::u128" + }, + { + "name": "player_1", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_2", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_3", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_4", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "status", + "type": "bytebeasts::models::game::GameStatus" + }, + { + "name": "is_private", + "type": "core::bool" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::game::Igame", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::game::Game" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::game::game::Event", + "kind": "enum", + "variants": [] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/models/bytebeasts-GameId-344511d3.json b/manifests/dev/deployment/abis/models/bytebeasts-GameId-344511d3.json new file mode 100644 index 0000000..6f9a0a0 --- /dev/null +++ b/manifests/dev/deployment/abis/models/bytebeasts-GameId-344511d3.json @@ -0,0 +1,407 @@ +[ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "game_idImpl", + "interface_name": "bytebeasts::models::game_id::Igame_id" + }, + { + "type": "struct", + "name": "bytebeasts::models::game_id::GameId", + "members": [ + { + "name": "id", + "type": "core::integer::u32" + }, + { + "name": "game_id", + "type": "core::integer::u128" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::game_id::Igame_id", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::game_id::GameId" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::game_id::game_id::Event", + "kind": "enum", + "variants": [] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/models/bytebeasts-GamePlayer-596ef4a1.json b/manifests/dev/deployment/abis/models/bytebeasts-GamePlayer-596ef4a1.json new file mode 100644 index 0000000..7045dc4 --- /dev/null +++ b/manifests/dev/deployment/abis/models/bytebeasts-GamePlayer-596ef4a1.json @@ -0,0 +1,439 @@ +[ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "game_playerImpl", + "interface_name": "bytebeasts::models::game_player::Igame_player" + }, + { + "type": "struct", + "name": "bytebeasts::models::game_player::GamePlayer", + "members": [ + { + "name": "address", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "game_id", + "type": "core::integer::u128" + }, + { + "name": "beast_1", + "type": "core::integer::u8" + }, + { + "name": "beast_2", + "type": "core::integer::u8" + }, + { + "name": "beast_3", + "type": "core::integer::u8" + }, + { + "name": "beast_4", + "type": "core::integer::u8" + }, + { + "name": "bag_id", + "type": "core::integer::u8" + }, + { + "name": "active_mount", + "type": "core::integer::u8" + }, + { + "name": "mounts", + "type": "core::array::Array::" + }, + { + "name": "position", + "type": "core::array::Array::" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::game_player::Igame_player", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::game_player::GamePlayer" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::game_player::game_player::Event", + "kind": "enum", + "variants": [] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/models/bytebeasts-Mt-37360d30.json b/manifests/dev/deployment/abis/models/bytebeasts-Mt-37360d30.json index a8ae1d3..6d38f65 100644 --- a/manifests/dev/deployment/abis/models/bytebeasts-Mt-37360d30.json +++ b/manifests/dev/deployment/abis/models/bytebeasts-Mt-37360d30.json @@ -364,11 +364,37 @@ { "type": "impl", "name": "mtImpl", - "interface_name": "bytebeasts::models::Imt" + "interface_name": "bytebeasts::models::mt::Imt" + }, + { + "type": "enum", + "name": "bytebeasts::models::world_elements::WorldElements", + "variants": [ + { + "name": "Crystal", + "type": "()" + }, + { + "name": "Draconic", + "type": "()" + }, + { + "name": "Shadow", + "type": "()" + }, + { + "name": "Light", + "type": "()" + }, + { + "name": "Titanium", + "type": "()" + } + ] }, { "type": "struct", - "name": "bytebeasts::models::Mt", + "name": "bytebeasts::models::mt::Mt", "members": [ { "name": "mt_id", @@ -380,7 +406,7 @@ }, { "name": "mt_type", - "type": "core::integer::u32" + "type": "bytebeasts::models::world_elements::WorldElements" }, { "name": "mt_power", @@ -394,7 +420,7 @@ }, { "type": "interface", - "name": "bytebeasts::models::Imt", + "name": "bytebeasts::models::mt::Imt", "items": [ { "type": "function", @@ -402,7 +428,7 @@ "inputs": [ { "name": "model", - "type": "bytebeasts::models::Mt" + "type": "bytebeasts::models::mt::Mt" } ], "outputs": [], @@ -412,7 +438,7 @@ }, { "type": "event", - "name": "bytebeasts::models::mt::Event", + "name": "bytebeasts::models::mt::mt::Event", "kind": "enum", "variants": [] } diff --git a/manifests/dev/deployment/abis/models/bytebeasts-NPC-4c5239ac.json b/manifests/dev/deployment/abis/models/bytebeasts-NPC-4c5239ac.json new file mode 100644 index 0000000..1af2b1a --- /dev/null +++ b/manifests/dev/deployment/abis/models/bytebeasts-NPC-4c5239ac.json @@ -0,0 +1,537 @@ +[ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "npcImpl", + "interface_name": "bytebeasts::models::npc::Inpc" + }, + { + "type": "enum", + "name": "bytebeasts::models::role::Role", + "variants": [ + { + "name": "Vendor", + "type": "()" + }, + { + "name": "Trainer", + "type": "()" + }, + { + "name": "Guide", + "type": "()" + }, + { + "name": "QuestGiver", + "type": "()" + } + ] + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::coordinates::Coordinates", + "members": [ + { + "name": "x", + "type": "core::integer::u32" + }, + { + "name": "y", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "bytebeasts::models::mission_status::MissionStatus", + "variants": [ + { + "name": "NotStarted", + "type": "()" + }, + { + "name": "InProgress", + "type": "()" + }, + { + "name": "Completed", + "type": "()" + }, + { + "name": "Failed", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::potion::Potion", + "members": [ + { + "name": "potion_id", + "type": "core::integer::u32" + }, + { + "name": "potion_name", + "type": "core::felt252" + }, + { + "name": "potion_effect", + "type": "core::integer::u32" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::npc::NPC", + "members": [ + { + "name": "npc_id", + "type": "core::integer::u32" + }, + { + "name": "npc_name", + "type": "core::felt252" + }, + { + "name": "npc_description", + "type": "core::felt252" + }, + { + "name": "npc_role", + "type": "bytebeasts::models::role::Role" + }, + { + "name": "dialogue", + "type": "core::byte_array::ByteArray" + }, + { + "name": "is_active", + "type": "core::bool" + }, + { + "name": "location", + "type": "bytebeasts::models::coordinates::Coordinates" + }, + { + "name": "importance_level", + "type": "core::integer::u8" + }, + { + "name": "mission_status", + "type": "bytebeasts::models::mission_status::MissionStatus" + }, + { + "name": "reward", + "type": "core::integer::u16" + }, + { + "name": "experience_points", + "type": "core::integer::u16" + }, + { + "name": "potions", + "type": "core::array::Array::" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::npc::Inpc", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::npc::NPC" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::npc::npc::Event", + "kind": "enum", + "variants": [] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/models/bytebeasts-Player-14f5e45e.json b/manifests/dev/deployment/abis/models/bytebeasts-Player-14f5e45e.json index 88d77dd..cc9bf5c 100644 --- a/manifests/dev/deployment/abis/models/bytebeasts-Player-14f5e45e.json +++ b/manifests/dev/deployment/abis/models/bytebeasts-Player-14f5e45e.json @@ -364,11 +364,11 @@ { "type": "impl", "name": "playerImpl", - "interface_name": "bytebeasts::models::Iplayer" + "interface_name": "bytebeasts::models::player::Iplayer" }, { "type": "struct", - "name": "bytebeasts::models::Player", + "name": "bytebeasts::models::player::Player", "members": [ { "name": "player_id", @@ -402,7 +402,7 @@ }, { "type": "interface", - "name": "bytebeasts::models::Iplayer", + "name": "bytebeasts::models::player::Iplayer", "items": [ { "type": "function", @@ -410,7 +410,7 @@ "inputs": [ { "name": "model", - "type": "bytebeasts::models::Player" + "type": "bytebeasts::models::player::Player" } ], "outputs": [], @@ -420,7 +420,7 @@ }, { "type": "event", - "name": "bytebeasts::models::player::Event", + "name": "bytebeasts::models::player::player::Event", "kind": "enum", "variants": [] } diff --git a/manifests/dev/deployment/abis/models/bytebeasts-Position-78f28df6.json b/manifests/dev/deployment/abis/models/bytebeasts-Position-78f28df6.json index 2fd1de9..ed36018 100644 --- a/manifests/dev/deployment/abis/models/bytebeasts-Position-78f28df6.json +++ b/manifests/dev/deployment/abis/models/bytebeasts-Position-78f28df6.json @@ -364,11 +364,45 @@ { "type": "impl", "name": "positionImpl", - "interface_name": "bytebeasts::models::Iposition" + "interface_name": "bytebeasts::models::position::Iposition" }, { "type": "struct", - "name": "bytebeasts::models::Vec2", + "name": "bytebeasts::models::player::Player", + "members": [ + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "player_name", + "type": "core::felt252" + }, + { + "name": "beast_1", + "type": "core::integer::u32" + }, + { + "name": "beast_2", + "type": "core::integer::u32" + }, + { + "name": "beast_3", + "type": "core::integer::u32" + }, + { + "name": "beast_4", + "type": "core::integer::u32" + }, + { + "name": "potions", + "type": "core::integer::u32" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::coordinates::Coordinates", "members": [ { "name": "x", @@ -382,21 +416,21 @@ }, { "type": "struct", - "name": "bytebeasts::models::Position", + "name": "bytebeasts::models::position::Position", "members": [ { "name": "player", - "type": "core::starknet::contract_address::ContractAddress" + "type": "bytebeasts::models::player::Player" }, { - "name": "vec", - "type": "bytebeasts::models::Vec2" + "name": "coordinates", + "type": "bytebeasts::models::coordinates::Coordinates" } ] }, { "type": "interface", - "name": "bytebeasts::models::Iposition", + "name": "bytebeasts::models::position::Iposition", "items": [ { "type": "function", @@ -404,7 +438,7 @@ "inputs": [ { "name": "model", - "type": "bytebeasts::models::Position" + "type": "bytebeasts::models::position::Position" } ], "outputs": [], @@ -414,7 +448,7 @@ }, { "type": "event", - "name": "bytebeasts::models::position::Event", + "name": "bytebeasts::models::position::position::Event", "kind": "enum", "variants": [] } diff --git a/manifests/dev/deployment/abis/models/bytebeasts-Potion-6a2114b0.json b/manifests/dev/deployment/abis/models/bytebeasts-Potion-6a2114b0.json index 1d1a084..390f77b 100644 --- a/manifests/dev/deployment/abis/models/bytebeasts-Potion-6a2114b0.json +++ b/manifests/dev/deployment/abis/models/bytebeasts-Potion-6a2114b0.json @@ -364,11 +364,11 @@ { "type": "impl", "name": "potionImpl", - "interface_name": "bytebeasts::models::Ipotion" + "interface_name": "bytebeasts::models::potion::Ipotion" }, { "type": "struct", - "name": "bytebeasts::models::Potion", + "name": "bytebeasts::models::potion::Potion", "members": [ { "name": "potion_id", @@ -386,7 +386,7 @@ }, { "type": "interface", - "name": "bytebeasts::models::Ipotion", + "name": "bytebeasts::models::potion::Ipotion", "items": [ { "type": "function", @@ -394,7 +394,7 @@ "inputs": [ { "name": "model", - "type": "bytebeasts::models::Potion" + "type": "bytebeasts::models::potion::Potion" } ], "outputs": [], @@ -404,7 +404,7 @@ }, { "type": "event", - "name": "bytebeasts::models::potion::Event", + "name": "bytebeasts::models::potion::potion::Event", "kind": "enum", "variants": [] } diff --git a/manifests/dev/deployment/abis/models/bytebeasts-Status-6595af0f.json b/manifests/dev/deployment/abis/models/bytebeasts-Status-6595af0f.json new file mode 100644 index 0000000..439cd90 --- /dev/null +++ b/manifests/dev/deployment/abis/models/bytebeasts-Status-6595af0f.json @@ -0,0 +1,407 @@ +[ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "statusImpl", + "interface_name": "bytebeasts::systems::battle::battle_system::Istatus" + }, + { + "type": "struct", + "name": "bytebeasts::systems::battle::battle_system::Status", + "members": [ + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "message", + "type": "core::felt252" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::systems::battle::battle_system::Istatus", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::systems::battle::battle_system::Status" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::systems::battle::battle_system::status::Event", + "kind": "enum", + "variants": [] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/abis/models/bytebeasts-StatusBattle-161fdb64.json b/manifests/dev/deployment/abis/models/bytebeasts-StatusBattle-161fdb64.json new file mode 100644 index 0000000..e387582 --- /dev/null +++ b/manifests/dev/deployment/abis/models/bytebeasts-StatusBattle-161fdb64.json @@ -0,0 +1,407 @@ +[ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "status_battleImpl", + "interface_name": "bytebeasts::systems::battle::battle_system::Istatus_battle" + }, + { + "type": "struct", + "name": "bytebeasts::systems::battle::battle_system::StatusBattle", + "members": [ + { + "name": "battle_id", + "type": "core::integer::u32" + }, + { + "name": "message", + "type": "core::felt252" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::systems::battle::battle_system::Istatus_battle", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::systems::battle::battle_system::StatusBattle" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::systems::battle::battle_system::status_battle::Event", + "kind": "enum", + "variants": [] + } +] \ No newline at end of file diff --git a/manifests/dev/deployment/manifest.json b/manifests/dev/deployment/manifest.json index d74dfb4..5647cd5 100644 --- a/manifests/dev/deployment/manifest.json +++ b/manifests/dev/deployment/manifest.json @@ -1251,8 +1251,8 @@ { "kind": "DojoContract", "address": "0x4854bb6cc04b51e5adaed76afc0664091182fe44a9e5e68dc4f8f5f59ffd464", - "class_hash": "0x194fab2764a0d823cb5aa7ef9810113952c3579700e114d409c33f954f0caf9", - "original_class_hash": "0x194fab2764a0d823cb5aa7ef9810113952c3579700e114d409c33f954f0caf9", + "class_hash": "0x7a662a2c7e8067fd633c3840f51c671a18c2e71901995fe791281c07c855aa0", + "original_class_hash": "0x7a662a2c7e8067fd633c3840f51c671a18c2e71901995fe791281c07c855aa0", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -1385,16 +1385,109 @@ { "type": "impl", "name": "ActionsImpl", - "interface_name": "bytebeasts::systems::actions::IActions" + "interface_name": "bytebeasts::systems::realms::IActions" + }, + { + "type": "enum", + "name": "bytebeasts::models::game::GameStatus", + "variants": [ + { + "name": "Pending", + "type": "()" + }, + { + "name": "InProgress", + "type": "()" + }, + { + "name": "Finished", + "type": "()" + } + ] + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::game::Game", + "members": [ + { + "name": "game_id", + "type": "core::integer::u128" + }, + { + "name": "player_1", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_2", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_3", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_4", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "status", + "type": "bytebeasts::models::game::GameStatus" + }, + { + "name": "is_private", + "type": "core::bool" + } + ] }, { "type": "interface", - "name": "bytebeasts::systems::actions::IActions", + "name": "bytebeasts::systems::realms::IActions", "items": [ { "type": "function", - "name": "setWorld", + "name": "create_initial_game_id", + "inputs": [], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "create_game", "inputs": [], + "outputs": [ + { + "type": "bytebeasts::models::game::Game" + } + ], + "state_mutability": "external" + }, + { + "type": "function", + "name": "join_game", + "inputs": [ + { + "name": "game_id", + "type": "core::integer::u128" + }, + { + "name": "player_2_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ], "outputs": [], "state_mutability": "external" } @@ -1403,11 +1496,11 @@ { "type": "impl", "name": "IDojoInitImpl", - "interface_name": "bytebeasts::systems::actions::actions::IDojoInit" + "interface_name": "bytebeasts::systems::realms::actions::IDojoInit" }, { "type": "interface", - "name": "bytebeasts::systems::actions::actions::IDojoInit", + "name": "bytebeasts::systems::realms::actions::IDojoInit", "items": [ { "type": "function", @@ -1467,7 +1560,7 @@ }, { "type": "event", - "name": "bytebeasts::systems::actions::actions::Event", + "name": "bytebeasts::systems::realms::actions::Event", "kind": "enum", "variants": [ { @@ -1479,21 +1572,16 @@ } ], "reads": [], - "writes": [ - "bytebeasts-Beast", - "bytebeasts-Mt", - "bytebeasts-Player", - "bytebeasts-Potion" - ], + "writes": [], "init_calldata": [], "tag": "bytebeasts-actions", "manifest_name": "bytebeasts-actions-648ac931" }, { "kind": "DojoContract", - "address": "0x612b684f6b34356ad9a07ac3e1924f9dfa54235d0a513095b0d12695ace8b68", - "class_hash": "0x42e8d9b08e8c71fee2c025922e8bcd10b9277fb688e97701f2169ca03ad91c0", - "original_class_hash": "0x42e8d9b08e8c71fee2c025922e8bcd10b9277fb688e97701f2169ca03ad91c0", + "address": "0x31d91cb20f41aa13507de40e2b7b5b85338e240388ea905ede7b799cafadcbe", + "class_hash": "0x51aaf7a580665ebd6d7d32e2340f0e8b6850296fc1ad389c74a293d1a26029f", + "original_class_hash": "0x51aaf7a580665ebd6d7d32e2340f0e8b6850296fc1ad389c74a293d1a26029f", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -1625,78 +1713,12 @@ }, { "type": "impl", - "name": "BattleActionsImpl", - "interface_name": "bytebeasts::systems::battle::IBattleActions" - }, - { - "type": "struct", - "name": "bytebeasts::models::Beast", - "members": [ - { - "name": "beast_id", - "type": "core::integer::u32" - }, - { - "name": "beast_name", - "type": "core::felt252" - }, - { - "name": "beast_type", - "type": "core::integer::u32" - }, - { - "name": "beast_description", - "type": "core::felt252" - }, - { - "name": "player_id", - "type": "core::integer::u32" - }, - { - "name": "hp", - "type": "core::integer::u32" - }, - { - "name": "current_hp", - "type": "core::integer::u32" - }, - { - "name": "attack", - "type": "core::integer::u32" - }, - { - "name": "defense", - "type": "core::integer::u32" - }, - { - "name": "mt1", - "type": "core::integer::u32" - }, - { - "name": "mt2", - "type": "core::integer::u32" - }, - { - "name": "mt3", - "type": "core::integer::u32" - }, - { - "name": "mt4", - "type": "core::integer::u32" - }, - { - "name": "level", - "type": "core::integer::u32" - }, - { - "name": "experience_to_next_level", - "type": "core::integer::u64" - } - ] + "name": "BagActionImpl", + "interface_name": "bytebeasts::systems::bag::IBagAction" }, { "type": "struct", - "name": "bytebeasts::models::Potion", + "name": "bytebeasts::models::potion::Potion", "members": [ { "name": "potion_id", @@ -1712,102 +1734,20 @@ } ] }, - { - "type": "struct", - "name": "bytebeasts::models::Mt", - "members": [ - { - "name": "mt_id", - "type": "core::integer::u32" - }, - { - "name": "mt_name", - "type": "core::felt252" - }, - { - "name": "mt_type", - "type": "core::integer::u32" - }, - { - "name": "mt_power", - "type": "core::integer::u32" - }, - { - "name": "mt_accuracy", - "type": "core::integer::u32" - } - ] - }, { "type": "interface", - "name": "bytebeasts::systems::battle::IBattleActions", + "name": "bytebeasts::systems::bag::IBagAction", "items": [ { "type": "function", - "name": "check_flee_success", - "inputs": [ - { - "name": "player_beast", - "type": "bytebeasts::models::Beast" - }, - { - "name": "opponent_beast", - "type": "bytebeasts::models::Beast" - } - ], - "outputs": [ - { - "type": "core::felt252" - } - ], - "state_mutability": "view" - }, - { - "type": "function", - "name": "apply_item_effect", - "inputs": [ - { - "name": "potion", - "type": "bytebeasts::models::Potion" - }, - { - "name": "target", - "type": "bytebeasts::models::Beast" - } - ], - "outputs": [], - "state_mutability": "view" - }, - { - "type": "function", - "name": "calculate_damage", + "name": "init_bag", "inputs": [ { - "name": "mt", - "type": "bytebeasts::models::Mt" - }, - { - "name": "attacker", - "type": "bytebeasts::models::Beast" - }, - { - "name": "defender", - "type": "bytebeasts::models::Beast" - } - ], - "outputs": [ - { + "name": "bag_id", "type": "core::integer::u32" - } - ], - "state_mutability": "view" - }, - { - "type": "function", - "name": "opponent_turn", - "inputs": [ + }, { - "name": "battle_id", + "name": "player_id", "type": "core::integer::u32" } ], @@ -1816,31 +1756,19 @@ }, { "type": "function", - "name": "init_battle", + "name": "add_item", "inputs": [ { "name": "player_id", "type": "core::integer::u32" }, { - "name": "opponent_id", - "type": "core::integer::u32" - } - ], - "outputs": [], - "state_mutability": "external" - }, - { - "type": "function", - "name": "attack", - "inputs": [ - { - "name": "battle_id", + "name": "bag_id", "type": "core::integer::u32" }, { - "name": "mt_id", - "type": "core::integer::u32" + "name": "potion", + "type": "bytebeasts::models::potion::Potion" } ], "outputs": [], @@ -1848,30 +1776,22 @@ }, { "type": "function", - "name": "use_potion", + "name": "take_out_item", "inputs": [ { - "name": "battle_id", + "name": "player_id", "type": "core::integer::u32" }, { - "name": "potion_id", + "name": "bag_id", "type": "core::integer::u32" } ], - "outputs": [], - "state_mutability": "external" - }, - { - "type": "function", - "name": "flee", - "inputs": [ + "outputs": [ { - "name": "battle_id", - "type": "core::integer::u32" + "type": "bytebeasts::models::potion::Potion" } ], - "outputs": [], "state_mutability": "external" } ] @@ -1879,11 +1799,11 @@ { "type": "impl", "name": "IDojoInitImpl", - "interface_name": "bytebeasts::systems::battle::battle_system::IDojoInit" + "interface_name": "bytebeasts::systems::bag::bag_system::IDojoInit" }, { "type": "interface", - "name": "bytebeasts::systems::battle::battle_system::IDojoInit", + "name": "bytebeasts::systems::bag::bag_system::IDojoInit", "items": [ { "type": "function", @@ -1943,7 +1863,7 @@ }, { "type": "event", - "name": "bytebeasts::systems::battle::battle_system::Event", + "name": "bytebeasts::systems::bag::bag_system::Event", "kind": "enum", "variants": [ { @@ -1957,52 +1877,6306 @@ "reads": [], "writes": [], "init_calldata": [], - "tag": "bytebeasts-battle_system", - "manifest_name": "bytebeasts-battle_system-461868ac" - } - ], - "models": [ + "tag": "bytebeasts-bag_system", + "manifest_name": "bytebeasts-bag_system-7ad8a155" + }, { - "kind": "DojoModel", - "members": [ + "kind": "DojoContract", + "address": "0x612b684f6b34356ad9a07ac3e1924f9dfa54235d0a513095b0d12695ace8b68", + "class_hash": "0x22eff2287b74c9f79832f32132c8154f28f916551d8650c8425f6c1c49adc31", + "original_class_hash": "0x22eff2287b74c9f79832f32132c8154f28f916551d8650c8425f6c1c49adc31", + "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", + "abi": [ { - "name": "battle_id", - "type": "u32", - "key": true + "type": "impl", + "name": "ContractImpl", + "interface_name": "dojo::contract::contract::IContract" }, { - "name": "player_id", - "type": "u32", - "key": false + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] }, { - "name": "opponent_id", + "type": "interface", + "name": "dojo::contract::contract::IContract", + "items": [ + { + "type": "function", + "name": "contract_name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "WorldProviderImpl", + "interface_name": "dojo::world::world_contract::IWorldProvider" + }, + { + "type": "struct", + "name": "dojo::world::world_contract::IWorldDispatcher", + "members": [ + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ] + }, + { + "type": "interface", + "name": "dojo::world::world_contract::IWorldProvider", + "items": [ + { + "type": "function", + "name": "world", + "inputs": [], + "outputs": [ + { + "type": "dojo::world::world_contract::IWorldDispatcher" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "BattleActionsImpl", + "interface_name": "bytebeasts::systems::battle::IBattleActions" + }, + { + "type": "enum", + "name": "bytebeasts::models::world_elements::WorldElements", + "variants": [ + { + "name": "Crystal", + "type": "()" + }, + { + "name": "Draconic", + "type": "()" + }, + { + "name": "Shadow", + "type": "()" + }, + { + "name": "Light", + "type": "()" + }, + { + "name": "Titanium", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::beast::Beast", + "members": [ + { + "name": "beast_id", + "type": "core::integer::u32" + }, + { + "name": "beast_name", + "type": "core::felt252" + }, + { + "name": "beast_type", + "type": "bytebeasts::models::world_elements::WorldElements" + }, + { + "name": "beast_description", + "type": "core::felt252" + }, + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "hp", + "type": "core::integer::u32" + }, + { + "name": "current_hp", + "type": "core::integer::u32" + }, + { + "name": "attack", + "type": "core::integer::u32" + }, + { + "name": "defense", + "type": "core::integer::u32" + }, + { + "name": "mt1", + "type": "core::integer::u32" + }, + { + "name": "mt2", + "type": "core::integer::u32" + }, + { + "name": "mt3", + "type": "core::integer::u32" + }, + { + "name": "mt4", + "type": "core::integer::u32" + }, + { + "name": "level", + "type": "core::integer::u32" + }, + { + "name": "experience_to_next_level", + "type": "core::integer::u64" + } + ] + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::mt::Mt", + "members": [ + { + "name": "mt_id", + "type": "core::integer::u32" + }, + { + "name": "mt_name", + "type": "core::felt252" + }, + { + "name": "mt_type", + "type": "bytebeasts::models::world_elements::WorldElements" + }, + { + "name": "mt_power", + "type": "core::integer::u32" + }, + { + "name": "mt_accuracy", + "type": "core::integer::u32" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::systems::battle::IBattleActions", + "items": [ + { + "type": "function", + "name": "init_battle", + "inputs": [ + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "opponent_id", + "type": "core::integer::u32" + } + ], + "outputs": [ + { + "type": "core::integer::u32" + } + ], + "state_mutability": "external" + }, + { + "type": "function", + "name": "check_flee_success", + "inputs": [ + { + "name": "player_beast", + "type": "bytebeasts::models::beast::Beast" + }, + { + "name": "opponent_beast", + "type": "bytebeasts::models::beast::Beast" + } + ], + "outputs": [ + { + "type": "core::bool" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "calculate_damage", + "inputs": [ + { + "name": "mt", + "type": "bytebeasts::models::mt::Mt" + }, + { + "name": "attacker", + "type": "bytebeasts::models::beast::Beast" + }, + { + "name": "defender", + "type": "bytebeasts::models::beast::Beast" + } + ], + "outputs": [ + { + "type": "core::integer::u32" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "opponent_turn", + "inputs": [ + { + "name": "battle_id", + "type": "core::integer::u32" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "attack", + "inputs": [ + { + "name": "battle_id", + "type": "core::integer::u32" + }, + { + "name": "mt_id", + "type": "core::integer::u32" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "use_potion", + "inputs": [ + { + "name": "battle_id", + "type": "core::integer::u32" + }, + { + "name": "potion_id", + "type": "core::integer::u32" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "flee", + "inputs": [ + { + "name": "battle_id", + "type": "core::integer::u32" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "impl", + "name": "IDojoInitImpl", + "interface_name": "bytebeasts::systems::battle::battle_system::IDojoInit" + }, + { + "type": "interface", + "name": "bytebeasts::systems::battle::battle_system::IDojoInit", + "items": [ + { + "type": "function", + "name": "dojo_init", + "inputs": [], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "UpgradableImpl", + "interface_name": "dojo::contract::upgradeable::IUpgradeable" + }, + { + "type": "interface", + "name": "dojo::contract::upgradeable::IUpgradeable", + "items": [ + { + "type": "function", + "name": "upgrade", + "inputs": [ + { + "name": "new_class_hash", + "type": "core::starknet::class_hash::ClassHash" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "struct", + "members": [ + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "enum", + "variants": [ + { + "name": "Upgraded", + "type": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "nested" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::systems::battle::battle_system::Event", + "kind": "enum", + "variants": [ + { + "name": "UpgradeableEvent", + "type": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "nested" + } + ] + } + ], + "reads": [], + "writes": [], + "init_calldata": [], + "tag": "bytebeasts-battle_system", + "manifest_name": "bytebeasts-battle_system-461868ac" + }, + { + "kind": "DojoContract", + "address": "0x6e214ac3592bdfbc7d2df77bac600e11786a1af5995f9b8422ba11a7ca105c7", + "class_hash": "0x6ab57932e6f1d360557867a6775d89180d623a481695d4349f6d356c8cd31ee", + "original_class_hash": "0x6ab57932e6f1d360557867a6775d89180d623a481695d4349f6d356c8cd31ee", + "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", + "abi": [ + { + "type": "impl", + "name": "ContractImpl", + "interface_name": "dojo::contract::contract::IContract" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "interface", + "name": "dojo::contract::contract::IContract", + "items": [ + { + "type": "function", + "name": "contract_name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "WorldProviderImpl", + "interface_name": "dojo::world::world_contract::IWorldProvider" + }, + { + "type": "struct", + "name": "dojo::world::world_contract::IWorldDispatcher", + "members": [ + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ] + }, + { + "type": "interface", + "name": "dojo::world::world_contract::IWorldProvider", + "items": [ + { + "type": "function", + "name": "world", + "inputs": [], + "outputs": [ + { + "type": "dojo::world::world_contract::IWorldDispatcher" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "MoveActionImpl", + "interface_name": "bytebeasts::systems::move::IMoveAction" + }, + { + "type": "interface", + "name": "bytebeasts::systems::move::IMoveAction", + "items": [ + { + "type": "function", + "name": "move", + "inputs": [ + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "new_x", + "type": "core::integer::u32" + }, + { + "name": "new_y", + "type": "core::integer::u32" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "impl", + "name": "IDojoInitImpl", + "interface_name": "bytebeasts::systems::move::move_action::IDojoInit" + }, + { + "type": "interface", + "name": "bytebeasts::systems::move::move_action::IDojoInit", + "items": [ + { + "type": "function", + "name": "dojo_init", + "inputs": [], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "UpgradableImpl", + "interface_name": "dojo::contract::upgradeable::IUpgradeable" + }, + { + "type": "interface", + "name": "dojo::contract::upgradeable::IUpgradeable", + "items": [ + { + "type": "function", + "name": "upgrade", + "inputs": [ + { + "name": "new_class_hash", + "type": "core::starknet::class_hash::ClassHash" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "struct", + "members": [ + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "enum", + "variants": [ + { + "name": "Upgraded", + "type": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "nested" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::systems::move::move_action::Event", + "kind": "enum", + "variants": [ + { + "name": "UpgradeableEvent", + "type": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "nested" + } + ] + } + ], + "reads": [], + "writes": [ + "bytebeasts-Position" + ], + "init_calldata": [], + "tag": "bytebeasts-move_action", + "manifest_name": "bytebeasts-move_action-62decdb8" + }, + { + "kind": "DojoContract", + "address": "0x3069906b1afcae5bc379fb0e7e8aad2aa249be91229aab7d96c608bc2136f18", + "class_hash": "0x394b6a9219ec1e5e1e3afdec390794e017870eb56b58ad18252d3c1eaf2a0f0", + "original_class_hash": "0x394b6a9219ec1e5e1e3afdec390794e017870eb56b58ad18252d3c1eaf2a0f0", + "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", + "abi": [ + { + "type": "impl", + "name": "ContractImpl", + "interface_name": "dojo::contract::contract::IContract" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "interface", + "name": "dojo::contract::contract::IContract", + "items": [ + { + "type": "function", + "name": "contract_name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "WorldProviderImpl", + "interface_name": "dojo::world::world_contract::IWorldProvider" + }, + { + "type": "struct", + "name": "dojo::world::world_contract::IWorldDispatcher", + "members": [ + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ] + }, + { + "type": "interface", + "name": "dojo::world::world_contract::IWorldProvider", + "items": [ + { + "type": "function", + "name": "world", + "inputs": [], + "outputs": [ + { + "type": "dojo::world::world_contract::IWorldDispatcher" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "SpawnActionImpl", + "interface_name": "bytebeasts::systems::spawn::ISpawnAction" + }, + { + "type": "interface", + "name": "bytebeasts::systems::spawn::ISpawnAction", + "items": [ + { + "type": "function", + "name": "spawn", + "inputs": [ + { + "name": "player_id", + "type": "core::integer::u32" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "impl", + "name": "IDojoInitImpl", + "interface_name": "bytebeasts::systems::spawn::spawn_action::IDojoInit" + }, + { + "type": "interface", + "name": "bytebeasts::systems::spawn::spawn_action::IDojoInit", + "items": [ + { + "type": "function", + "name": "dojo_init", + "inputs": [], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "UpgradableImpl", + "interface_name": "dojo::contract::upgradeable::IUpgradeable" + }, + { + "type": "interface", + "name": "dojo::contract::upgradeable::IUpgradeable", + "items": [ + { + "type": "function", + "name": "upgrade", + "inputs": [ + { + "name": "new_class_hash", + "type": "core::starknet::class_hash::ClassHash" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "struct", + "members": [ + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "enum", + "variants": [ + { + "name": "Upgraded", + "type": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "nested" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::systems::spawn::spawn_action::Event", + "kind": "enum", + "variants": [ + { + "name": "UpgradeableEvent", + "type": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "nested" + } + ] + } + ], + "reads": [], + "writes": [ + "bytebeasts-Beast", + "bytebeasts-Mt", + "bytebeasts-Player", + "bytebeasts-Potion", + "bytebeasts-Position" + ], + "init_calldata": [], + "tag": "bytebeasts-spawn_action", + "manifest_name": "bytebeasts-spawn_action-5176c1e8" + }, + { + "kind": "DojoContract", + "address": "0x1a0997571ba63300bba592512cc9ac1daa8911ee08c049b5693d93c06377d25", + "class_hash": "0xad9d2da0783e3a31f6198d7c355bd293e496019e0e335449377a2c0146880", + "original_class_hash": "0xad9d2da0783e3a31f6198d7c355bd293e496019e0e335449377a2c0146880", + "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", + "abi": [ + { + "type": "impl", + "name": "ContractImpl", + "interface_name": "dojo::contract::contract::IContract" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "interface", + "name": "dojo::contract::contract::IContract", + "items": [ + { + "type": "function", + "name": "contract_name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "WorldProviderImpl", + "interface_name": "dojo::world::world_contract::IWorldProvider" + }, + { + "type": "struct", + "name": "dojo::world::world_contract::IWorldDispatcher", + "members": [ + { + "name": "contract_address", + "type": "core::starknet::contract_address::ContractAddress" + } + ] + }, + { + "type": "interface", + "name": "dojo::world::world_contract::IWorldProvider", + "items": [ + { + "type": "function", + "name": "world", + "inputs": [], + "outputs": [ + { + "type": "dojo::world::world_contract::IWorldDispatcher" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "WorldSetupImpl", + "interface_name": "bytebeasts::systems::world_setup::IWorldSetup" + }, + { + "type": "interface", + "name": "bytebeasts::systems::world_setup::IWorldSetup", + "items": [ + { + "type": "function", + "name": "setWorld", + "inputs": [], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "impl", + "name": "IDojoInitImpl", + "interface_name": "bytebeasts::systems::world_setup::world_setup::IDojoInit" + }, + { + "type": "interface", + "name": "bytebeasts::systems::world_setup::world_setup::IDojoInit", + "items": [ + { + "type": "function", + "name": "dojo_init", + "inputs": [], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "UpgradableImpl", + "interface_name": "dojo::contract::upgradeable::IUpgradeable" + }, + { + "type": "interface", + "name": "dojo::contract::upgradeable::IUpgradeable", + "items": [ + { + "type": "function", + "name": "upgrade", + "inputs": [ + { + "name": "new_class_hash", + "type": "core::starknet::class_hash::ClassHash" + } + ], + "outputs": [], + "state_mutability": "external" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "struct", + "members": [ + { + "name": "class_hash", + "type": "core::starknet::class_hash::ClassHash", + "kind": "data" + } + ] + }, + { + "type": "event", + "name": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "enum", + "variants": [ + { + "name": "Upgraded", + "type": "dojo::contract::upgradeable::upgradeable::Upgraded", + "kind": "nested" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::systems::world_setup::world_setup::Event", + "kind": "enum", + "variants": [ + { + "name": "UpgradeableEvent", + "type": "dojo::contract::upgradeable::upgradeable::Event", + "kind": "nested" + } + ] + } + ], + "reads": [], + "writes": [ + "bytebeasts-Beast", + "bytebeasts-Mt", + "bytebeasts-Player", + "bytebeasts-Potion", + "bytebeasts-Position" + ], + "init_calldata": [], + "tag": "bytebeasts-world_setup", + "manifest_name": "bytebeasts-world_setup-674b640b" + } + ], + "models": [ + { + "kind": "DojoModel", + "members": [ + { + "name": "achievement_id", + "type": "u64", + "key": true + }, + { + "name": "achievement_type", + "type": "AchievementType", + "key": false + }, + { + "name": "rarity", + "type": "AchievementRarity", + "key": false + }, + { + "name": "name", + "type": "felt252", + "key": false + }, + { + "name": "description", + "type": "ByteArray", + "key": false + }, + { + "name": "is_hidden", + "type": "bool", + "key": false + }, + { + "name": "is_unlocked", + "type": "bool", + "key": false + } + ], + "class_hash": "0x41f50347f6f957bc556346a2cdea3f31523f3c25966826e7ca7dea1de185c40", + "original_class_hash": "0x41f50347f6f957bc556346a2cdea3f31523f3c25966826e7ca7dea1de185c40", + "abi": [ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "achievementImpl", + "interface_name": "bytebeasts::models::achievements::Iachievement" + }, + { + "type": "enum", + "name": "bytebeasts::models::achievement_type::AchievementType", + "variants": [ + { + "name": "FirstWin", + "type": "()" + }, + { + "name": "TenWins", + "type": "()" + }, + { + "name": "HundredWins", + "type": "()" + }, + { + "name": "FirstBeast", + "type": "()" + }, + { + "name": "TenBeasts", + "type": "()" + }, + { + "name": "RareBeast", + "type": "()" + }, + { + "name": "FirstNPCInteraction", + "type": "()" + }, + { + "name": "RandomBattleChampion", + "type": "()" + }, + { + "name": "BeastMaster", + "type": "()" + }, + { + "name": "LegendaryPlayer", + "type": "()" + }, + { + "name": "TopScorer", + "type": "()" + } + ] + }, + { + "type": "enum", + "name": "bytebeasts::models::achievement_rarity::AchievementRarity", + "variants": [ + { + "name": "Common", + "type": "()" + }, + { + "name": "Uncommon", + "type": "()" + }, + { + "name": "Rare", + "type": "()" + }, + { + "name": "Epic", + "type": "()" + }, + { + "name": "Legendary", + "type": "()" + } + ] + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::achievements::Achievement", + "members": [ + { + "name": "achievement_id", + "type": "core::integer::u64" + }, + { + "name": "achievement_type", + "type": "bytebeasts::models::achievement_type::AchievementType" + }, + { + "name": "rarity", + "type": "bytebeasts::models::achievement_rarity::AchievementRarity" + }, + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "description", + "type": "core::byte_array::ByteArray" + }, + { + "name": "is_hidden", + "type": "core::bool" + }, + { + "name": "is_unlocked", + "type": "core::bool" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::achievements::Iachievement", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::achievements::Achievement" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::achievements::achievement::Event", + "kind": "enum", + "variants": [] + } + ], + "tag": "bytebeasts-Achievement", + "manifest_name": "bytebeasts-Achievement-58a03b97" + }, + { + "kind": "DojoModel", + "members": [ + { + "name": "player_id", + "type": "u64", + "key": true + }, + { + "name": "achievement_id", + "type": "u64", + "key": false + }, + { + "name": "progress", + "type": "u32", + "key": false + }, + { + "name": "is_unlocked", + "type": "bool", + "key": false + } + ], + "class_hash": "0x494e5a6534846cd68b493aab6f9954333c64c854dbe99144c427f4301477f15", + "original_class_hash": "0x494e5a6534846cd68b493aab6f9954333c64c854dbe99144c427f4301477f15", + "abi": [ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "achievement_progressImpl", + "interface_name": "bytebeasts::models::achievements::Iachievement_progress" + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::achievements::AchievementProgress", + "members": [ + { + "name": "player_id", + "type": "core::integer::u64" + }, + { + "name": "achievement_id", + "type": "core::integer::u64" + }, + { + "name": "progress", + "type": "core::integer::u32" + }, + { + "name": "is_unlocked", + "type": "core::bool" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::achievements::Iachievement_progress", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::achievements::AchievementProgress" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::achievements::achievement_progress::Event", + "kind": "enum", + "variants": [] + } + ], + "tag": "bytebeasts-AchievementProgress", + "manifest_name": "bytebeasts-AchievementProgress-221f2719" + }, + { + "kind": "DojoModel", + "members": [ + { + "name": "bag_id", + "type": "u32", + "key": true + }, + { + "name": "player_id", + "type": "u32", + "key": true + }, + { + "name": "max_capacity", + "type": "u32", + "key": false + }, + { + "name": "potions", + "type": "Array", + "key": false + } + ], + "class_hash": "0x4e0fab7bc052de0008be5606ad3b37576afd2bda323443fc98a8f37bcc10c1c", + "original_class_hash": "0x4e0fab7bc052de0008be5606ad3b37576afd2bda323443fc98a8f37bcc10c1c", + "abi": [ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "bagImpl", + "interface_name": "bytebeasts::models::bag::Ibag" + }, + { + "type": "struct", + "name": "bytebeasts::models::potion::Potion", + "members": [ + { + "name": "potion_id", + "type": "core::integer::u32" + }, + { + "name": "potion_name", + "type": "core::felt252" + }, + { + "name": "potion_effect", + "type": "core::integer::u32" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::bag::Bag", + "members": [ + { + "name": "bag_id", + "type": "core::integer::u32" + }, + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "max_capacity", + "type": "core::integer::u32" + }, + { + "name": "potions", + "type": "core::array::Array::" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::bag::Ibag", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::bag::Bag" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::bag::bag::Event", + "kind": "enum", + "variants": [] + } + ], + "tag": "bytebeasts-Bag", + "manifest_name": "bytebeasts-Bag-2571b77d" + }, + { + "kind": "DojoModel", + "members": [ + { + "name": "battle_id", + "type": "u32", + "key": true + }, + { + "name": "player_id", + "type": "u32", + "key": false + }, + { + "name": "opponent_id", + "type": "u32", + "key": false + }, + { + "name": "active_beast_player", + "type": "u32", + "key": false + }, + { + "name": "active_beast_opponent", + "type": "u32", + "key": false + }, + { + "name": "battle_active", + "type": "u32", + "key": false + }, + { + "name": "turn", + "type": "u32", + "key": false + } + ], + "class_hash": "0x239c54e950b5c50d445f9a8db758ea0af1440b75a5f1921dfe014b927476c32", + "original_class_hash": "0x239c54e950b5c50d445f9a8db758ea0af1440b75a5f1921dfe014b927476c32", + "abi": [ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "battleImpl", + "interface_name": "bytebeasts::models::battle::Ibattle" + }, + { + "type": "struct", + "name": "bytebeasts::models::battle::Battle", + "members": [ + { + "name": "battle_id", + "type": "core::integer::u32" + }, + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "opponent_id", + "type": "core::integer::u32" + }, + { + "name": "active_beast_player", + "type": "core::integer::u32" + }, + { + "name": "active_beast_opponent", + "type": "core::integer::u32" + }, + { + "name": "battle_active", + "type": "core::integer::u32" + }, + { + "name": "turn", + "type": "core::integer::u32" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::battle::Ibattle", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::battle::Battle" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::battle::battle::Event", + "kind": "enum", + "variants": [] + } + ], + "tag": "bytebeasts-Battle", + "manifest_name": "bytebeasts-Battle-55b5860b" + }, + { + "kind": "DojoModel", + "members": [ + { + "name": "beast_id", + "type": "u32", + "key": true + }, + { + "name": "beast_name", + "type": "felt252", + "key": false + }, + { + "name": "beast_type", + "type": "WorldElements", + "key": false + }, + { + "name": "beast_description", + "type": "felt252", + "key": false + }, + { + "name": "player_id", + "type": "u32", + "key": false + }, + { + "name": "hp", + "type": "u32", + "key": false + }, + { + "name": "current_hp", + "type": "u32", + "key": false + }, + { + "name": "attack", + "type": "u32", + "key": false + }, + { + "name": "defense", + "type": "u32", + "key": false + }, + { + "name": "mt1", + "type": "u32", + "key": false + }, + { + "name": "mt2", + "type": "u32", + "key": false + }, + { + "name": "mt3", + "type": "u32", + "key": false + }, + { + "name": "mt4", + "type": "u32", + "key": false + }, + { + "name": "level", + "type": "u32", + "key": false + }, + { + "name": "experience_to_next_level", + "type": "u64", + "key": false + } + ], + "class_hash": "0x7bef5c17e52dab476cd7ae664bbb0f0024aae955ed8b12592e2d6faf7ff6a3c", + "original_class_hash": "0x7bef5c17e52dab476cd7ae664bbb0f0024aae955ed8b12592e2d6faf7ff6a3c", + "abi": [ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "beastImpl", + "interface_name": "bytebeasts::models::beast::Ibeast" + }, + { + "type": "enum", + "name": "bytebeasts::models::world_elements::WorldElements", + "variants": [ + { + "name": "Crystal", + "type": "()" + }, + { + "name": "Draconic", + "type": "()" + }, + { + "name": "Shadow", + "type": "()" + }, + { + "name": "Light", + "type": "()" + }, + { + "name": "Titanium", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::beast::Beast", + "members": [ + { + "name": "beast_id", + "type": "core::integer::u32" + }, + { + "name": "beast_name", + "type": "core::felt252" + }, + { + "name": "beast_type", + "type": "bytebeasts::models::world_elements::WorldElements" + }, + { + "name": "beast_description", + "type": "core::felt252" + }, + { + "name": "player_id", + "type": "core::integer::u32" + }, + { + "name": "hp", + "type": "core::integer::u32" + }, + { + "name": "current_hp", + "type": "core::integer::u32" + }, + { + "name": "attack", + "type": "core::integer::u32" + }, + { + "name": "defense", + "type": "core::integer::u32" + }, + { + "name": "mt1", + "type": "core::integer::u32" + }, + { + "name": "mt2", + "type": "core::integer::u32" + }, + { + "name": "mt3", + "type": "core::integer::u32" + }, + { + "name": "mt4", + "type": "core::integer::u32" + }, + { + "name": "level", + "type": "core::integer::u32" + }, + { + "name": "experience_to_next_level", + "type": "core::integer::u64" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::beast::Ibeast", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::beast::Beast" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::beast::beast::Event", + "kind": "enum", + "variants": [] + } + ], + "tag": "bytebeasts-Beast", + "manifest_name": "bytebeasts-Beast-27809d20" + }, + { + "kind": "DojoModel", + "members": [ + { + "name": "game_id", + "type": "u128", + "key": true + }, + { + "name": "player_1", + "type": "ContractAddress", + "key": false + }, + { + "name": "player_2", + "type": "ContractAddress", + "key": false + }, + { + "name": "player_3", + "type": "ContractAddress", + "key": false + }, + { + "name": "player_4", + "type": "ContractAddress", + "key": false + }, + { + "name": "status", + "type": "GameStatus", + "key": false + }, + { + "name": "is_private", + "type": "bool", + "key": false + } + ], + "class_hash": "0x57c477846284e274054c78c5b265af51f8815abbf0147828080c274b0639764", + "original_class_hash": "0x57c477846284e274054c78c5b265af51f8815abbf0147828080c274b0639764", + "abi": [ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "gameImpl", + "interface_name": "bytebeasts::models::game::Igame" + }, + { + "type": "enum", + "name": "bytebeasts::models::game::GameStatus", + "variants": [ + { + "name": "Pending", + "type": "()" + }, + { + "name": "InProgress", + "type": "()" + }, + { + "name": "Finished", + "type": "()" + } + ] + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::game::Game", + "members": [ + { + "name": "game_id", + "type": "core::integer::u128" + }, + { + "name": "player_1", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_2", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_3", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "player_4", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "status", + "type": "bytebeasts::models::game::GameStatus" + }, + { + "name": "is_private", + "type": "core::bool" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::game::Igame", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::game::Game" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::game::game::Event", + "kind": "enum", + "variants": [] + } + ], + "tag": "bytebeasts-Game", + "manifest_name": "bytebeasts-Game-e91217d7" + }, + { + "kind": "DojoModel", + "members": [ + { + "name": "id", + "type": "u32", + "key": true + }, + { + "name": "game_id", + "type": "u128", + "key": false + } + ], + "class_hash": "0x7dc1689aa3f1e6b123cadfed4066a70f09be69c9a166bfe824c61b916925efe", + "original_class_hash": "0x7dc1689aa3f1e6b123cadfed4066a70f09be69c9a166bfe824c61b916925efe", + "abi": [ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "game_idImpl", + "interface_name": "bytebeasts::models::game_id::Igame_id" + }, + { + "type": "struct", + "name": "bytebeasts::models::game_id::GameId", + "members": [ + { + "name": "id", + "type": "core::integer::u32" + }, + { + "name": "game_id", + "type": "core::integer::u128" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::game_id::Igame_id", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::game_id::GameId" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::game_id::game_id::Event", + "kind": "enum", + "variants": [] + } + ], + "tag": "bytebeasts-GameId", + "manifest_name": "bytebeasts-GameId-344511d3" + }, + { + "kind": "DojoModel", + "members": [ + { + "name": "address", + "type": "ContractAddress", + "key": true + }, + { + "name": "game_id", + "type": "u128", + "key": true + }, + { + "name": "beast_1", + "type": "u8", + "key": false + }, + { + "name": "beast_2", + "type": "u8", + "key": false + }, + { + "name": "beast_3", + "type": "u8", + "key": false + }, + { + "name": "beast_4", + "type": "u8", + "key": false + }, + { + "name": "bag_id", + "type": "u8", + "key": false + }, + { + "name": "active_mount", + "type": "u8", + "key": false + }, + { + "name": "mounts", + "type": "Array", + "key": false + }, + { + "name": "position", + "type": "Array", + "key": false + } + ], + "class_hash": "0x52df62dec799bbf7ba4725f74e32e579dec2d90a7a995638761646157bb7e18", + "original_class_hash": "0x52df62dec799bbf7ba4725f74e32e579dec2d90a7a995638761646157bb7e18", + "abi": [ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "game_playerImpl", + "interface_name": "bytebeasts::models::game_player::Igame_player" + }, + { + "type": "struct", + "name": "bytebeasts::models::game_player::GamePlayer", + "members": [ + { + "name": "address", + "type": "core::starknet::contract_address::ContractAddress" + }, + { + "name": "game_id", + "type": "core::integer::u128" + }, + { + "name": "beast_1", + "type": "core::integer::u8" + }, + { + "name": "beast_2", + "type": "core::integer::u8" + }, + { + "name": "beast_3", + "type": "core::integer::u8" + }, + { + "name": "beast_4", + "type": "core::integer::u8" + }, + { + "name": "bag_id", + "type": "core::integer::u8" + }, + { + "name": "active_mount", + "type": "core::integer::u8" + }, + { + "name": "mounts", + "type": "core::array::Array::" + }, + { + "name": "position", + "type": "core::array::Array::" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::game_player::Igame_player", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::game_player::GamePlayer" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::game_player::game_player::Event", + "kind": "enum", + "variants": [] + } + ], + "tag": "bytebeasts-GamePlayer", + "manifest_name": "bytebeasts-GamePlayer-596ef4a1" + }, + { + "kind": "DojoModel", + "members": [ + { + "name": "mt_id", + "type": "u32", + "key": true + }, + { + "name": "mt_name", + "type": "felt252", + "key": false + }, + { + "name": "mt_type", + "type": "WorldElements", + "key": false + }, + { + "name": "mt_power", + "type": "u32", + "key": false + }, + { + "name": "mt_accuracy", + "type": "u32", + "key": false + } + ], + "class_hash": "0x341a07493baed313e741253a241aa31fc9d40a9c373cd2bae49f85ab66f98cc", + "original_class_hash": "0x341a07493baed313e741253a241aa31fc9d40a9c373cd2bae49f85ab66f98cc", + "abi": [ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "mtImpl", + "interface_name": "bytebeasts::models::mt::Imt" + }, + { + "type": "enum", + "name": "bytebeasts::models::world_elements::WorldElements", + "variants": [ + { + "name": "Crystal", + "type": "()" + }, + { + "name": "Draconic", + "type": "()" + }, + { + "name": "Shadow", + "type": "()" + }, + { + "name": "Light", + "type": "()" + }, + { + "name": "Titanium", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::mt::Mt", + "members": [ + { + "name": "mt_id", + "type": "core::integer::u32" + }, + { + "name": "mt_name", + "type": "core::felt252" + }, + { + "name": "mt_type", + "type": "bytebeasts::models::world_elements::WorldElements" + }, + { + "name": "mt_power", + "type": "core::integer::u32" + }, + { + "name": "mt_accuracy", + "type": "core::integer::u32" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::mt::Imt", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::mt::Mt" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::mt::mt::Event", + "kind": "enum", + "variants": [] + } + ], + "tag": "bytebeasts-Mt", + "manifest_name": "bytebeasts-Mt-37360d30" + }, + { + "kind": "DojoModel", + "members": [ + { + "name": "npc_id", + "type": "u32", + "key": true + }, + { + "name": "npc_name", + "type": "felt252", + "key": false + }, + { + "name": "npc_description", + "type": "felt252", + "key": false + }, + { + "name": "npc_role", + "type": "Role", + "key": false + }, + { + "name": "dialogue", + "type": "ByteArray", + "key": false + }, + { + "name": "is_active", + "type": "bool", + "key": false + }, + { + "name": "location", + "type": "Coordinates", + "key": false + }, + { + "name": "importance_level", + "type": "u8", + "key": false + }, + { + "name": "mission_status", + "type": "MissionStatus", + "key": false + }, + { + "name": "reward", + "type": "u16", + "key": false + }, + { + "name": "experience_points", + "type": "u16", + "key": false + }, + { + "name": "potions", + "type": "Array", + "key": false + } + ], + "class_hash": "0x3ba44df67a037c20f004b7f5ab7725932d4519eed6beb6bc223a03e96c0f0f9", + "original_class_hash": "0x3ba44df67a037c20f004b7f5ab7725932d4519eed6beb6bc223a03e96c0f0f9", + "abi": [ + { + "type": "impl", + "name": "DojoModelImpl", + "interface_name": "dojo::model::model::IModel" + }, + { + "type": "struct", + "name": "core::byte_array::ByteArray", + "members": [ + { + "name": "data", + "type": "core::array::Array::" + }, + { + "name": "pending_word", + "type": "core::felt252" + }, + { + "name": "pending_word_len", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "core::option::Option::", + "variants": [ + { + "name": "Some", + "type": "core::integer::u32" + }, + { + "name": "None", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::layout::FieldLayout", + "members": [ + { + "name": "selector", + "type": "core::felt252" + }, + { + "name": "layout", + "type": "dojo::model::layout::Layout" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::layout::Layout", + "variants": [ + { + "name": "Fixed", + "type": "core::array::Span::" + }, + { + "name": "Struct", + "type": "core::array::Span::" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + }, + { + "name": "Enum", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Member", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "ty", + "type": "dojo::model::introspect::Ty" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Struct", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "dojo::model::introspect::Enum", + "members": [ + { + "name": "name", + "type": "core::felt252" + }, + { + "name": "attrs", + "type": "core::array::Span::" + }, + { + "name": "children", + "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + } + ] + }, + { + "type": "struct", + "name": "core::array::Span::", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::" + } + ] + }, + { + "type": "enum", + "name": "dojo::model::introspect::Ty", + "variants": [ + { + "name": "Primitive", + "type": "core::felt252" + }, + { + "name": "Struct", + "type": "dojo::model::introspect::Struct" + }, + { + "name": "Enum", + "type": "dojo::model::introspect::Enum" + }, + { + "name": "Tuple", + "type": "core::array::Span::" + }, + { + "name": "Array", + "type": "core::array::Span::" + }, + { + "name": "ByteArray", + "type": "()" + } + ] + }, + { + "type": "interface", + "name": "dojo::model::model::IModel", + "items": [ + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "tag", + "inputs": [], + "outputs": [ + { + "type": "core::byte_array::ByteArray" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "version", + "inputs": [], + "outputs": [ + { + "type": "core::integer::u8" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "selector", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "name_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "namespace_hash", + "inputs": [], + "outputs": [ + { + "type": "core::felt252" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "unpacked_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "packed_size", + "inputs": [], + "outputs": [ + { + "type": "core::option::Option::" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "layout", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::layout::Layout" + } + ], + "state_mutability": "view" + }, + { + "type": "function", + "name": "schema", + "inputs": [], + "outputs": [ + { + "type": "dojo::model::introspect::Ty" + } + ], + "state_mutability": "view" + } + ] + }, + { + "type": "impl", + "name": "npcImpl", + "interface_name": "bytebeasts::models::npc::Inpc" + }, + { + "type": "enum", + "name": "bytebeasts::models::role::Role", + "variants": [ + { + "name": "Vendor", + "type": "()" + }, + { + "name": "Trainer", + "type": "()" + }, + { + "name": "Guide", + "type": "()" + }, + { + "name": "QuestGiver", + "type": "()" + } + ] + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::coordinates::Coordinates", + "members": [ + { + "name": "x", + "type": "core::integer::u32" + }, + { + "name": "y", + "type": "core::integer::u32" + } + ] + }, + { + "type": "enum", + "name": "bytebeasts::models::mission_status::MissionStatus", + "variants": [ + { + "name": "NotStarted", + "type": "()" + }, + { + "name": "InProgress", + "type": "()" + }, + { + "name": "Completed", + "type": "()" + }, + { + "name": "Failed", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::potion::Potion", + "members": [ + { + "name": "potion_id", + "type": "core::integer::u32" + }, + { + "name": "potion_name", + "type": "core::felt252" + }, + { + "name": "potion_effect", + "type": "core::integer::u32" + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::npc::NPC", + "members": [ + { + "name": "npc_id", + "type": "core::integer::u32" + }, + { + "name": "npc_name", + "type": "core::felt252" + }, + { + "name": "npc_description", + "type": "core::felt252" + }, + { + "name": "npc_role", + "type": "bytebeasts::models::role::Role" + }, + { + "name": "dialogue", + "type": "core::byte_array::ByteArray" + }, + { + "name": "is_active", + "type": "core::bool" + }, + { + "name": "location", + "type": "bytebeasts::models::coordinates::Coordinates" + }, + { + "name": "importance_level", + "type": "core::integer::u8" + }, + { + "name": "mission_status", + "type": "bytebeasts::models::mission_status::MissionStatus" + }, + { + "name": "reward", + "type": "core::integer::u16" + }, + { + "name": "experience_points", + "type": "core::integer::u16" + }, + { + "name": "potions", + "type": "core::array::Array::" + } + ] + }, + { + "type": "interface", + "name": "bytebeasts::models::npc::Inpc", + "items": [ + { + "type": "function", + "name": "ensure_abi", + "inputs": [ + { + "name": "model", + "type": "bytebeasts::models::npc::NPC" + } + ], + "outputs": [], + "state_mutability": "view" + } + ] + }, + { + "type": "event", + "name": "bytebeasts::models::npc::npc::Event", + "kind": "enum", + "variants": [] + } + ], + "tag": "bytebeasts-NPC", + "manifest_name": "bytebeasts-NPC-4c5239ac" + }, + { + "kind": "DojoModel", + "members": [ + { + "name": "player_id", + "type": "u32", + "key": true + }, + { + "name": "player_name", + "type": "felt252", + "key": false + }, + { + "name": "beast_1", "type": "u32", "key": false }, { - "name": "active_beast_player", + "name": "beast_2", "type": "u32", "key": false }, { - "name": "active_beast_opponent", + "name": "beast_3", "type": "u32", "key": false }, { - "name": "battle_active", + "name": "beast_4", "type": "u32", "key": false }, { - "name": "turn", + "name": "potions", "type": "u32", "key": false } ], - "class_hash": "0x1279ba311b8f42dceefdfc2f10b1e8d524a9df7f08a0716eccc3bedf6e235da", - "original_class_hash": "0x1279ba311b8f42dceefdfc2f10b1e8d524a9df7f08a0716eccc3bedf6e235da", + "class_hash": "0x5d992305e6f7ce0965d5bbe71e33cab817c31514ba83c8fca4610ab574e8016", + "original_class_hash": "0x5d992305e6f7ce0965d5bbe71e33cab817c31514ba83c8fca4610ab574e8016", "abi": [ { "type": "impl", @@ -2368,46 +8542,46 @@ }, { "type": "impl", - "name": "battleImpl", - "interface_name": "bytebeasts::models::Ibattle" + "name": "playerImpl", + "interface_name": "bytebeasts::models::player::Iplayer" }, { "type": "struct", - "name": "bytebeasts::models::Battle", + "name": "bytebeasts::models::player::Player", "members": [ { - "name": "battle_id", + "name": "player_id", "type": "core::integer::u32" }, { - "name": "player_id", - "type": "core::integer::u32" + "name": "player_name", + "type": "core::felt252" }, { - "name": "opponent_id", + "name": "beast_1", "type": "core::integer::u32" }, { - "name": "active_beast_player", + "name": "beast_2", "type": "core::integer::u32" }, { - "name": "active_beast_opponent", + "name": "beast_3", "type": "core::integer::u32" }, { - "name": "battle_active", + "name": "beast_4", "type": "core::integer::u32" }, { - "name": "turn", + "name": "potions", "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "bytebeasts::models::Ibattle", + "name": "bytebeasts::models::player::Iplayer", "items": [ { "type": "function", @@ -2415,7 +8589,7 @@ "inputs": [ { "name": "model", - "type": "bytebeasts::models::Battle" + "type": "bytebeasts::models::player::Player" } ], "outputs": [], @@ -2425,95 +8599,30 @@ }, { "type": "event", - "name": "bytebeasts::models::battle::Event", + "name": "bytebeasts::models::player::player::Event", "kind": "enum", "variants": [] } ], - "tag": "bytebeasts-Battle", - "manifest_name": "bytebeasts-Battle-55b5860b" + "tag": "bytebeasts-Player", + "manifest_name": "bytebeasts-Player-14f5e45e" }, { "kind": "DojoModel", "members": [ { - "name": "beast_id", - "type": "u32", + "name": "player", + "type": "Player", "key": true }, { - "name": "beast_name", - "type": "felt252", - "key": false - }, - { - "name": "beast_type", - "type": "u32", - "key": false - }, - { - "name": "beast_description", - "type": "felt252", - "key": false - }, - { - "name": "player_id", - "type": "u32", - "key": false - }, - { - "name": "hp", - "type": "u32", - "key": false - }, - { - "name": "current_hp", - "type": "u32", - "key": false - }, - { - "name": "attack", - "type": "u32", - "key": false - }, - { - "name": "defense", - "type": "u32", - "key": false - }, - { - "name": "mt1", - "type": "u32", - "key": false - }, - { - "name": "mt2", - "type": "u32", - "key": false - }, - { - "name": "mt3", - "type": "u32", - "key": false - }, - { - "name": "mt4", - "type": "u32", - "key": false - }, - { - "name": "level", - "type": "u32", - "key": false - }, - { - "name": "experience_to_next_level", - "type": "u64", + "name": "coordinates", + "type": "Coordinates", "key": false } ], - "class_hash": "0x7fe3d50195b0f91ee8bcbc17710f62df6f2d31732540b74b8b7dd7fc2157d9f", - "original_class_hash": "0x7fe3d50195b0f91ee8bcbc17710f62df6f2d31732540b74b8b7dd7fc2157d9f", + "class_hash": "0x91da9f380b960e2dc7f9a59d4e1242ed718590d2270fd28e2311a5e1ee54f2", + "original_class_hash": "0x91da9f380b960e2dc7f9a59d4e1242ed718590d2270fd28e2311a5e1ee54f2", "abi": [ { "type": "impl", @@ -2879,78 +8988,74 @@ }, { "type": "impl", - "name": "beastImpl", - "interface_name": "bytebeasts::models::Ibeast" + "name": "positionImpl", + "interface_name": "bytebeasts::models::position::Iposition" }, { "type": "struct", - "name": "bytebeasts::models::Beast", + "name": "bytebeasts::models::player::Player", "members": [ - { - "name": "beast_id", - "type": "core::integer::u32" - }, - { - "name": "beast_name", - "type": "core::felt252" - }, - { - "name": "beast_type", - "type": "core::integer::u32" - }, - { - "name": "beast_description", - "type": "core::felt252" - }, { "name": "player_id", "type": "core::integer::u32" }, { - "name": "hp", - "type": "core::integer::u32" + "name": "player_name", + "type": "core::felt252" }, { - "name": "current_hp", + "name": "beast_1", "type": "core::integer::u32" }, { - "name": "attack", + "name": "beast_2", "type": "core::integer::u32" }, { - "name": "defense", + "name": "beast_3", "type": "core::integer::u32" }, { - "name": "mt1", + "name": "beast_4", "type": "core::integer::u32" }, { - "name": "mt2", + "name": "potions", "type": "core::integer::u32" - }, + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::coordinates::Coordinates", + "members": [ { - "name": "mt3", + "name": "x", "type": "core::integer::u32" }, { - "name": "mt4", + "name": "y", "type": "core::integer::u32" - }, + } + ] + }, + { + "type": "struct", + "name": "bytebeasts::models::position::Position", + "members": [ { - "name": "level", - "type": "core::integer::u32" + "name": "player", + "type": "bytebeasts::models::player::Player" }, { - "name": "experience_to_next_level", - "type": "core::integer::u64" + "name": "coordinates", + "type": "bytebeasts::models::coordinates::Coordinates" } ] }, { "type": "interface", - "name": "bytebeasts::models::Ibeast", + "name": "bytebeasts::models::position::Iposition", "items": [ { "type": "function", @@ -2958,7 +9063,7 @@ "inputs": [ { "name": "model", - "type": "bytebeasts::models::Beast" + "type": "bytebeasts::models::position::Position" } ], "outputs": [], @@ -2968,45 +9073,35 @@ }, { "type": "event", - "name": "bytebeasts::models::beast::Event", + "name": "bytebeasts::models::position::position::Event", "kind": "enum", "variants": [] } ], - "tag": "bytebeasts-Beast", - "manifest_name": "bytebeasts-Beast-27809d20" + "tag": "bytebeasts-Position", + "manifest_name": "bytebeasts-Position-78f28df6" }, { "kind": "DojoModel", "members": [ { - "name": "mt_id", + "name": "potion_id", "type": "u32", "key": true }, { - "name": "mt_name", + "name": "potion_name", "type": "felt252", "key": false }, { - "name": "mt_type", - "type": "u32", - "key": false - }, - { - "name": "mt_power", - "type": "u32", - "key": false - }, - { - "name": "mt_accuracy", + "name": "potion_effect", "type": "u32", "key": false } ], - "class_hash": "0x4382e91986019f8da68643f9db2564598ab2c919fce4e62c2d860d86a868923", - "original_class_hash": "0x4382e91986019f8da68643f9db2564598ab2c919fce4e62c2d860d86a868923", + "class_hash": "0x4eac23f35a0e71954b8f000d9d8999579ba49ffc918e8b78924562449bdf8d4", + "original_class_hash": "0x4eac23f35a0e71954b8f000d9d8999579ba49ffc918e8b78924562449bdf8d4", "abi": [ { "type": "impl", @@ -3372,38 +9467,30 @@ }, { "type": "impl", - "name": "mtImpl", - "interface_name": "bytebeasts::models::Imt" + "name": "potionImpl", + "interface_name": "bytebeasts::models::potion::Ipotion" }, { "type": "struct", - "name": "bytebeasts::models::Mt", + "name": "bytebeasts::models::potion::Potion", "members": [ { - "name": "mt_id", + "name": "potion_id", "type": "core::integer::u32" }, { - "name": "mt_name", + "name": "potion_name", "type": "core::felt252" }, { - "name": "mt_type", - "type": "core::integer::u32" - }, - { - "name": "mt_power", - "type": "core::integer::u32" - }, - { - "name": "mt_accuracy", + "name": "potion_effect", "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "bytebeasts::models::Imt", + "name": "bytebeasts::models::potion::Ipotion", "items": [ { "type": "function", @@ -3411,7 +9498,7 @@ "inputs": [ { "name": "model", - "type": "bytebeasts::models::Mt" + "type": "bytebeasts::models::potion::Potion" } ], "outputs": [], @@ -3421,13 +9508,13 @@ }, { "type": "event", - "name": "bytebeasts::models::mt::Event", + "name": "bytebeasts::models::potion::potion::Event", "kind": "enum", "variants": [] } ], - "tag": "bytebeasts-Mt", - "manifest_name": "bytebeasts-Mt-37360d30" + "tag": "bytebeasts-Potion", + "manifest_name": "bytebeasts-Potion-6a2114b0" }, { "kind": "DojoModel", @@ -3438,38 +9525,13 @@ "key": true }, { - "name": "player_name", + "name": "message", "type": "felt252", "key": false - }, - { - "name": "beast_1", - "type": "u32", - "key": false - }, - { - "name": "beast_2", - "type": "u32", - "key": false - }, - { - "name": "beast_3", - "type": "u32", - "key": false - }, - { - "name": "beast_4", - "type": "u32", - "key": false - }, - { - "name": "potions", - "type": "u32", - "key": false } ], - "class_hash": "0x6bfeffff027de9cb3d94085db3c9963e42a8173ae8211a83ae71b9e57bc800e", - "original_class_hash": "0x6bfeffff027de9cb3d94085db3c9963e42a8173ae8211a83ae71b9e57bc800e", + "class_hash": "0xe446a8c3773fbfae6e2e0e87a6d1db12143224cf47e217e12bf9cfc76428ef", + "original_class_hash": "0xe446a8c3773fbfae6e2e0e87a6d1db12143224cf47e217e12bf9cfc76428ef", "abi": [ { "type": "impl", @@ -3835,46 +9897,26 @@ }, { "type": "impl", - "name": "playerImpl", - "interface_name": "bytebeasts::models::Iplayer" + "name": "statusImpl", + "interface_name": "bytebeasts::systems::battle::battle_system::Istatus" }, { "type": "struct", - "name": "bytebeasts::models::Player", + "name": "bytebeasts::systems::battle::battle_system::Status", "members": [ { "name": "player_id", "type": "core::integer::u32" }, { - "name": "player_name", + "name": "message", "type": "core::felt252" - }, - { - "name": "beast_1", - "type": "core::integer::u32" - }, - { - "name": "beast_2", - "type": "core::integer::u32" - }, - { - "name": "beast_3", - "type": "core::integer::u32" - }, - { - "name": "beast_4", - "type": "core::integer::u32" - }, - { - "name": "potions", - "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "bytebeasts::models::Iplayer", + "name": "bytebeasts::systems::battle::battle_system::Istatus", "items": [ { "type": "function", @@ -3882,7 +9924,7 @@ "inputs": [ { "name": "model", - "type": "bytebeasts::models::Player" + "type": "bytebeasts::systems::battle::battle_system::Status" } ], "outputs": [], @@ -3892,35 +9934,30 @@ }, { "type": "event", - "name": "bytebeasts::models::player::Event", + "name": "bytebeasts::systems::battle::battle_system::status::Event", "kind": "enum", "variants": [] } ], - "tag": "bytebeasts-Player", - "manifest_name": "bytebeasts-Player-14f5e45e" + "tag": "bytebeasts-Status", + "manifest_name": "bytebeasts-Status-6595af0f" }, { "kind": "DojoModel", "members": [ { - "name": "potion_id", + "name": "battle_id", "type": "u32", "key": true }, { - "name": "potion_name", + "name": "message", "type": "felt252", "key": false - }, - { - "name": "potion_effect", - "type": "u32", - "key": false } ], - "class_hash": "0x164879a36700032b1af24f1b5bcc6f8cd74c90fc259090049877a09b0dac57d", - "original_class_hash": "0x164879a36700032b1af24f1b5bcc6f8cd74c90fc259090049877a09b0dac57d", + "class_hash": "0x5ba495f80b653be6df964eb97ac2e7b3f7f72508d17b54b1d51595231db8fae", + "original_class_hash": "0x5ba495f80b653be6df964eb97ac2e7b3f7f72508d17b54b1d51595231db8fae", "abi": [ { "type": "impl", @@ -4286,30 +10323,26 @@ }, { "type": "impl", - "name": "potionImpl", - "interface_name": "bytebeasts::models::Ipotion" + "name": "status_battleImpl", + "interface_name": "bytebeasts::systems::battle::battle_system::Istatus_battle" }, { "type": "struct", - "name": "bytebeasts::models::Potion", + "name": "bytebeasts::systems::battle::battle_system::StatusBattle", "members": [ { - "name": "potion_id", + "name": "battle_id", "type": "core::integer::u32" }, { - "name": "potion_name", + "name": "message", "type": "core::felt252" - }, - { - "name": "potion_effect", - "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "bytebeasts::models::Ipotion", + "name": "bytebeasts::systems::battle::battle_system::Istatus_battle", "items": [ { "type": "function", @@ -4317,7 +10350,7 @@ "inputs": [ { "name": "model", - "type": "bytebeasts::models::Potion" + "type": "bytebeasts::systems::battle::battle_system::StatusBattle" } ], "outputs": [], @@ -4327,13 +10360,13 @@ }, { "type": "event", - "name": "bytebeasts::models::potion::Event", + "name": "bytebeasts::systems::battle::battle_system::status_battle::Event", "kind": "enum", "variants": [] } ], - "tag": "bytebeasts-Potion", - "manifest_name": "bytebeasts-Potion-6a2114b0" + "tag": "bytebeasts-StatusBattle", + "manifest_name": "bytebeasts-StatusBattle-161fdb64" } ] } \ No newline at end of file diff --git a/manifests/dev/deployment/manifest.toml b/manifests/dev/deployment/manifest.toml index 4017e19..eb90f3f 100644 --- a/manifests/dev/deployment/manifest.toml +++ b/manifests/dev/deployment/manifest.toml @@ -24,26 +24,34 @@ manifest_name = "dojo-base" [[contracts]] kind = "DojoContract" address = "0x4854bb6cc04b51e5adaed76afc0664091182fe44a9e5e68dc4f8f5f59ffd464" -class_hash = "0x194fab2764a0d823cb5aa7ef9810113952c3579700e114d409c33f954f0caf9" -original_class_hash = "0x194fab2764a0d823cb5aa7ef9810113952c3579700e114d409c33f954f0caf9" +class_hash = "0x7a662a2c7e8067fd633c3840f51c671a18c2e71901995fe791281c07c855aa0" +original_class_hash = "0x7a662a2c7e8067fd633c3840f51c671a18c2e71901995fe791281c07c855aa0" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/bytebeasts-actions-648ac931.json" reads = [] -writes = [ - "bytebeasts-Beast", - "bytebeasts-Mt", - "bytebeasts-Player", - "bytebeasts-Potion", -] +writes = [] init_calldata = [] tag = "bytebeasts-actions" manifest_name = "bytebeasts-actions-648ac931" +[[contracts]] +kind = "DojoContract" +address = "0x31d91cb20f41aa13507de40e2b7b5b85338e240388ea905ede7b799cafadcbe" +class_hash = "0x51aaf7a580665ebd6d7d32e2340f0e8b6850296fc1ad389c74a293d1a26029f" +original_class_hash = "0x51aaf7a580665ebd6d7d32e2340f0e8b6850296fc1ad389c74a293d1a26029f" +base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" +abi = "manifests/dev/deployment/abis/contracts/bytebeasts-bag_system-7ad8a155.json" +reads = [] +writes = [] +init_calldata = [] +tag = "bytebeasts-bag_system" +manifest_name = "bytebeasts-bag_system-7ad8a155" + [[contracts]] kind = "DojoContract" address = "0x612b684f6b34356ad9a07ac3e1924f9dfa54235d0a513095b0d12695ace8b68" -class_hash = "0x42e8d9b08e8c71fee2c025922e8bcd10b9277fb688e97701f2169ca03ad91c0" -original_class_hash = "0x42e8d9b08e8c71fee2c025922e8bcd10b9277fb688e97701f2169ca03ad91c0" +class_hash = "0x22eff2287b74c9f79832f32132c8154f28f916551d8650c8425f6c1c49adc31" +original_class_hash = "0x22eff2287b74c9f79832f32132c8154f28f916551d8650c8425f6c1c49adc31" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/bytebeasts-battle_system-461868ac.json" reads = [] @@ -52,10 +60,160 @@ init_calldata = [] tag = "bytebeasts-battle_system" manifest_name = "bytebeasts-battle_system-461868ac" +[[contracts]] +kind = "DojoContract" +address = "0x6e214ac3592bdfbc7d2df77bac600e11786a1af5995f9b8422ba11a7ca105c7" +class_hash = "0x6ab57932e6f1d360557867a6775d89180d623a481695d4349f6d356c8cd31ee" +original_class_hash = "0x6ab57932e6f1d360557867a6775d89180d623a481695d4349f6d356c8cd31ee" +base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" +abi = "manifests/dev/deployment/abis/contracts/bytebeasts-move_action-62decdb8.json" +reads = [] +writes = ["bytebeasts-Position"] +init_calldata = [] +tag = "bytebeasts-move_action" +manifest_name = "bytebeasts-move_action-62decdb8" + +[[contracts]] +kind = "DojoContract" +address = "0x3069906b1afcae5bc379fb0e7e8aad2aa249be91229aab7d96c608bc2136f18" +class_hash = "0x394b6a9219ec1e5e1e3afdec390794e017870eb56b58ad18252d3c1eaf2a0f0" +original_class_hash = "0x394b6a9219ec1e5e1e3afdec390794e017870eb56b58ad18252d3c1eaf2a0f0" +base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" +abi = "manifests/dev/deployment/abis/contracts/bytebeasts-spawn_action-5176c1e8.json" +reads = [] +writes = [ + "bytebeasts-Beast", + "bytebeasts-Mt", + "bytebeasts-Player", + "bytebeasts-Potion", + "bytebeasts-Position", +] +init_calldata = [] +tag = "bytebeasts-spawn_action" +manifest_name = "bytebeasts-spawn_action-5176c1e8" + +[[contracts]] +kind = "DojoContract" +address = "0x1a0997571ba63300bba592512cc9ac1daa8911ee08c049b5693d93c06377d25" +class_hash = "0xad9d2da0783e3a31f6198d7c355bd293e496019e0e335449377a2c0146880" +original_class_hash = "0xad9d2da0783e3a31f6198d7c355bd293e496019e0e335449377a2c0146880" +base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" +abi = "manifests/dev/deployment/abis/contracts/bytebeasts-world_setup-674b640b.json" +reads = [] +writes = [ + "bytebeasts-Beast", + "bytebeasts-Mt", + "bytebeasts-Player", + "bytebeasts-Potion", + "bytebeasts-Position", +] +init_calldata = [] +tag = "bytebeasts-world_setup" +manifest_name = "bytebeasts-world_setup-674b640b" + [[models]] kind = "DojoModel" -class_hash = "0x1279ba311b8f42dceefdfc2f10b1e8d524a9df7f08a0716eccc3bedf6e235da" -original_class_hash = "0x1279ba311b8f42dceefdfc2f10b1e8d524a9df7f08a0716eccc3bedf6e235da" +class_hash = "0x41f50347f6f957bc556346a2cdea3f31523f3c25966826e7ca7dea1de185c40" +original_class_hash = "0x41f50347f6f957bc556346a2cdea3f31523f3c25966826e7ca7dea1de185c40" +abi = "manifests/dev/deployment/abis/models/bytebeasts-Achievement-58a03b97.json" +tag = "bytebeasts-Achievement" +manifest_name = "bytebeasts-Achievement-58a03b97" + +[[models.members]] +name = "achievement_id" +type = "u64" +key = true + +[[models.members]] +name = "achievement_type" +type = "AchievementType" +key = false + +[[models.members]] +name = "rarity" +type = "AchievementRarity" +key = false + +[[models.members]] +name = "name" +type = "felt252" +key = false + +[[models.members]] +name = "description" +type = "ByteArray" +key = false + +[[models.members]] +name = "is_hidden" +type = "bool" +key = false + +[[models.members]] +name = "is_unlocked" +type = "bool" +key = false + +[[models]] +kind = "DojoModel" +class_hash = "0x494e5a6534846cd68b493aab6f9954333c64c854dbe99144c427f4301477f15" +original_class_hash = "0x494e5a6534846cd68b493aab6f9954333c64c854dbe99144c427f4301477f15" +abi = "manifests/dev/deployment/abis/models/bytebeasts-AchievementProgress-221f2719.json" +tag = "bytebeasts-AchievementProgress" +manifest_name = "bytebeasts-AchievementProgress-221f2719" + +[[models.members]] +name = "player_id" +type = "u64" +key = true + +[[models.members]] +name = "achievement_id" +type = "u64" +key = false + +[[models.members]] +name = "progress" +type = "u32" +key = false + +[[models.members]] +name = "is_unlocked" +type = "bool" +key = false + +[[models]] +kind = "DojoModel" +class_hash = "0x4e0fab7bc052de0008be5606ad3b37576afd2bda323443fc98a8f37bcc10c1c" +original_class_hash = "0x4e0fab7bc052de0008be5606ad3b37576afd2bda323443fc98a8f37bcc10c1c" +abi = "manifests/dev/deployment/abis/models/bytebeasts-Bag-2571b77d.json" +tag = "bytebeasts-Bag" +manifest_name = "bytebeasts-Bag-2571b77d" + +[[models.members]] +name = "bag_id" +type = "u32" +key = true + +[[models.members]] +name = "player_id" +type = "u32" +key = true + +[[models.members]] +name = "max_capacity" +type = "u32" +key = false + +[[models.members]] +name = "potions" +type = "Array" +key = false + +[[models]] +kind = "DojoModel" +class_hash = "0x239c54e950b5c50d445f9a8db758ea0af1440b75a5f1921dfe014b927476c32" +original_class_hash = "0x239c54e950b5c50d445f9a8db758ea0af1440b75a5f1921dfe014b927476c32" abi = "manifests/dev/deployment/abis/models/bytebeasts-Battle-55b5860b.json" tag = "bytebeasts-Battle" manifest_name = "bytebeasts-Battle-55b5860b" @@ -97,8 +255,8 @@ key = false [[models]] kind = "DojoModel" -class_hash = "0x7fe3d50195b0f91ee8bcbc17710f62df6f2d31732540b74b8b7dd7fc2157d9f" -original_class_hash = "0x7fe3d50195b0f91ee8bcbc17710f62df6f2d31732540b74b8b7dd7fc2157d9f" +class_hash = "0x7bef5c17e52dab476cd7ae664bbb0f0024aae955ed8b12592e2d6faf7ff6a3c" +original_class_hash = "0x7bef5c17e52dab476cd7ae664bbb0f0024aae955ed8b12592e2d6faf7ff6a3c" abi = "manifests/dev/deployment/abis/models/bytebeasts-Beast-27809d20.json" tag = "bytebeasts-Beast" manifest_name = "bytebeasts-Beast-27809d20" @@ -115,7 +273,7 @@ key = false [[models.members]] name = "beast_type" -type = "u32" +type = "WorldElements" key = false [[models.members]] @@ -180,8 +338,127 @@ key = false [[models]] kind = "DojoModel" -class_hash = "0x4382e91986019f8da68643f9db2564598ab2c919fce4e62c2d860d86a868923" -original_class_hash = "0x4382e91986019f8da68643f9db2564598ab2c919fce4e62c2d860d86a868923" +class_hash = "0x57c477846284e274054c78c5b265af51f8815abbf0147828080c274b0639764" +original_class_hash = "0x57c477846284e274054c78c5b265af51f8815abbf0147828080c274b0639764" +abi = "manifests/dev/deployment/abis/models/bytebeasts-Game-e91217d7.json" +tag = "bytebeasts-Game" +manifest_name = "bytebeasts-Game-e91217d7" + +[[models.members]] +name = "game_id" +type = "u128" +key = true + +[[models.members]] +name = "player_1" +type = "ContractAddress" +key = false + +[[models.members]] +name = "player_2" +type = "ContractAddress" +key = false + +[[models.members]] +name = "player_3" +type = "ContractAddress" +key = false + +[[models.members]] +name = "player_4" +type = "ContractAddress" +key = false + +[[models.members]] +name = "status" +type = "GameStatus" +key = false + +[[models.members]] +name = "is_private" +type = "bool" +key = false + +[[models]] +kind = "DojoModel" +class_hash = "0x7dc1689aa3f1e6b123cadfed4066a70f09be69c9a166bfe824c61b916925efe" +original_class_hash = "0x7dc1689aa3f1e6b123cadfed4066a70f09be69c9a166bfe824c61b916925efe" +abi = "manifests/dev/deployment/abis/models/bytebeasts-GameId-344511d3.json" +tag = "bytebeasts-GameId" +manifest_name = "bytebeasts-GameId-344511d3" + +[[models.members]] +name = "id" +type = "u32" +key = true + +[[models.members]] +name = "game_id" +type = "u128" +key = false + +[[models]] +kind = "DojoModel" +class_hash = "0x52df62dec799bbf7ba4725f74e32e579dec2d90a7a995638761646157bb7e18" +original_class_hash = "0x52df62dec799bbf7ba4725f74e32e579dec2d90a7a995638761646157bb7e18" +abi = "manifests/dev/deployment/abis/models/bytebeasts-GamePlayer-596ef4a1.json" +tag = "bytebeasts-GamePlayer" +manifest_name = "bytebeasts-GamePlayer-596ef4a1" + +[[models.members]] +name = "address" +type = "ContractAddress" +key = true + +[[models.members]] +name = "game_id" +type = "u128" +key = true + +[[models.members]] +name = "beast_1" +type = "u8" +key = false + +[[models.members]] +name = "beast_2" +type = "u8" +key = false + +[[models.members]] +name = "beast_3" +type = "u8" +key = false + +[[models.members]] +name = "beast_4" +type = "u8" +key = false + +[[models.members]] +name = "bag_id" +type = "u8" +key = false + +[[models.members]] +name = "active_mount" +type = "u8" +key = false + +[[models.members]] +name = "mounts" +type = "Array" +key = false + +[[models.members]] +name = "position" +type = "Array" +key = false + +[[models]] +kind = "DojoModel" +class_hash = "0x341a07493baed313e741253a241aa31fc9d40a9c373cd2bae49f85ab66f98cc" +original_class_hash = "0x341a07493baed313e741253a241aa31fc9d40a9c373cd2bae49f85ab66f98cc" abi = "manifests/dev/deployment/abis/models/bytebeasts-Mt-37360d30.json" tag = "bytebeasts-Mt" manifest_name = "bytebeasts-Mt-37360d30" @@ -198,7 +475,7 @@ key = false [[models.members]] name = "mt_type" -type = "u32" +type = "WorldElements" key = false [[models.members]] @@ -213,8 +490,76 @@ key = false [[models]] kind = "DojoModel" -class_hash = "0x6bfeffff027de9cb3d94085db3c9963e42a8173ae8211a83ae71b9e57bc800e" -original_class_hash = "0x6bfeffff027de9cb3d94085db3c9963e42a8173ae8211a83ae71b9e57bc800e" +class_hash = "0x3ba44df67a037c20f004b7f5ab7725932d4519eed6beb6bc223a03e96c0f0f9" +original_class_hash = "0x3ba44df67a037c20f004b7f5ab7725932d4519eed6beb6bc223a03e96c0f0f9" +abi = "manifests/dev/deployment/abis/models/bytebeasts-NPC-4c5239ac.json" +tag = "bytebeasts-NPC" +manifest_name = "bytebeasts-NPC-4c5239ac" + +[[models.members]] +name = "npc_id" +type = "u32" +key = true + +[[models.members]] +name = "npc_name" +type = "felt252" +key = false + +[[models.members]] +name = "npc_description" +type = "felt252" +key = false + +[[models.members]] +name = "npc_role" +type = "Role" +key = false + +[[models.members]] +name = "dialogue" +type = "ByteArray" +key = false + +[[models.members]] +name = "is_active" +type = "bool" +key = false + +[[models.members]] +name = "location" +type = "Coordinates" +key = false + +[[models.members]] +name = "importance_level" +type = "u8" +key = false + +[[models.members]] +name = "mission_status" +type = "MissionStatus" +key = false + +[[models.members]] +name = "reward" +type = "u16" +key = false + +[[models.members]] +name = "experience_points" +type = "u16" +key = false + +[[models.members]] +name = "potions" +type = "Array" +key = false + +[[models]] +kind = "DojoModel" +class_hash = "0x5d992305e6f7ce0965d5bbe71e33cab817c31514ba83c8fca4610ab574e8016" +original_class_hash = "0x5d992305e6f7ce0965d5bbe71e33cab817c31514ba83c8fca4610ab574e8016" abi = "manifests/dev/deployment/abis/models/bytebeasts-Player-14f5e45e.json" tag = "bytebeasts-Player" manifest_name = "bytebeasts-Player-14f5e45e" @@ -256,8 +601,26 @@ key = false [[models]] kind = "DojoModel" -class_hash = "0x164879a36700032b1af24f1b5bcc6f8cd74c90fc259090049877a09b0dac57d" -original_class_hash = "0x164879a36700032b1af24f1b5bcc6f8cd74c90fc259090049877a09b0dac57d" +class_hash = "0x91da9f380b960e2dc7f9a59d4e1242ed718590d2270fd28e2311a5e1ee54f2" +original_class_hash = "0x91da9f380b960e2dc7f9a59d4e1242ed718590d2270fd28e2311a5e1ee54f2" +abi = "manifests/dev/deployment/abis/models/bytebeasts-Position-78f28df6.json" +tag = "bytebeasts-Position" +manifest_name = "bytebeasts-Position-78f28df6" + +[[models.members]] +name = "player" +type = "Player" +key = true + +[[models.members]] +name = "coordinates" +type = "Coordinates" +key = false + +[[models]] +kind = "DojoModel" +class_hash = "0x4eac23f35a0e71954b8f000d9d8999579ba49ffc918e8b78924562449bdf8d4" +original_class_hash = "0x4eac23f35a0e71954b8f000d9d8999579ba49ffc918e8b78924562449bdf8d4" abi = "manifests/dev/deployment/abis/models/bytebeasts-Potion-6a2114b0.json" tag = "bytebeasts-Potion" manifest_name = "bytebeasts-Potion-6a2114b0" @@ -276,3 +639,39 @@ key = false name = "potion_effect" type = "u32" key = false + +[[models]] +kind = "DojoModel" +class_hash = "0xe446a8c3773fbfae6e2e0e87a6d1db12143224cf47e217e12bf9cfc76428ef" +original_class_hash = "0xe446a8c3773fbfae6e2e0e87a6d1db12143224cf47e217e12bf9cfc76428ef" +abi = "manifests/dev/deployment/abis/models/bytebeasts-Status-6595af0f.json" +tag = "bytebeasts-Status" +manifest_name = "bytebeasts-Status-6595af0f" + +[[models.members]] +name = "player_id" +type = "u32" +key = true + +[[models.members]] +name = "message" +type = "felt252" +key = false + +[[models]] +kind = "DojoModel" +class_hash = "0x5ba495f80b653be6df964eb97ac2e7b3f7f72508d17b54b1d51595231db8fae" +original_class_hash = "0x5ba495f80b653be6df964eb97ac2e7b3f7f72508d17b54b1d51595231db8fae" +abi = "manifests/dev/deployment/abis/models/bytebeasts-StatusBattle-161fdb64.json" +tag = "bytebeasts-StatusBattle" +manifest_name = "bytebeasts-StatusBattle-161fdb64" + +[[models.members]] +name = "battle_id" +type = "u32" +key = true + +[[models.members]] +name = "message" +type = "felt252" +key = false diff --git a/overlays/dev/actions.toml b/overlays/dev/actions.toml deleted file mode 100644 index 699293d..0000000 --- a/overlays/dev/actions.toml +++ /dev/null @@ -1,2 +0,0 @@ -tag = "bytebeasts-actions" -writes = [ "bytebeasts-Beast", "bytebeasts-Mt", "bytebeasts-Player", "bytebeasts-Potion"] diff --git a/overlays/dev/move_action.toml b/overlays/dev/move_action.toml new file mode 100644 index 0000000..87200e6 --- /dev/null +++ b/overlays/dev/move_action.toml @@ -0,0 +1,2 @@ +tag = "bytebeasts-move_action" +writes = ["bytebeasts-Position"] diff --git a/overlays/dev/spawn_action.toml b/overlays/dev/spawn_action.toml new file mode 100644 index 0000000..77aa297 --- /dev/null +++ b/overlays/dev/spawn_action.toml @@ -0,0 +1,2 @@ +tag = "bytebeasts-spawn_action" +writes = [ "bytebeasts-Beast", "bytebeasts-Mt", "bytebeasts-Player", "bytebeasts-Potion","bytebeasts-Position"] diff --git a/overlays/dev/world_setup.toml b/overlays/dev/world_setup.toml new file mode 100644 index 0000000..91f3297 --- /dev/null +++ b/overlays/dev/world_setup.toml @@ -0,0 +1,2 @@ +tag = "bytebeasts-world_setup" +writes = ["bytebeasts-Beast", "bytebeasts-Mt", "bytebeasts-Player", "bytebeasts-Potion","bytebeasts-Position"] diff --git a/scripts/move.sh b/scripts/move.sh index ccc44d9..c2bae16 100755 --- a/scripts/move.sh +++ b/scripts/move.sh @@ -9,4 +9,4 @@ export WORLD_ADDRESS="$(cat ./manifests/dev/deployment/manifest.json | jq -r '.w echo $WORLD_ADDRESS # sozo execute --world -sozo execute --world $WORLD_ADDRESS actions move -c 1,15,15 --wait +sozo execute --world $WORLD_ADDRESS move_action move -c 1,15,15 --wait diff --git a/scripts/setWorld.sh b/scripts/setWorld.sh index 35093ca..653e5cd 100755 --- a/scripts/setWorld.sh +++ b/scripts/setWorld.sh @@ -9,4 +9,4 @@ export WORLD_ADDRESS=$(cat ./manifests/dev/deployment/manifest.json | jq -r '.wo echo $WORLD_ADDRESS # sozo execute --world -sozo execute --world $WORLD_ADDRESS actions setWorld --wait +sozo execute --world $WORLD_ADDRESS world_setup setWorld --wait diff --git a/scripts/spawn.sh b/scripts/spawn.sh index 72f1d64..f0da181 100755 --- a/scripts/spawn.sh +++ b/scripts/spawn.sh @@ -9,4 +9,4 @@ export WORLD_ADDRESS="$(cat ./manifests/dev/deployment/manifest.json | jq -r '.w echo $WORLD_ADDRESS # sozo execute --world -sozo execute --world $WORLD_ADDRESS actions spawn -c 1 --wait +sozo execute --world $WORLD_ADDRESS spawn_action spawn -c 1 --wait