diff --git a/.github/workflows/test-contracts.yml b/.github/workflows/test-contracts.yml index 335899c39..016d0c0a8 100644 --- a/.github/workflows/test-contracts.yml +++ b/.github/workflows/test-contracts.yml @@ -47,7 +47,7 @@ jobs: steps: - name: Download Dojo release artifact run: | - curl -L -o dojo-linux-x86_64.tar.gz https://github.com/dojoengine/dojo/releases/download/v1.0.0-alpha.11/dojo_v1.0.0-alpha.11_linux_amd64.tar.gz + curl -L -o dojo-linux-x86_64.tar.gz https://github.com/dojoengine/dojo/releases/download/v1.0.0-alpha.9/dojo_v1.0.0-alpha.9_linux_amd64.tar.gz tar -xzf dojo-linux-x86_64.tar.gz sudo mv sozo /usr/local/bin/ - name: Checkout repository diff --git a/.tool-versions b/.tool-versions index 6280fc4e0..b8711c934 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ scarb 2.7.0 -dojo 1.0.0-alpha.11 +dojo 1.0.0-alpha.9 diff --git a/client/.env.production b/client/.env.production index b3919336f..0fc60d5be 100644 --- a/client/.env.production +++ b/client/.env.production @@ -3,9 +3,9 @@ VITE_PUBLIC_MASTER_PRIVATE_KEY="0x78a5bf59b234910abf592a3e923093c5afe0db6e5d10d6 VITE_PUBLIC_WORLD_ADDRESS="0x6918fe8c1ba16bdc83b9790cd9168d730aa98a22c65164578ef99af1c8cbc76" VITE_PUBLIC_ACCOUNT_CLASS_HASH="0x05400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c" VITE_EVENT_KEY="0x1a2f334228cee715f1f0f54053bb6b5eac54fa336e0bc1aacf7516decb0471d" -VITE_PUBLIC_TORII="https://api.cartridge.gg/x/eternum-37/torii" -VITE_PUBLIC_NODE_URL="https://api.cartridge.gg/x/eternum-37/katana/" -VITE_PUBLIC_DEV=false +VITE_PUBLIC_TORII="https://api.cartridge.gg/x/eternum-chat/torii" +VITE_PUBLIC_NODE_URL="https://api.cartridge.gg/x/eternum-chat/katana/" +VITE_PUBLIC_DEV=true VITE_PUBLIC_GAME_VERSION="v0.5.9" -VITE_PUBLIC_TORII_RELAY="/ip4/127.0.0.1/udp/9091/webrtc-direct/certhash/uEiB7Y_3R7E0VhbvODVQB4HulZlm1ZLEHHtVhoOMd827G5Q" \ No newline at end of file +VITE_PUBLIC_TORII_RELAY="/dns4/api.cartridge.gg/tcp/443/x-parity-wss/%2Fx%2Feternum-chat%2Ftorii%2Fwss" diff --git a/client/package.json b/client/package.json index d58e53f44..cdac01654 100644 --- a/client/package.json +++ b/client/package.json @@ -17,13 +17,13 @@ }, "dependencies": { "@bibliothecadao/eternum": "workspace:^", - "@dojoengine/core": "1.0.0-alpha.12", - "@dojoengine/create-burner": "1.0.0-alpha.12", - "@dojoengine/react": "1.0.0-alpha.12", + "@dojoengine/core": "1.0.0-alpha.13", + "@dojoengine/create-burner": "1.0.0-alpha.13", + "@dojoengine/react": "1.0.0-alpha.13", "@dojoengine/recs": "^2.0.13", - "@dojoengine/state": "1.0.0-alpha.12", - "@dojoengine/torii-client": "1.0.0-alpha.12", - "@dojoengine/utils": "1.0.0-alpha.12", + "@dojoengine/state": "1.0.0-alpha.13", + "@dojoengine/torii-client": "1.0.0-alpha.13", + "@dojoengine/utils": "1.0.0-alpha.13", "@headlessui/react": "^1.7.18", "@latticexyz/utils": "^2.0.0-next.12", "@radix-ui/react-select": "^2.0.0", diff --git a/client/src/main.tsx b/client/src/main.tsx index 93ff58f72..78e3b8cea 100644 --- a/client/src/main.tsx +++ b/client/src/main.tsx @@ -9,7 +9,6 @@ import { DojoProvider } from "./hooks/context/DojoContext"; import "./index.css"; import GameRenderer from "./three/GameRenderer"; import { LoadingScreen } from "./ui/modules/LoadingScreen"; -import { ACCOUNT_CHANGE_EVENT } from "./ui/modules/onboarding/Steps"; declare global { interface Window { diff --git a/client/src/ui/modules/chat/Chat.tsx b/client/src/ui/modules/chat/Chat.tsx index 64dda8208..ba31a910c 100644 --- a/client/src/ui/modules/chat/Chat.tsx +++ b/client/src/ui/modules/chat/Chat.tsx @@ -1,11 +1,11 @@ import { useDojo } from "@/hooks/context/DojoContext"; -import { useCallback, useEffect, useState } from "react"; +import { useGetAllPlayers } from "@/hooks/helpers/useEntities"; +import TextInput from "@/ui/elements/TextInput"; import { useEntityQuery } from "@dojoengine/react"; import { getComponentValue, Has, HasValue } from "@dojoengine/recs"; -import { shortString, TypedData } from "starknet"; -import TextInput from "@/ui/elements/TextInput"; import { getEntityIdFromKeys } from "@dojoengine/utils"; -import { useGetAllPlayers } from "@/hooks/helpers/useEntities"; +import { useCallback, useEffect, useState } from "react"; +import { shortString, TypedData } from "starknet"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/ui/elements/Select"; @@ -20,18 +20,14 @@ function generateMessageTypedData(identity: string, channel: string, content: st { name: "chainId", type: "shortstring" }, { name: "revision", type: "shortstring" }, ], - OffchainMessage: [ - { name: "model", type: "shortstring" }, - { name: "eternum-Message", type: "Model" }, - ], - Model: [ + "eternum-Message": [ { name: "identity", type: "ContractAddress" }, { name: "channel", type: "shortstring" }, { name: "content", type: "string" }, { name: "salt", type: "felt" }, ], }, - primaryType: "OffchainMessage", + primaryType: "eternum-Message", domain: { name: "Eternum", version: "1", @@ -39,13 +35,10 @@ function generateMessageTypedData(identity: string, channel: string, content: st revision: "1", }, message: { - model: "eternum-Message", - "eternum-Message": { - identity, - channel, - content, - salt, - }, + identity, + channel, + content, + salt, }, }; } @@ -126,6 +119,7 @@ export const Chat = () => { }; const allMessageEntities = useEntityQuery([Has(Message)]); + const selfMessageEntities = useEntityQuery([Has(Message), HasValue(Message, { identity: BigInt(account.address) })]); const receivedMessageEntities = useEntityQuery([ Has(Message), @@ -184,7 +178,8 @@ export const Chat = () => { const channel = !!recipientAddress ? `0x${recipientAddress.toString(16)}` : GLOBAL_CHANNEL; const data = generateMessageTypedData(account.address, channel, message, `0x${salt?.toString(16)}`); const signature: any = await account.signMessage(data as TypedData); - toriiClient.publishMessage(JSON.stringify(data), [ + + await toriiClient.publishMessage(JSON.stringify(data), [ `0x${signature.r.toString(16)}`, `0x${signature.s.toString(16)}`, ]); diff --git a/client/src/ui/modules/onboarding/Steps.tsx b/client/src/ui/modules/onboarding/Steps.tsx index ba874d464..f99ebab6b 100644 --- a/client/src/ui/modules/onboarding/Steps.tsx +++ b/client/src/ui/modules/onboarding/Steps.tsx @@ -21,7 +21,7 @@ import { LucideArrowRight } from "lucide-react"; import { useEffect, useState } from "react"; import { shortString } from "starknet"; -export const ACCOUNT_CHANGE_EVENT = "addressChanged"; +const ACCOUNT_CHANGE_EVENT = "addressChanged"; const StepContainer = ({ children }: { children: React.ReactNode }) => { return ( diff --git a/contracts/.tool-versions b/contracts/.tool-versions index 6280fc4e0..b8711c934 100644 --- a/contracts/.tool-versions +++ b/contracts/.tool-versions @@ -1,2 +1,2 @@ scarb 2.7.0 -dojo 1.0.0-alpha.11 +dojo 1.0.0-alpha.9 diff --git a/contracts/Scarb.lock b/contracts/Scarb.lock index f92fe2781..58fcdab4b 100644 --- a/contracts/Scarb.lock +++ b/contracts/Scarb.lock @@ -61,7 +61,7 @@ source = "git+https://github.com/dojoengine/cubit?branch=cairo_2.7#53020b6320a10 [[package]] name = "dojo" version = "1.0.0-alpha.4" -source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.11#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" dependencies = [ "dojo_plugin", ] diff --git a/contracts/Scarb.toml b/contracts/Scarb.toml index 19b0dc571..93839887a 100755 --- a/contracts/Scarb.toml +++ b/contracts/Scarb.toml @@ -6,7 +6,7 @@ version = "1.0.0" sierra-replace-ids = true [dependencies] -dojo = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.11" } +dojo = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.9" } alexandria_math = { git = "https://github.com/keep-starknet-strange/alexandria.git", rev = "e1b080577aaa6889116fc8be5dde72b2fd21e397" } alexandria_data_structures = { git = "https://github.com/keep-starknet-strange/alexandria.git", rev = "e1b080577aaa6889116fc8be5dde72b2fd21e397" } cubit = { git = "https://github.com/dojoengine/cubit", branch = "cairo_2.7" } diff --git a/contracts/dojo_prod.toml b/contracts/dojo_prod.toml index 4f004bde7..0066dec94 100644 --- a/contracts/dojo_prod.toml +++ b/contracts/dojo_prod.toml @@ -2,9 +2,9 @@ default = "eternum" [env] -account_address = "0xac5b6dcf77ccf3412c5161c095b3db80b703461c71f66637c830786b0600da" -private_key = "0x78a5bf59b234910abf592a3e923093c5afe0db6e5d10d6ff32e32d4d2a890f9" -rpc_url = "https://api.cartridge.gg/x/eternum-37/katana" +account_address = "0x8da9668c371967fed1218e0682ba9c7a84fbac8ed5ddcd6e7f7ac020644acd" +private_key = "0x62d981a8e5f9e51e0e189b8385c6312fe9ac07f7ce421ffed70aa2240a7159" +rpc_url = "https://api.cartridge.gg/x/eternum-chat/katana" [world] seed = "eternum" diff --git a/contracts/manifests/dev/deployment/manifest.json b/contracts/manifests/dev/deployment/manifest.json index 7248f0c76..ca61ef52f 100644 --- a/contracts/manifests/dev/deployment/manifest.json +++ b/contracts/manifests/dev/deployment/manifest.json @@ -1,8 +1,8 @@ { "world": { "kind": "WorldContract", - "class_hash": "0x6f4515274ee23404789c3351a77107d0ec07508530119822046600ca6948d6e", - "original_class_hash": "0x6f4515274ee23404789c3351a77107d0ec07508530119822046600ca6948d6e", + "class_hash": "0xa349b743d361ce4567361475a89b84a386bb383448c6926954e5fe0b525597", + "original_class_hash": "0xa349b743d361ce4567361475a89b84a386bb383448c6926954e5fe0b525597", "abi": [ { "type": "impl", @@ -944,11 +944,6 @@ "type": "core::felt252", "kind": "data" }, - { - "name": "entity_id", - "type": "core::felt252", - "kind": "data" - }, { "name": "keys", "type": "core::array::Span::", @@ -1255,9 +1250,9 @@ "contracts": [ { "kind": "DojoContract", - "address": "0x2597b91ccea2bf7c5f5688591fd41cdec203a57b9001f9aaf886c4efd7914a7", - "class_hash": "0x57baea9dcee3c73fcdd8e8142ac19a455838a50803a311f4d55a8fedffef08", - "original_class_hash": "0x57baea9dcee3c73fcdd8e8142ac19a455838a50803a311f4d55a8fedffef08", + "address": "0x23d9fda8b1ef4f322356e076fcfcd1ed5586e114730d073852cb2fb50ad73d0", + "class_hash": "0x24f8e7b7cc6eb58f66ff106556f35bad3efda6f02acafbb3847faef025eb71f", + "original_class_hash": "0x24f8e7b7cc6eb58f66ff106556f35bad3efda6f02acafbb3847faef025eb71f", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -1549,9 +1544,9 @@ }, { "kind": "DojoContract", - "address": "0x7f5083a2161ad4de0519557347c0aaa87dfc98874dc7ed43adb721961696ade", - "class_hash": "0x13b5a37bf98601831c97d202d5c889285350235653d5ede6f4de0a5ca71086c", - "original_class_hash": "0x13b5a37bf98601831c97d202d5c889285350235653d5ede6f4de0a5ca71086c", + "address": "0x7ed18691dfbacf174f2f0c80a92cf0cc6cc0a017f56331712d253d2efda6a0b", + "class_hash": "0x574732996ab5073ff265b7d1bdf6f0cff168007270439c9ff9e3845c3275d2a", + "original_class_hash": "0x574732996ab5073ff265b7d1bdf6f0cff168007270439c9ff9e3845c3275d2a", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -2434,9 +2429,9 @@ }, { "kind": "DojoContract", - "address": "0x507de90d583ef694333b7795ea0758815308e426802de71f9e2ccacec27a4c8", - "class_hash": "0xfeef77e0f94d2431ef4af1172a972d4f2f74c3578a47529db1fb3c8b09da81", - "original_class_hash": "0xfeef77e0f94d2431ef4af1172a972d4f2f74c3578a47529db1fb3c8b09da81", + "address": "0x7a586a591ea4b5a3264e696076c5b801ea1d857f12455f1002f522e3b5a29b0", + "class_hash": "0x5c9a7ddbd3f51775350592f8d4bec9c1a977435483d9076d3bc4bcb6a40275c", + "original_class_hash": "0x5c9a7ddbd3f51775350592f8d4bec9c1a977435483d9076d3bc4bcb6a40275c", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -2635,29 +2630,51 @@ "name": "MapConfigCustomImpl", "interface_name": "eternum::systems::config::contracts::IMapConfig" }, + { + "type": "struct", + "name": "eternum::models::config::MapConfig", + "members": [ + { + "name": "config_id", + "type": "core::integer::u32" + }, + { + "name": "explore_wheat_burn_amount", + "type": "core::integer::u128" + }, + { + "name": "explore_fish_burn_amount", + "type": "core::integer::u128" + }, + { + "name": "travel_wheat_burn_amount", + "type": "core::integer::u128" + }, + { + "name": "travel_fish_burn_amount", + "type": "core::integer::u128" + }, + { + "name": "reward_resource_amount", + "type": "core::integer::u128" + }, + { + "name": "shards_mines_fail_probability", + "type": "core::integer::u128" + } + ] + }, { "type": "interface", "name": "eternum::systems::config::contracts::IMapConfig", "items": [ { "type": "function", - "name": "set_exploration_config", + "name": "set_map_config", "inputs": [ { - "name": "wheat_burn_amount", - "type": "core::integer::u128" - }, - { - "name": "fish_burn_amount", - "type": "core::integer::u128" - }, - { - "name": "reward_resource_amount", - "type": "core::integer::u128" - }, - { - "name": "shards_mines_fail_probability", - "type": "core::integer::u128" + "name": "map_config", + "type": "eternum::models::config::MapConfig" } ], "outputs": [], @@ -2670,6 +2687,46 @@ "name": "CapacityConfigCustomImpl", "interface_name": "eternum::systems::config::contracts::ICapacityConfig" }, + { + "type": "enum", + "name": "eternum::models::config::CapacityConfigCategory", + "variants": [ + { + "name": "None", + "type": "()" + }, + { + "name": "Structure", + "type": "()" + }, + { + "name": "Donkey", + "type": "()" + }, + { + "name": "Army", + "type": "()" + }, + { + "name": "Storehouse", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "eternum::models::config::CapacityConfig", + "members": [ + { + "name": "category", + "type": "eternum::models::config::CapacityConfigCategory" + }, + { + "name": "weight_gram", + "type": "core::integer::u128" + } + ] + }, { "type": "interface", "name": "eternum::systems::config::contracts::ICapacityConfig", @@ -2679,12 +2736,8 @@ "name": "set_capacity_config", "inputs": [ { - "name": "entity_type", - "type": "core::integer::u32" - }, - { - "name": "weight_gram", - "type": "core::integer::u128" + "name": "capacity_config", + "type": "eternum::models::config::CapacityConfig" } ], "outputs": [], @@ -2735,6 +2788,10 @@ { "name": "battle_grace_tick_count", "type": "core::integer::u8" + }, + { + "name": "battle_delay_seconds", + "type": "core::integer::u64" } ] }, @@ -2936,22 +2993,6 @@ "type": "interface", "name": "eternum::systems::config::contracts::ITransportConfig", "items": [ - { - "type": "function", - "name": "set_road_config", - "inputs": [ - { - "name": "resource_costs", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" - }, - { - "name": "speed_up_by", - "type": "core::integer::u64" - } - ], - "outputs": [], - "state_mutability": "external" - }, { "type": "function", "name": "set_speed_config", @@ -3301,29 +3342,6 @@ } ] }, - { - "type": "impl", - "name": "IStorehouseCapacityConfig", - "interface_name": "eternum::systems::config::contracts::IStorehouseCapacityConfig" - }, - { - "type": "interface", - "name": "eternum::systems::config::contracts::IStorehouseCapacityConfig", - "items": [ - { - "type": "function", - "name": "set_storehouse_capacity_config", - "inputs": [ - { - "name": "weight_gram", - "type": "core::integer::u128" - } - ], - "outputs": [], - "state_mutability": "external" - } - ] - }, { "type": "impl", "name": "IDojoInitImpl", @@ -3409,7 +3427,7 @@ "systems": [ "set_world_config", "set_mint_config", - "set_exploration_config", + "set_map_config", "set_capacity_config", "set_weight_config", "set_battle_config", @@ -3418,7 +3436,6 @@ "set_stamina_refill_config", "set_leveling_config", "set_production_config", - "set_road_config", "set_speed_config", "set_hyperstructure_config", "set_bank_config", @@ -3426,16 +3443,15 @@ "set_building_category_pop_config", "set_population_config", "set_building_config", - "set_mercenaries_config", - "set_storehouse_capacity_config" + "set_mercenaries_config" ], "manifest_name": "eternum-config_systems-5f8c7cdc" }, { "kind": "DojoContract", - "address": "0x176872635a3c4b009b3fa1ee4df9b512f1531c8e8b353740b89893a02e29cb7", - "class_hash": "0x5f23e61dee1fbf600fb57342dd3c258971adab5fdf39bf3ca8913040a7dcb10", - "original_class_hash": "0x5f23e61dee1fbf600fb57342dd3c258971adab5fdf39bf3ca8913040a7dcb10", + "address": "0x4d4800dc89edbdb3a526503582730375e78418f094d8175a4d1910326bf615f", + "class_hash": "0x3d34c4f65b2d71321a673540732c9854209b2585535656f9c3a292f3fe73eee", + "original_class_hash": "0x3d34c4f65b2d71321a673540732c9854209b2585535656f9c3a292f3fe73eee", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -3701,9 +3717,9 @@ }, { "kind": "DojoContract", - "address": "0x607348ad48e2f5908a9a324669a12bd7bbdaf28ff67870a9c553ec5f61e32ec", - "class_hash": "0x3f1b8b1470f743a5eb1a47ffb3fc29b4330d9862bd69075ed487c0f869c2c89", - "original_class_hash": "0x3f1b8b1470f743a5eb1a47ffb3fc29b4330d9862bd69075ed487c0f869c2c89", + "address": "0x2fa49f8ffee6ad0a66a783af6bb747ee860862b7579a40102e23ee82359c019", + "class_hash": "0x7cbaf8b08ff3e3c0bba390aad562fb65d86a8958f147cb56f6018b1d3f2baf8", + "original_class_hash": "0x7cbaf8b08ff3e3c0bba390aad562fb65d86a8958f147cb56f6018b1d3f2baf8", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -3959,7 +3975,7 @@ }, { "kind": "DojoContract", - "address": "0x7b7abbed214c6899af99086b66897bd7c6f4f2ee9cc2a51e69cc86993c40d68", + "address": "0x768ac31cdfa61a717b84077a79e7ff307ad47dd1dc0dac9b63ac2ce40f53292", "class_hash": "0x1b09c16bada4d6a3e34116c6c0e1beb829ab1429cfcbe17e1cd1b4d3c07a791", "original_class_hash": "0x1b09c16bada4d6a3e34116c6c0e1beb829ab1429cfcbe17e1cd1b4d3c07a791", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", @@ -4178,7 +4194,7 @@ }, { "kind": "DojoContract", - "address": "0x423ff7cfa3fd3b7b7d89e2871883f12b13daa0238fcde7a4ceabfcabb8cb065", + "address": "0x463aefde3a3c1cb7c4d8896b7469eacce93bf9fa1258d13f2694de44321bce7", "class_hash": "0x22d788f4a836d88ac5eb219aab1fc066a8567100053f28ca8580384fc700438", "original_class_hash": "0x22d788f4a836d88ac5eb219aab1fc066a8567100053f28ca8580384fc700438", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", @@ -4851,9 +4867,9 @@ }, { "kind": "DojoContract", - "address": "0x27c097a9d7f7bf944d64bec4ef14f2274156ed2e0a0c288492ab9ce48df2f2", - "class_hash": "0xfbc4287d5c268386905d4889c4c889ef5255e4e8db07b851d52833c17e997", - "original_class_hash": "0xfbc4287d5c268386905d4889c4c889ef5255e4e8db07b851d52833c17e997", + "address": "0x33880f09a32670cb3de1502dab021c1c8f7c3368fa5a4f29fea7ef9c3fd64a8", + "class_hash": "0x43c34c37eeb98e6bd76093d74972a7c7bc3335744daeddf3f7acd6db562173e", + "original_class_hash": "0x43c34c37eeb98e6bd76093d74972a7c7bc3335744daeddf3f7acd6db562173e", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -5095,9 +5111,9 @@ }, { "kind": "DojoContract", - "address": "0x7e7f1aedf47414f305445f1ace5b96072d2bf4ef3e47252bcabcae609f775a4", - "class_hash": "0x7219bfa89b09bbe2ccdec3199e8b143ba40609a23ee6a4ba727e9f65bb56fc1", - "original_class_hash": "0x7219bfa89b09bbe2ccdec3199e8b143ba40609a23ee6a4ba727e9f65bb56fc1", + "address": "0x1bb5522c954f263822875b3be43a36540a37e597196284b5f0160722ccac40f", + "class_hash": "0x6f9d35ddfa713d2db0151ec89d09241f96b9d3a3ee01c61c6e35dca72f04aea", + "original_class_hash": "0x6f9d35ddfa713d2db0151ec89d09241f96b9d3a3ee01c61c6e35dca72f04aea", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -5689,7 +5705,7 @@ }, { "kind": "DojoContract", - "address": "0x267865665da55a825c49fa637de470123fcbb4e44f7465e54fcf44b23a6678d", + "address": "0xcca348a494d5d50e3fe7a4601315ae4c2a8c40551e8f4df8e382c41bb20a7c", "class_hash": "0x71eb3d17fa699da80155d87501ea9d683de1dea2a02661ee1d6547b5d1cd1ab", "original_class_hash": "0x71eb3d17fa699da80155d87501ea9d683de1dea2a02661ee1d6547b5d1cd1ab", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", @@ -5950,9 +5966,9 @@ }, { "kind": "DojoContract", - "address": "0x37940c191510c4faccd4ccb7cbe012d20b91bd61aaa346dcb1279990d28a787", - "class_hash": "0x50df594ad328d06a48bf41eb646d420621d251a7107b4475ddbf0e33daf25a1", - "original_class_hash": "0x50df594ad328d06a48bf41eb646d420621d251a7107b4475ddbf0e33daf25a1", + "address": "0x3eab010b114ef9167679721f082578bedc8e03afa98c3659bfdd141f20530a4", + "class_hash": "0x78da6eabc04ce6d32097ec506dda683f55b04d45215c797e23954f7684df282", + "original_class_hash": "0x78da6eabc04ce6d32097ec506dda683f55b04d45215c797e23954f7684df282", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -6270,9 +6286,9 @@ }, { "kind": "DojoContract", - "address": "0x516dc39b1bea42d3de5c61421f99776731909cd908f3de388dc8a9dbbc3edc5", - "class_hash": "0x1b8c9118490dc6fb228e40072923c86f26936ba0ef67237c20ecb33d53ce3ea", - "original_class_hash": "0x1b8c9118490dc6fb228e40072923c86f26936ba0ef67237c20ecb33d53ce3ea", + "address": "0x58e07e699e1e07684e84c3f792b02dbcade89e2f69546d5eb4b4c35f5ad934d", + "class_hash": "0x182632994e3020c07162aa7cb54ecb95916d469c75de398bb5daa0957d7541e", + "original_class_hash": "0x182632994e3020c07162aa7cb54ecb95916d469c75de398bb5daa0957d7541e", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -6574,9 +6590,9 @@ }, { "kind": "DojoContract", - "address": "0x2878af80bd88b86731f7d375504f1aff37030ddcee54abcd5d46d41e0fff16f", - "class_hash": "0x165bb5690fde19001a287723299eb2832c728174d0e1968162551a133eef4ea", - "original_class_hash": "0x165bb5690fde19001a287723299eb2832c728174d0e1968162551a133eef4ea", + "address": "0x7648901aed56a98105f6085a0e80c75a4cce6786233b58066c9782fbd58470d", + "class_hash": "0x635b6b87e32693f968207a7ee8409dbea4bde979eb51c2014d18ab7cb7ad672", + "original_class_hash": "0x635b6b87e32693f968207a7ee8409dbea4bde979eb51c2014d18ab7cb7ad672", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -6708,49 +6724,67 @@ }, { "type": "impl", - "name": "RoadSystemsImpl", - "interface_name": "eternum::systems::transport::contracts::road_systems::IRoadSystems" - }, - { - "type": "struct", - "name": "eternum::models::position::Coord", - "members": [ - { - "name": "x", - "type": "core::integer::u32" - }, - { - "name": "y", - "type": "core::integer::u32" - } - ] + "name": "SwapSystemsImpl", + "interface_name": "eternum::systems::bank::contracts::swap::ISwapSystems" }, { "type": "interface", - "name": "eternum::systems::transport::contracts::road_systems::IRoadSystems", + "name": "eternum::systems::bank::contracts::swap::ISwapSystems", "items": [ { "type": "function", - "name": "create", + "name": "buy", "inputs": [ + { + "name": "bank_entity_id", + "type": "core::integer::u32" + }, { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "start_coord", - "type": "eternum::models::position::Coord" + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "end_coord", - "type": "eternum::models::position::Coord" + "name": "amount", + "type": "core::integer::u128" + } + ], + "outputs": [ + { + "type": "core::integer::u32" + } + ], + "state_mutability": "external" + }, + { + "type": "function", + "name": "sell", + "inputs": [ + { + "name": "bank_entity_id", + "type": "core::integer::u32" }, { - "name": "usage_count", + "name": "entity_id", + "type": "core::integer::u32" + }, + { + "name": "resource_type", + "type": "core::integer::u8" + }, + { + "name": "amount", + "type": "core::integer::u128" + } + ], + "outputs": [ + { "type": "core::integer::u32" } ], - "outputs": [], "state_mutability": "external" } ] @@ -6758,11 +6792,11 @@ { "type": "impl", "name": "IDojoInitImpl", - "interface_name": "eternum::systems::transport::contracts::road_systems::road_systems::IDojoInit" + "interface_name": "eternum::systems::bank::contracts::swap::swap_systems::IDojoInit" }, { "type": "interface", - "name": "eternum::systems::transport::contracts::road_systems::road_systems::IDojoInit", + "name": "eternum::systems::bank::contracts::swap::swap_systems::IDojoInit", "items": [ { "type": "function", @@ -6822,7 +6856,7 @@ }, { "type": "event", - "name": "eternum::systems::transport::contracts::road_systems::road_systems::Event", + "name": "eternum::systems::bank::contracts::swap::swap_systems::Event", "kind": "enum", "variants": [ { @@ -6836,17 +6870,15 @@ "reads": [], "writes": [], "init_calldata": [], - "tag": "eternum-road_systems", - "systems": [ - "create" - ], - "manifest_name": "eternum-road_systems-61d8f9c9" + "tag": "eternum-swap_systems", + "systems": [], + "manifest_name": "eternum-swap_systems-216e8d44" }, { "kind": "DojoContract", - "address": "0x7584a48dcddb0e76e9c79590198f942603736bd081d55c276469c944f3d9c83", - "class_hash": "0x561e15856e9027bef65a57edc59ad370ae7dd364324bba51a39e6a5556bd1f", - "original_class_hash": "0x561e15856e9027bef65a57edc59ad370ae7dd364324bba51a39e6a5556bd1f", + "address": "0x5dca037560ad6652aca06a4f284d5e5fdc79990aad8beb9be5d520c6ced885b", + "class_hash": "0x231839db3a926a292b4c1a69201984c9bfc921a85200fc8cd19b5d6fba177b3", + "original_class_hash": "0x231839db3a926a292b4c1a69201984c9bfc921a85200fc8cd19b5d6fba177b3", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -6978,32 +7010,46 @@ }, { "type": "impl", - "name": "SwapSystemsImpl", - "interface_name": "eternum::systems::bank::contracts::swap::ISwapSystems" + "name": "TradeSystemsImpl", + "interface_name": "eternum::systems::trade::contracts::trade_systems::ITradeSystems" + }, + { + "type": "struct", + "name": "core::array::Span::<(core::integer::u8, core::integer::u128)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::integer::u8, core::integer::u128)>" + } + ] }, { "type": "interface", - "name": "eternum::systems::bank::contracts::swap::ISwapSystems", + "name": "eternum::systems::trade::contracts::trade_systems::ITradeSystems", "items": [ { "type": "function", - "name": "buy", + "name": "create_order", "inputs": [ { - "name": "bank_entity_id", + "name": "maker_id", "type": "core::integer::u32" }, { - "name": "entity_id", + "name": "maker_gives_resources", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" + }, + { + "name": "taker_id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" + "name": "taker_gives_resources", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" }, { - "name": "amount", - "type": "core::integer::u128" + "name": "expires_at", + "type": "core::integer::u64" } ], "outputs": [ @@ -7015,30 +7061,70 @@ }, { "type": "function", - "name": "sell", + "name": "accept_order", "inputs": [ { - "name": "bank_entity_id", + "name": "taker_id", "type": "core::integer::u32" }, { - "name": "entity_id", + "name": "trade_id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" + "name": "maker_gives_resources", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" }, { - "name": "amount", + "name": "taker_gives_resources", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" + } + ], + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "accept_partial_order", + "inputs": [ + { + "name": "taker_id", + "type": "core::integer::u32" + }, + { + "name": "trade_id", + "type": "core::integer::u32" + }, + { + "name": "maker_gives_resources", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" + }, + { + "name": "taker_gives_resources", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" + }, + { + "name": "taker_gives_actual_amount", "type": "core::integer::u128" } ], - "outputs": [ + "outputs": [], + "state_mutability": "external" + }, + { + "type": "function", + "name": "cancel_order", + "inputs": [ { + "name": "trade_id", "type": "core::integer::u32" + }, + { + "name": "return_resources", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" } ], + "outputs": [], "state_mutability": "external" } ] @@ -7046,351 +7132,11 @@ { "type": "impl", "name": "IDojoInitImpl", - "interface_name": "eternum::systems::bank::contracts::swap::swap_systems::IDojoInit" + "interface_name": "eternum::systems::trade::contracts::trade_systems::trade_systems::IDojoInit" }, { "type": "interface", - "name": "eternum::systems::bank::contracts::swap::swap_systems::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": "eternum::systems::bank::contracts::swap::swap_systems::Event", - "kind": "enum", - "variants": [ - { - "name": "UpgradeableEvent", - "type": "dojo::contract::upgradeable::upgradeable::Event", - "kind": "nested" - } - ] - } - ], - "reads": [], - "writes": [], - "init_calldata": [], - "tag": "eternum-swap_systems", - "systems": [], - "manifest_name": "eternum-swap_systems-216e8d44" - }, - { - "kind": "DojoContract", - "address": "0x7aa0929cf4abb83297621f8d7cac5c86f019b2f0e7bef93a5eb701dfd682288", - "class_hash": "0x1306a4bc4d4cd9acc1f36afba111f8b8c0a5dbc31278c1e78ade566588a37d1", - "original_class_hash": "0x1306a4bc4d4cd9acc1f36afba111f8b8c0a5dbc31278c1e78ade566588a37d1", - "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": "TradeSystemsImpl", - "interface_name": "eternum::systems::trade::contracts::trade_systems::ITradeSystems" - }, - { - "type": "struct", - "name": "core::array::Span::<(core::integer::u8, core::integer::u128)>", - "members": [ - { - "name": "snapshot", - "type": "@core::array::Array::<(core::integer::u8, core::integer::u128)>" - } - ] - }, - { - "type": "interface", - "name": "eternum::systems::trade::contracts::trade_systems::ITradeSystems", - "items": [ - { - "type": "function", - "name": "create_order", - "inputs": [ - { - "name": "maker_id", - "type": "core::integer::u32" - }, - { - "name": "maker_gives_resources", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" - }, - { - "name": "taker_id", - "type": "core::integer::u32" - }, - { - "name": "taker_gives_resources", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" - }, - { - "name": "expires_at", - "type": "core::integer::u64" - } - ], - "outputs": [ - { - "type": "core::integer::u32" - } - ], - "state_mutability": "external" - }, - { - "type": "function", - "name": "accept_order", - "inputs": [ - { - "name": "taker_id", - "type": "core::integer::u32" - }, - { - "name": "trade_id", - "type": "core::integer::u32" - }, - { - "name": "maker_gives_resources", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" - }, - { - "name": "taker_gives_resources", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" - } - ], - "outputs": [], - "state_mutability": "external" - }, - { - "type": "function", - "name": "accept_partial_order", - "inputs": [ - { - "name": "taker_id", - "type": "core::integer::u32" - }, - { - "name": "trade_id", - "type": "core::integer::u32" - }, - { - "name": "maker_gives_resources", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" - }, - { - "name": "taker_gives_resources", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" - }, - { - "name": "taker_gives_actual_amount", - "type": "core::integer::u128" - } - ], - "outputs": [], - "state_mutability": "external" - }, - { - "type": "function", - "name": "cancel_order", - "inputs": [ - { - "name": "trade_id", - "type": "core::integer::u32" - }, - { - "name": "return_resources", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" - } - ], - "outputs": [], - "state_mutability": "external" - } - ] - }, - { - "type": "impl", - "name": "IDojoInitImpl", - "interface_name": "eternum::systems::trade::contracts::trade_systems::trade_systems::IDojoInit" - }, - { - "type": "interface", - "name": "eternum::systems::trade::contracts::trade_systems::trade_systems::IDojoInit", + "name": "eternum::systems::trade::contracts::trade_systems::trade_systems::IDojoInit", "items": [ { "type": "function", @@ -7474,9 +7220,9 @@ }, { "kind": "DojoContract", - "address": "0x37833ef335c5ee7d6c85c156345d6e8686873b722f9f01ac4b5f05b9ef82774", - "class_hash": "0x46a6bf02b734e01b7722e7c9b9a224c7719780895393e1376c81bc83dc4111e", - "original_class_hash": "0x46a6bf02b734e01b7722e7c9b9a224c7719780895393e1376c81bc83dc4111e", + "address": "0x70327cdb9650f8b24ed7fc7f77a7412186afa78077421cb41b3bf6fbad67494", + "class_hash": "0x77bd2ccdeffd644b70e6a99932bf948cb62defd0441af5c12eff985e31bf69c", + "original_class_hash": "0x77bd2ccdeffd644b70e6a99932bf948cb62defd0441af5c12eff985e31bf69c", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -10998,10 +10744,15 @@ "name": "duration_left", "type": "u64", "key": false + }, + { + "name": "start_at", + "type": "u64", + "key": false } ], - "class_hash": "0x3a4f5b807168c9a88818f96ffe38f4593f8631d68b1f9b741bce8bded6e2cf9", - "original_class_hash": "0x3a4f5b807168c9a88818f96ffe38f4593f8631d68b1f9b741bce8bded6e2cf9", + "class_hash": "0x16f999d580e5134ce0dc4105ad69827bc186404c13f8474e264aab5127ac05d", + "original_class_hash": "0x16f999d580e5134ce0dc4105ad69827bc186404c13f8474e264aab5127ac05d", "abi": [ { "type": "impl", @@ -11493,6 +11244,10 @@ { "name": "duration_left", "type": "core::integer::u64" + }, + { + "name": "start_at", + "type": "core::integer::u64" } ] }, @@ -12097,10 +11852,15 @@ "name": "battle_grace_tick_count", "type": "u8", "key": false + }, + { + "name": "battle_delay_seconds", + "type": "u64", + "key": false } ], - "class_hash": "0x71e1a3fca77c5ddfeecdf20f6b988a455d2f68afcd3df845392f4c4dfa252f8", - "original_class_hash": "0x71e1a3fca77c5ddfeecdf20f6b988a455d2f68afcd3df845392f4c4dfa252f8", + "class_hash": "0xf29c778e8da6c709dfedd1b4bd853e75c281f43025e7edae3936b157397fda", + "original_class_hash": "0xf29c778e8da6c709dfedd1b4bd853e75c281f43025e7edae3936b157397fda", "abi": [ { "type": "impl", @@ -12480,6 +12240,10 @@ { "name": "battle_grace_tick_count", "type": "core::integer::u8" + }, + { + "name": "battle_delay_seconds", + "type": "core::integer::u64" } ] }, @@ -17439,13 +17203,13 @@ "key": true }, { - "name": "weight_gram", - "type": "u128", + "name": "category", + "type": "CapacityConfigCategory", "key": false } ], - "class_hash": "0x7abb7049c7589f4a99ae83b9f3433745a5eaf8d80537e782ecf35949da59158", - "original_class_hash": "0x7abb7049c7589f4a99ae83b9f3433745a5eaf8d80537e782ecf35949da59158", + "class_hash": "0x1c872eae51ebc794cd2209e7848f2866079673b9511ef064612e20432d6f282", + "original_class_hash": "0x1c872eae51ebc794cd2209e7848f2866079673b9511ef064612e20432d6f282", "abi": [ { "type": "impl", @@ -17811,26 +17575,52 @@ }, { "type": "impl", - "name": "capacityImpl", - "interface_name": "eternum::models::capacity::Icapacity" + "name": "capacity_categoryImpl", + "interface_name": "eternum::models::capacity::Icapacity_category" + }, + { + "type": "enum", + "name": "eternum::models::config::CapacityConfigCategory", + "variants": [ + { + "name": "None", + "type": "()" + }, + { + "name": "Structure", + "type": "()" + }, + { + "name": "Donkey", + "type": "()" + }, + { + "name": "Army", + "type": "()" + }, + { + "name": "Storehouse", + "type": "()" + } + ] }, { "type": "struct", - "name": "eternum::models::capacity::Capacity", + "name": "eternum::models::capacity::CapacityCategory", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "weight_gram", - "type": "core::integer::u128" + "name": "category", + "type": "eternum::models::config::CapacityConfigCategory" } ] }, { "type": "interface", - "name": "eternum::models::capacity::Icapacity", + "name": "eternum::models::capacity::Icapacity_category", "items": [ { "type": "function", @@ -17838,7 +17628,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::capacity::Capacity" + "type": "eternum::models::capacity::CapacityCategory" } ], "outputs": [], @@ -17848,41 +17638,31 @@ }, { "type": "event", - "name": "eternum::models::capacity::capacity::Event", + "name": "eternum::models::capacity::capacity_category::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Capacity", - "qualified_path": "eternum::models::capacity::capacity", - "manifest_name": "eternum-Capacity-27d77858" + "tag": "eternum-CapacityCategory", + "qualified_path": "eternum::models::capacity::capacity_category", + "manifest_name": "eternum-CapacityCategory-268dbecc" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", - "type": "ID", - "key": true - }, - { - "name": "carry_capacity_config_id", - "type": "ID", + "name": "category", + "type": "CapacityConfigCategory", "key": true }, - { - "name": "entity_type", - "type": "ID", - "key": false - }, { "name": "weight_gram", "type": "u128", "key": false } ], - "class_hash": "0x6214a189285820e02d4f9b1d702fc5ad0f4141be8c7c5f385596e3882e30a47", - "original_class_hash": "0x6214a189285820e02d4f9b1d702fc5ad0f4141be8c7c5f385596e3882e30a47", + "class_hash": "0x59897890b030fb893af71ca82fbd4170f03dad09e464c3bc58971f14a89367", + "original_class_hash": "0x59897890b030fb893af71ca82fbd4170f03dad09e464c3bc58971f14a89367", "abi": [ { "type": "impl", @@ -18252,20 +18032,38 @@ "interface_name": "eternum::models::config::Icapacity_config" }, { - "type": "struct", - "name": "eternum::models::config::CapacityConfig", - "members": [ + "type": "enum", + "name": "eternum::models::config::CapacityConfigCategory", + "variants": [ { - "name": "config_id", - "type": "core::integer::u32" + "name": "None", + "type": "()" }, { - "name": "carry_capacity_config_id", - "type": "core::integer::u32" + "name": "Structure", + "type": "()" }, { - "name": "entity_type", - "type": "core::integer::u32" + "name": "Donkey", + "type": "()" + }, + { + "name": "Army", + "type": "()" + }, + { + "name": "Storehouse", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "eternum::models::config::CapacityConfig", + "members": [ + { + "name": "category", + "type": "eternum::models::config::CapacityConfigCategory" }, { "name": "weight_gram", @@ -21811,23 +21609,28 @@ "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "entity_owner_id", "type": "ID", "key": true }, { - "name": "is_public", - "type": "bool", - "key": false + "name": "mine_entity_id", + "type": "ID", + "key": true }, { - "name": "member_count", - "type": "u16", + "name": "production_deadline_tick", + "type": "u64", + "key": true + }, + { + "name": "discovered_at", + "type": "u64", "key": false } ], - "class_hash": "0x49c8e797e75b458b6c599b2a6adac16d8e2c57dec23b220a3ce9a730a024e61", - "original_class_hash": "0x49c8e797e75b458b6c599b2a6adac16d8e2c57dec23b220a3ce9a730a024e61", + "class_hash": "0x2887e0c383185a0f7c8bfd9cec199674bf5f887e2ffaf47e80c8e0d2a8c8c42", + "original_class_hash": "0x2887e0c383185a0f7c8bfd9cec199674bf5f887e2ffaf47e80c8e0d2a8c8c42", "abi": [ { "type": "impl", @@ -22193,44 +21996,34 @@ }, { "type": "impl", - "name": "guildImpl", - "interface_name": "eternum::models::guild::Iguild" - }, - { - "type": "enum", - "name": "core::bool", - "variants": [ - { - "name": "False", - "type": "()" - }, - { - "name": "True", - "type": "()" - } - ] + "name": "fragment_mine_discoveredImpl", + "interface_name": "eternum::systems::map::contracts::map_systems::Ifragment_mine_discovered" }, { "type": "struct", - "name": "eternum::models::guild::Guild", + "name": "eternum::systems::map::contracts::map_systems::FragmentMineDiscovered", "members": [ { - "name": "entity_id", + "name": "entity_owner_id", "type": "core::integer::u32" }, { - "name": "is_public", - "type": "core::bool" + "name": "mine_entity_id", + "type": "core::integer::u32" }, { - "name": "member_count", - "type": "core::integer::u16" + "name": "production_deadline_tick", + "type": "core::integer::u64" + }, + { + "name": "discovered_at", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::guild::Iguild", + "name": "eternum::systems::map::contracts::map_systems::Ifragment_mine_discovered", "items": [ { "type": "function", @@ -22238,7 +22031,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::guild::Guild" + "type": "eternum::systems::map::contracts::map_systems::FragmentMineDiscovered" } ], "outputs": [], @@ -22248,31 +22041,36 @@ }, { "type": "event", - "name": "eternum::models::guild::guild::Event", + "name": "eternum::systems::map::contracts::map_systems::fragment_mine_discovered::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Guild", - "qualified_path": "eternum::models::guild::guild", - "manifest_name": "eternum-Guild-22d294a4" + "tag": "eternum-FragmentMineDiscovered", + "qualified_path": "eternum::systems::map::contracts::map_systems::fragment_mine_discovered", + "manifest_name": "eternum-FragmentMineDiscovered-50864feb" }, { "kind": "DojoModel", "members": [ { - "name": "address", - "type": "ContractAddress", + "name": "entity_id", + "type": "ID", "key": true }, { - "name": "guild_entity_id", - "type": "ID", + "name": "is_public", + "type": "bool", + "key": false + }, + { + "name": "member_count", + "type": "u16", "key": false } ], - "class_hash": "0x6fbc5caca9b75c09da505e60d4328b66113193af74fb1c24e896dc691182eaf", - "original_class_hash": "0x6fbc5caca9b75c09da505e60d4328b66113193af74fb1c24e896dc691182eaf", + "class_hash": "0x49c8e797e75b458b6c599b2a6adac16d8e2c57dec23b220a3ce9a730a024e61", + "original_class_hash": "0x49c8e797e75b458b6c599b2a6adac16d8e2c57dec23b220a3ce9a730a024e61", "abi": [ { "type": "impl", @@ -22638,26 +22436,44 @@ }, { "type": "impl", - "name": "guild_memberImpl", - "interface_name": "eternum::models::guild::Iguild_member" + "name": "guildImpl", + "interface_name": "eternum::models::guild::Iguild" + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] }, { "type": "struct", - "name": "eternum::models::guild::GuildMember", + "name": "eternum::models::guild::Guild", "members": [ { - "name": "address", - "type": "core::starknet::contract_address::ContractAddress" + "name": "entity_id", + "type": "core::integer::u32" }, { - "name": "guild_entity_id", - "type": "core::integer::u32" + "name": "is_public", + "type": "core::bool" + }, + { + "name": "member_count", + "type": "core::integer::u16" } ] }, { "type": "interface", - "name": "eternum::models::guild::Iguild_member", + "name": "eternum::models::guild::Iguild", "items": [ { "type": "function", @@ -22665,7 +22481,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::guild::GuildMember" + "type": "eternum::models::guild::Guild" } ], "outputs": [], @@ -22675,14 +22491,14 @@ }, { "type": "event", - "name": "eternum::models::guild::guild_member::Event", + "name": "eternum::models::guild::guild::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-GuildMember", - "qualified_path": "eternum::models::guild::guild_member", - "manifest_name": "eternum-GuildMember-20ae0ece" + "tag": "eternum-Guild", + "qualified_path": "eternum::models::guild::guild", + "manifest_name": "eternum-Guild-22d294a4" }, { "kind": "DojoModel", @@ -22695,16 +22511,11 @@ { "name": "guild_entity_id", "type": "ID", - "key": true - }, - { - "name": "is_whitelisted", - "type": "bool", "key": false } ], - "class_hash": "0x2e25a336ed189f0829ae5258f1e1f5aff096d2062701866f14b708189f8d144", - "original_class_hash": "0x2e25a336ed189f0829ae5258f1e1f5aff096d2062701866f14b708189f8d144", + "class_hash": "0x6fbc5caca9b75c09da505e60d4328b66113193af74fb1c24e896dc691182eaf", + "original_class_hash": "0x6fbc5caca9b75c09da505e60d4328b66113193af74fb1c24e896dc691182eaf", "abi": [ { "type": "impl", @@ -23070,26 +22881,12 @@ }, { "type": "impl", - "name": "guild_whitelistImpl", - "interface_name": "eternum::models::guild::Iguild_whitelist" - }, - { - "type": "enum", - "name": "core::bool", - "variants": [ - { - "name": "False", - "type": "()" - }, - { - "name": "True", - "type": "()" - } - ] + "name": "guild_memberImpl", + "interface_name": "eternum::models::guild::Iguild_member" }, { "type": "struct", - "name": "eternum::models::guild::GuildWhitelist", + "name": "eternum::models::guild::GuildMember", "members": [ { "name": "address", @@ -23098,16 +22895,12 @@ { "name": "guild_entity_id", "type": "core::integer::u32" - }, - { - "name": "is_whitelisted", - "type": "core::bool" } ] }, { "type": "interface", - "name": "eternum::models::guild::Iguild_whitelist", + "name": "eternum::models::guild::Iguild_member", "items": [ { "type": "function", @@ -23115,7 +22908,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::guild::GuildWhitelist" + "type": "eternum::models::guild::GuildMember" } ], "outputs": [], @@ -23125,36 +22918,36 @@ }, { "type": "event", - "name": "eternum::models::guild::guild_whitelist::Event", + "name": "eternum::models::guild::guild_member::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-GuildWhitelist", - "qualified_path": "eternum::models::guild::guild_whitelist", - "manifest_name": "eternum-GuildWhitelist-54f9b15d" + "tag": "eternum-GuildMember", + "qualified_path": "eternum::models::guild::guild_member", + "manifest_name": "eternum-GuildMember-20ae0ece" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", - "type": "ID", + "name": "address", + "type": "ContractAddress", "key": true }, { - "name": "config_id", + "name": "guild_entity_id", "type": "ID", "key": true }, { - "name": "claimed", + "name": "is_whitelisted", "type": "bool", "key": false } ], - "class_hash": "0x3cb4e8e2d6bcd98f0d1bfbc7d8c06364033fde0dbba8ec1d459f10e8d63f79f", - "original_class_hash": "0x3cb4e8e2d6bcd98f0d1bfbc7d8c06364033fde0dbba8ec1d459f10e8d63f79f", + "class_hash": "0x2e25a336ed189f0829ae5258f1e1f5aff096d2062701866f14b708189f8d144", + "original_class_hash": "0x2e25a336ed189f0829ae5258f1e1f5aff096d2062701866f14b708189f8d144", "abi": [ { "type": "impl", @@ -23520,8 +23313,8 @@ }, { "type": "impl", - "name": "has_claimed_starting_resourcesImpl", - "interface_name": "eternum::models::config::Ihas_claimed_starting_resources" + "name": "guild_whitelistImpl", + "interface_name": "eternum::models::guild::Iguild_whitelist" }, { "type": "enum", @@ -23539,25 +23332,25 @@ }, { "type": "struct", - "name": "eternum::models::config::HasClaimedStartingResources", + "name": "eternum::models::guild::GuildWhitelist", "members": [ { - "name": "entity_id", - "type": "core::integer::u32" + "name": "address", + "type": "core::starknet::contract_address::ContractAddress" }, { - "name": "config_id", + "name": "guild_entity_id", "type": "core::integer::u32" }, { - "name": "claimed", + "name": "is_whitelisted", "type": "core::bool" } ] }, { "type": "interface", - "name": "eternum::models::config::Ihas_claimed_starting_resources", + "name": "eternum::models::guild::Iguild_whitelist", "items": [ { "type": "function", @@ -23565,7 +23358,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::HasClaimedStartingResources" + "type": "eternum::models::guild::GuildWhitelist" } ], "outputs": [], @@ -23575,14 +23368,14 @@ }, { "type": "event", - "name": "eternum::models::config::has_claimed_starting_resources::Event", + "name": "eternum::models::guild::guild_whitelist::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HasClaimedStartingResources", - "qualified_path": "eternum::models::config::has_claimed_starting_resources", - "manifest_name": "eternum-HasClaimedStartingResources-636eaec7" + "tag": "eternum-GuildWhitelist", + "qualified_path": "eternum::models::guild::guild_whitelist", + "manifest_name": "eternum-GuildWhitelist-54f9b15d" }, { "kind": "DojoModel", @@ -23593,18 +23386,18 @@ "key": true }, { - "name": "current", - "type": "u128", - "key": false + "name": "config_id", + "type": "ID", + "key": true }, { - "name": "lifetime", - "type": "u128", + "name": "claimed", + "type": "bool", "key": false } ], - "class_hash": "0x3e7f76d49fffd245b285f60d01890894ba559a4f873c379fa47aa3e48027cf5", - "original_class_hash": "0x3e7f76d49fffd245b285f60d01890894ba559a4f873c379fa47aa3e48027cf5", + "class_hash": "0x3cb4e8e2d6bcd98f0d1bfbc7d8c06364033fde0dbba8ec1d459f10e8d63f79f", + "original_class_hash": "0x3cb4e8e2d6bcd98f0d1bfbc7d8c06364033fde0dbba8ec1d459f10e8d63f79f", "abi": [ { "type": "impl", @@ -23970,30 +23763,44 @@ }, { "type": "impl", - "name": "healthImpl", - "interface_name": "eternum::models::combat::Ihealth" + "name": "has_claimed_starting_resourcesImpl", + "interface_name": "eternum::models::config::Ihas_claimed_starting_resources" + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] }, { "type": "struct", - "name": "eternum::models::combat::Health", + "name": "eternum::models::config::HasClaimedStartingResources", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "current", - "type": "core::integer::u128" + "name": "config_id", + "type": "core::integer::u32" }, { - "name": "lifetime", - "type": "core::integer::u128" + "name": "claimed", + "type": "core::bool" } ] }, { "type": "interface", - "name": "eternum::models::combat::Ihealth", + "name": "eternum::models::config::Ihas_claimed_starting_resources", "items": [ { "type": "function", @@ -24001,7 +23808,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::combat::Health" + "type": "eternum::models::config::HasClaimedStartingResources" } ], "outputs": [], @@ -24011,41 +23818,36 @@ }, { "type": "event", - "name": "eternum::models::combat::health::Event", + "name": "eternum::models::config::has_claimed_starting_resources::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Health", - "qualified_path": "eternum::models::combat::health", - "manifest_name": "eternum-Health-3bf465a5" + "tag": "eternum-HasClaimedStartingResources", + "qualified_path": "eternum::models::config::has_claimed_starting_resources", + "manifest_name": "eternum-HasClaimedStartingResources-636eaec7" }, { "kind": "DojoModel", "members": [ { - "name": "id", - "type": "ID", - "key": true - }, - { - "name": "hyperstructure_entity_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "co_owners", - "type": "Span<(ContractAddress, u16)>", + "name": "current", + "type": "u128", "key": false }, { - "name": "timestamp", - "type": "u64", + "name": "lifetime", + "type": "u128", "key": false } ], - "class_hash": "0x590aa9c91d3f0211072cdf79aed8466143db269f213d11d28cefb2ab22bcb6", - "original_class_hash": "0x590aa9c91d3f0211072cdf79aed8466143db269f213d11d28cefb2ab22bcb6", + "class_hash": "0x3e7f76d49fffd245b285f60d01890894ba559a4f873c379fa47aa3e48027cf5", + "original_class_hash": "0x3e7f76d49fffd245b285f60d01890894ba559a4f873c379fa47aa3e48027cf5", "abi": [ { "type": "impl", @@ -24411,44 +24213,30 @@ }, { "type": "impl", - "name": "hyperstructure_co_owners_changeImpl", - "interface_name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_co_owners_change" - }, - { - "type": "struct", - "name": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>", - "members": [ - { - "name": "snapshot", - "type": "@core::array::Array::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>" - } - ] + "name": "healthImpl", + "interface_name": "eternum::models::combat::Ihealth" }, { "type": "struct", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureCoOwnersChange", + "name": "eternum::models::combat::Health", "members": [ { - "name": "id", - "type": "core::integer::u32" - }, - { - "name": "hyperstructure_entity_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "co_owners", - "type": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>" + "name": "current", + "type": "core::integer::u128" }, { - "name": "timestamp", - "type": "core::integer::u64" + "name": "lifetime", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_co_owners_change", + "name": "eternum::models::combat::Ihealth", "items": [ { "type": "function", @@ -24456,7 +24244,7 @@ "inputs": [ { "name": "model", - "type": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureCoOwnersChange" + "type": "eternum::models::combat::Health" } ], "outputs": [], @@ -24466,31 +24254,41 @@ }, { "type": "event", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_co_owners_change::Event", + "name": "eternum::models::combat::health::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HyperstructureCoOwnersChange", - "qualified_path": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_co_owners_change", - "manifest_name": "eternum-HyperstructureCoOwnersChange-73c7a6d4" + "tag": "eternum-Health", + "qualified_path": "eternum::models::combat::health", + "manifest_name": "eternum-Health-3bf465a5" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "id", "type": "ID", "key": true }, { - "name": "time_between_shares_change", + "name": "hyperstructure_entity_id", + "type": "ID", + "key": true + }, + { + "name": "co_owners", + "type": "Span<(ContractAddress, u16)>", + "key": false + }, + { + "name": "timestamp", "type": "u64", "key": false } ], - "class_hash": "0x3d652949de690cd8a5c1ccc771f43608e266e901d0cb2b4d20d0a947ecdc73d", - "original_class_hash": "0x3d652949de690cd8a5c1ccc771f43608e266e901d0cb2b4d20d0a947ecdc73d", + "class_hash": "0x590aa9c91d3f0211072cdf79aed8466143db269f213d11d28cefb2ab22bcb6", + "original_class_hash": "0x590aa9c91d3f0211072cdf79aed8466143db269f213d11d28cefb2ab22bcb6", "abi": [ { "type": "impl", @@ -24856,26 +24654,44 @@ }, { "type": "impl", - "name": "hyperstructure_configImpl", - "interface_name": "eternum::models::config::Ihyperstructure_config" + "name": "hyperstructure_co_owners_changeImpl", + "interface_name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_co_owners_change" }, { "type": "struct", - "name": "eternum::models::config::HyperstructureConfig", + "name": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>", "members": [ { - "name": "config_id", + "name": "snapshot", + "type": "@core::array::Array::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>" + } + ] + }, + { + "type": "struct", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureCoOwnersChange", + "members": [ + { + "name": "id", "type": "core::integer::u32" }, { - "name": "time_between_shares_change", + "name": "hyperstructure_entity_id", + "type": "core::integer::u32" + }, + { + "name": "co_owners", + "type": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>" + }, + { + "name": "timestamp", "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::config::Ihyperstructure_config", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_co_owners_change", "items": [ { "type": "function", @@ -24883,7 +24699,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::HyperstructureConfig" + "type": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureCoOwnersChange" } ], "outputs": [], @@ -24893,46 +24709,31 @@ }, { "type": "event", - "name": "eternum::models::config::hyperstructure_config::Event", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_co_owners_change::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HyperstructureConfig", - "qualified_path": "eternum::models::config::hyperstructure_config", - "manifest_name": "eternum-HyperstructureConfig-4dbe3083" + "tag": "eternum-HyperstructureCoOwnersChange", + "qualified_path": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_co_owners_change", + "manifest_name": "eternum-HyperstructureCoOwnersChange-73c7a6d4" }, { "kind": "DojoModel", "members": [ { - "name": "id", - "type": "ID", - "key": true - }, - { - "name": "hyperstructure_entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "contributor_entity_id", - "type": "ID", - "key": false - }, - { - "name": "contributions", - "type": "Span<(u8, u128)>", - "key": false - }, - { - "name": "timestamp", + "name": "time_between_shares_change", "type": "u64", "key": false } ], - "class_hash": "0x2a63759152575e9a36473ace95c2a4407a060071a1a7f359436cfd8a1c5d779", - "original_class_hash": "0x2a63759152575e9a36473ace95c2a4407a060071a1a7f359436cfd8a1c5d779", + "class_hash": "0x3d652949de690cd8a5c1ccc771f43608e266e901d0cb2b4d20d0a947ecdc73d", + "original_class_hash": "0x3d652949de690cd8a5c1ccc771f43608e266e901d0cb2b4d20d0a947ecdc73d", "abi": [ { "type": "impl", @@ -25298,48 +25099,26 @@ }, { "type": "impl", - "name": "hyperstructure_contributionImpl", - "interface_name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_contribution" - }, - { - "type": "struct", - "name": "core::array::Span::<(core::integer::u8, core::integer::u128)>", - "members": [ - { - "name": "snapshot", - "type": "@core::array::Array::<(core::integer::u8, core::integer::u128)>" - } - ] + "name": "hyperstructure_configImpl", + "interface_name": "eternum::models::config::Ihyperstructure_config" }, { "type": "struct", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureContribution", + "name": "eternum::models::config::HyperstructureConfig", "members": [ { - "name": "id", - "type": "core::integer::u32" - }, - { - "name": "hyperstructure_entity_id", - "type": "core::integer::u32" - }, - { - "name": "contributor_entity_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "contributions", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" - }, - { - "name": "timestamp", + "name": "time_between_shares_change", "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_contribution", + "name": "eternum::models::config::Ihyperstructure_config", "items": [ { "type": "function", @@ -25347,7 +25126,7 @@ "inputs": [ { "name": "model", - "type": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureContribution" + "type": "eternum::models::config::HyperstructureConfig" } ], "outputs": [], @@ -25357,14 +25136,14 @@ }, { "type": "event", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_contribution::Event", + "name": "eternum::models::config::hyperstructure_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HyperstructureContribution", - "qualified_path": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_contribution", - "manifest_name": "eternum-HyperstructureContribution-3716a74e" + "tag": "eternum-HyperstructureConfig", + "qualified_path": "eternum::models::config::hyperstructure_config", + "manifest_name": "eternum-HyperstructureConfig-4dbe3083" }, { "kind": "DojoModel", @@ -25384,14 +25163,19 @@ "type": "ID", "key": false }, + { + "name": "contributions", + "type": "Span<(u8, u128)>", + "key": false + }, { "name": "timestamp", "type": "u64", "key": false } ], - "class_hash": "0x300f8ebbd1c764b0da865d21cd1af3719282fb55ecd9b4555af1e794e23048", - "original_class_hash": "0x300f8ebbd1c764b0da865d21cd1af3719282fb55ecd9b4555af1e794e23048", + "class_hash": "0x2a63759152575e9a36473ace95c2a4407a060071a1a7f359436cfd8a1c5d779", + "original_class_hash": "0x2a63759152575e9a36473ace95c2a4407a060071a1a7f359436cfd8a1c5d779", "abi": [ { "type": "impl", @@ -25757,12 +25541,22 @@ }, { "type": "impl", - "name": "hyperstructure_finishedImpl", - "interface_name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_finished" + "name": "hyperstructure_contributionImpl", + "interface_name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_contribution" }, { "type": "struct", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureFinished", + "name": "core::array::Span::<(core::integer::u8, core::integer::u128)>", + "members": [ + { + "name": "snapshot", + "type": "@core::array::Array::<(core::integer::u8, core::integer::u128)>" + } + ] + }, + { + "type": "struct", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureContribution", "members": [ { "name": "id", @@ -25776,6 +25570,10 @@ "name": "contributor_entity_id", "type": "core::integer::u32" }, + { + "name": "contributions", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" + }, { "name": "timestamp", "type": "core::integer::u64" @@ -25784,7 +25582,7 @@ }, { "type": "interface", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_finished", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_contribution", "items": [ { "type": "function", @@ -25792,7 +25590,7 @@ "inputs": [ { "name": "model", - "type": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureFinished" + "type": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureContribution" } ], "outputs": [], @@ -25802,36 +25600,41 @@ }, { "type": "event", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_finished::Event", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_contribution::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HyperstructureFinished", - "qualified_path": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_finished", - "manifest_name": "eternum-HyperstructureFinished-4b0440d5" + "tag": "eternum-HyperstructureContribution", + "qualified_path": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_contribution", + "manifest_name": "eternum-HyperstructureContribution-3716a74e" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "id", "type": "ID", "key": true }, { - "name": "resource_type", - "type": "u8", + "name": "hyperstructure_entity_id", + "type": "ID", "key": true }, { - "name": "amount_for_completion", - "type": "u128", + "name": "contributor_entity_id", + "type": "ID", + "key": false + }, + { + "name": "timestamp", + "type": "u64", "key": false } ], - "class_hash": "0x3c386d7cfcd041771f3c6d33090470f44544c144d991db506a19030e5ea3e05", - "original_class_hash": "0x3c386d7cfcd041771f3c6d33090470f44544c144d991db506a19030e5ea3e05", + "class_hash": "0x300f8ebbd1c764b0da865d21cd1af3719282fb55ecd9b4555af1e794e23048", + "original_class_hash": "0x300f8ebbd1c764b0da865d21cd1af3719282fb55ecd9b4555af1e794e23048", "abi": [ { "type": "impl", @@ -26197,30 +26000,34 @@ }, { "type": "impl", - "name": "hyperstructure_resource_configImpl", - "interface_name": "eternum::models::config::Ihyperstructure_resource_config" + "name": "hyperstructure_finishedImpl", + "interface_name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_finished" }, { "type": "struct", - "name": "eternum::models::config::HyperstructureResourceConfig", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureFinished", "members": [ { - "name": "config_id", + "name": "id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" + "name": "hyperstructure_entity_id", + "type": "core::integer::u32" }, { - "name": "amount_for_completion", - "type": "core::integer::u128" + "name": "contributor_entity_id", + "type": "core::integer::u32" + }, + { + "name": "timestamp", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::config::Ihyperstructure_resource_config", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_finished", "items": [ { "type": "function", @@ -26228,7 +26035,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::HyperstructureResourceConfig" + "type": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureFinished" } ], "outputs": [], @@ -26238,36 +26045,36 @@ }, { "type": "event", - "name": "eternum::models::config::hyperstructure_resource_config::Event", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_finished::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HyperstructureResourceConfig", - "qualified_path": "eternum::models::config::hyperstructure_resource_config", - "manifest_name": "eternum-HyperstructureResourceConfig-34106fab" + "tag": "eternum-HyperstructureFinished", + "qualified_path": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_finished", + "manifest_name": "eternum-HyperstructureFinished-4b0440d5" }, { "kind": "DojoModel", "members": [ { - "name": "hyperstructure_entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "last_updated_timestamp", - "type": "u64", - "key": false + "name": "resource_type", + "type": "u8", + "key": true }, { - "name": "last_updated_by", - "type": "ContractAddress", + "name": "amount_for_completion", + "type": "u128", "key": false } ], - "class_hash": "0x4e65c6d4cd616d04441980af72f0eebf87edf0eae22911869bfd08510637539", - "original_class_hash": "0x4e65c6d4cd616d04441980af72f0eebf87edf0eae22911869bfd08510637539", + "class_hash": "0x3c386d7cfcd041771f3c6d33090470f44544c144d991db506a19030e5ea3e05", + "original_class_hash": "0x3c386d7cfcd041771f3c6d33090470f44544c144d991db506a19030e5ea3e05", "abi": [ { "type": "impl", @@ -26633,30 +26440,30 @@ }, { "type": "impl", - "name": "hyperstructure_updateImpl", - "interface_name": "eternum::models::hyperstructure::Ihyperstructure_update" + "name": "hyperstructure_resource_configImpl", + "interface_name": "eternum::models::config::Ihyperstructure_resource_config" }, { "type": "struct", - "name": "eternum::models::hyperstructure::HyperstructureUpdate", + "name": "eternum::models::config::HyperstructureResourceConfig", "members": [ { - "name": "hyperstructure_entity_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "last_updated_timestamp", - "type": "core::integer::u64" + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "last_updated_by", - "type": "core::starknet::contract_address::ContractAddress" + "name": "amount_for_completion", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::hyperstructure::Ihyperstructure_update", + "name": "eternum::models::config::Ihyperstructure_resource_config", "items": [ { "type": "function", @@ -26664,7 +26471,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::hyperstructure::HyperstructureUpdate" + "type": "eternum::models::config::HyperstructureResourceConfig" } ], "outputs": [], @@ -26674,36 +26481,36 @@ }, { "type": "event", - "name": "eternum::models::hyperstructure::hyperstructure_update::Event", + "name": "eternum::models::config::hyperstructure_resource_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HyperstructureUpdate", - "qualified_path": "eternum::models::hyperstructure::hyperstructure_update", - "manifest_name": "eternum-HyperstructureUpdate-7602bcc6" + "tag": "eternum-HyperstructureResourceConfig", + "qualified_path": "eternum::models::config::hyperstructure_resource_config", + "manifest_name": "eternum-HyperstructureResourceConfig-34106fab" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "hyperstructure_entity_id", "type": "ID", "key": true }, { - "name": "level", + "name": "last_updated_timestamp", "type": "u64", "key": false }, { - "name": "valid_until", - "type": "u64", + "name": "last_updated_by", + "type": "ContractAddress", "key": false } ], - "class_hash": "0x5c3197bdbd2938b015f89cbfe0c6c95a8ea5f3d85eb092e8b0531715841f35d", - "original_class_hash": "0x5c3197bdbd2938b015f89cbfe0c6c95a8ea5f3d85eb092e8b0531715841f35d", + "class_hash": "0x4e65c6d4cd616d04441980af72f0eebf87edf0eae22911869bfd08510637539", + "original_class_hash": "0x4e65c6d4cd616d04441980af72f0eebf87edf0eae22911869bfd08510637539", "abi": [ { "type": "impl", @@ -27069,30 +26876,30 @@ }, { "type": "impl", - "name": "levelImpl", - "interface_name": "eternum::models::level::Ilevel" + "name": "hyperstructure_updateImpl", + "interface_name": "eternum::models::hyperstructure::Ihyperstructure_update" }, { "type": "struct", - "name": "eternum::models::level::Level", + "name": "eternum::models::hyperstructure::HyperstructureUpdate", "members": [ { - "name": "entity_id", + "name": "hyperstructure_entity_id", "type": "core::integer::u32" }, { - "name": "level", + "name": "last_updated_timestamp", "type": "core::integer::u64" }, { - "name": "valid_until", - "type": "core::integer::u64" + "name": "last_updated_by", + "type": "core::starknet::contract_address::ContractAddress" } ] }, { "type": "interface", - "name": "eternum::models::level::Ilevel", + "name": "eternum::models::hyperstructure::Ihyperstructure_update", "items": [ { "type": "function", @@ -27100,7 +26907,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::level::Level" + "type": "eternum::models::hyperstructure::HyperstructureUpdate" } ], "outputs": [], @@ -27110,91 +26917,36 @@ }, { "type": "event", - "name": "eternum::models::level::level::Event", + "name": "eternum::models::hyperstructure::hyperstructure_update::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Level", - "qualified_path": "eternum::models::level::level", - "manifest_name": "eternum-Level-12edd20f" + "tag": "eternum-HyperstructureUpdate", + "qualified_path": "eternum::models::hyperstructure::hyperstructure_update", + "manifest_name": "eternum-HyperstructureUpdate-7602bcc6" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "decay_interval", + "name": "level", "type": "u64", "key": false }, { - "name": "max_level", + "name": "valid_until", "type": "u64", "key": false - }, - { - "name": "decay_scaled", - "type": "u128", - "key": false - }, - { - "name": "cost_percentage_scaled", - "type": "u128", - "key": false - }, - { - "name": "base_multiplier", - "type": "u128", - "key": false - }, - { - "name": "wheat_base_amount", - "type": "u128", - "key": false - }, - { - "name": "fish_base_amount", - "type": "u128", - "key": false - }, - { - "name": "resource_1_cost_id", - "type": "ID", - "key": false - }, - { - "name": "resource_1_cost_count", - "type": "u32", - "key": false - }, - { - "name": "resource_2_cost_id", - "type": "ID", - "key": false - }, - { - "name": "resource_2_cost_count", - "type": "u32", - "key": false - }, - { - "name": "resource_3_cost_id", - "type": "ID", - "key": false - }, - { - "name": "resource_3_cost_count", - "type": "u32", - "key": false } ], - "class_hash": "0x445564fbb2d245eb339ace1dc691215f63de43fb79c8b3b1d205e9a2478200c", - "original_class_hash": "0x445564fbb2d245eb339ace1dc691215f63de43fb79c8b3b1d205e9a2478200c", + "class_hash": "0x5c3197bdbd2938b015f89cbfe0c6c95a8ea5f3d85eb092e8b0531715841f35d", + "original_class_hash": "0x5c3197bdbd2938b015f89cbfe0c6c95a8ea5f3d85eb092e8b0531715841f35d", "abi": [ { "type": "impl", @@ -27560,74 +27312,30 @@ }, { "type": "impl", - "name": "leveling_configImpl", - "interface_name": "eternum::models::config::Ileveling_config" + "name": "levelImpl", + "interface_name": "eternum::models::level::Ilevel" }, { "type": "struct", - "name": "eternum::models::config::LevelingConfig", + "name": "eternum::models::level::Level", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "decay_interval", + "name": "level", "type": "core::integer::u64" }, { - "name": "max_level", + "name": "valid_until", "type": "core::integer::u64" - }, - { - "name": "decay_scaled", - "type": "core::integer::u128" - }, - { - "name": "cost_percentage_scaled", - "type": "core::integer::u128" - }, - { - "name": "base_multiplier", - "type": "core::integer::u128" - }, - { - "name": "wheat_base_amount", - "type": "core::integer::u128" - }, - { - "name": "fish_base_amount", - "type": "core::integer::u128" - }, - { - "name": "resource_1_cost_id", - "type": "core::integer::u32" - }, - { - "name": "resource_1_cost_count", - "type": "core::integer::u32" - }, - { - "name": "resource_2_cost_id", - "type": "core::integer::u32" - }, - { - "name": "resource_2_cost_count", - "type": "core::integer::u32" - }, - { - "name": "resource_3_cost_id", - "type": "core::integer::u32" - }, - { - "name": "resource_3_cost_count", - "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::config::Ileveling_config", + "name": "eternum::models::level::Ilevel", "items": [ { "type": "function", @@ -27635,7 +27343,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::LevelingConfig" + "type": "eternum::models::level::Level" } ], "outputs": [], @@ -27645,41 +27353,91 @@ }, { "type": "event", - "name": "eternum::models::config::leveling_config::Event", + "name": "eternum::models::level::level::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-LevelingConfig", - "qualified_path": "eternum::models::config::leveling_config", - "manifest_name": "eternum-LevelingConfig-1c0257fd" + "tag": "eternum-Level", + "qualified_path": "eternum::models::level::level", + "manifest_name": "eternum-Level-12edd20f" }, { "kind": "DojoModel", "members": [ { - "name": "bank_entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "player", - "type": "ContractAddress", - "key": true + "name": "decay_interval", + "type": "u64", + "key": false }, { - "name": "resource_type", - "type": "u8", - "key": true + "name": "max_level", + "type": "u64", + "key": false }, { - "name": "shares", - "type": "Fixed", + "name": "decay_scaled", + "type": "u128", + "key": false + }, + { + "name": "cost_percentage_scaled", + "type": "u128", + "key": false + }, + { + "name": "base_multiplier", + "type": "u128", + "key": false + }, + { + "name": "wheat_base_amount", + "type": "u128", + "key": false + }, + { + "name": "fish_base_amount", + "type": "u128", + "key": false + }, + { + "name": "resource_1_cost_id", + "type": "ID", + "key": false + }, + { + "name": "resource_1_cost_count", + "type": "u32", + "key": false + }, + { + "name": "resource_2_cost_id", + "type": "ID", + "key": false + }, + { + "name": "resource_2_cost_count", + "type": "u32", + "key": false + }, + { + "name": "resource_3_cost_id", + "type": "ID", + "key": false + }, + { + "name": "resource_3_cost_count", + "type": "u32", "key": false } ], - "class_hash": "0x1c4c49a0cf675da5af2cc8b4899310af3378e78795bffac77c6650050368ba4", - "original_class_hash": "0x1c4c49a0cf675da5af2cc8b4899310af3378e78795bffac77c6650050368ba4", + "class_hash": "0x445564fbb2d245eb339ace1dc691215f63de43fb79c8b3b1d205e9a2478200c", + "original_class_hash": "0x445564fbb2d245eb339ace1dc691215f63de43fb79c8b3b1d205e9a2478200c", "abi": [ { "type": "impl", @@ -28045,62 +27803,74 @@ }, { "type": "impl", - "name": "liquidityImpl", - "interface_name": "eternum::models::bank::liquidity::Iliquidity" + "name": "leveling_configImpl", + "interface_name": "eternum::models::config::Ileveling_config" }, { - "type": "enum", - "name": "core::bool", - "variants": [ + "type": "struct", + "name": "eternum::models::config::LevelingConfig", + "members": [ { - "name": "False", - "type": "()" + "name": "config_id", + "type": "core::integer::u32" }, { - "name": "True", - "type": "()" - } - ] - }, - { - "type": "struct", - "name": "cubit::f128::types::fixed::Fixed", - "members": [ + "name": "decay_interval", + "type": "core::integer::u64" + }, { - "name": "mag", + "name": "max_level", + "type": "core::integer::u64" + }, + { + "name": "decay_scaled", "type": "core::integer::u128" }, { - "name": "sign", - "type": "core::bool" - } - ] - }, - { - "type": "struct", - "name": "eternum::models::bank::liquidity::Liquidity", - "members": [ + "name": "cost_percentage_scaled", + "type": "core::integer::u128" + }, { - "name": "bank_entity_id", + "name": "base_multiplier", + "type": "core::integer::u128" + }, + { + "name": "wheat_base_amount", + "type": "core::integer::u128" + }, + { + "name": "fish_base_amount", + "type": "core::integer::u128" + }, + { + "name": "resource_1_cost_id", "type": "core::integer::u32" }, { - "name": "player", - "type": "core::starknet::contract_address::ContractAddress" + "name": "resource_1_cost_count", + "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" + "name": "resource_2_cost_id", + "type": "core::integer::u32" }, { - "name": "shares", - "type": "cubit::f128::types::fixed::Fixed" + "name": "resource_2_cost_count", + "type": "core::integer::u32" + }, + { + "name": "resource_3_cost_id", + "type": "core::integer::u32" + }, + { + "name": "resource_3_cost_count", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::bank::liquidity::Iliquidity", + "name": "eternum::models::config::Ileveling_config", "items": [ { "type": "function", @@ -28108,7 +27878,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::bank::liquidity::Liquidity" + "type": "eternum::models::config::LevelingConfig" } ], "outputs": [], @@ -28118,14 +27888,14 @@ }, { "type": "event", - "name": "eternum::models::bank::liquidity::liquidity::Event", + "name": "eternum::models::config::leveling_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Liquidity", - "qualified_path": "eternum::models::bank::liquidity::liquidity", - "manifest_name": "eternum-Liquidity-6c6683f5" + "tag": "eternum-LevelingConfig", + "qualified_path": "eternum::models::config::leveling_config", + "manifest_name": "eternum-LevelingConfig-1c0257fd" }, { "kind": "DojoModel", @@ -28136,43 +27906,23 @@ "key": true }, { - "name": "entity_id", - "type": "ID", + "name": "player", + "type": "ContractAddress", "key": true }, { "name": "resource_type", "type": "u8", - "key": false - }, - { - "name": "lords_amount", - "type": "u128", - "key": false - }, - { - "name": "resource_amount", - "type": "u128", - "key": false - }, - { - "name": "resource_price", - "type": "u128", - "key": false - }, - { - "name": "add", - "type": "bool", - "key": false + "key": true }, { - "name": "timestamp", - "type": "u64", + "name": "shares", + "type": "Fixed", "key": false } ], - "class_hash": "0x717194503940a76fac5e90aedd77cbd8cbd2f9fc15fdd9bb5cf1808a413eb8f", - "original_class_hash": "0x717194503940a76fac5e90aedd77cbd8cbd2f9fc15fdd9bb5cf1808a413eb8f", + "class_hash": "0x1c4c49a0cf675da5af2cc8b4899310af3378e78795bffac77c6650050368ba4", + "original_class_hash": "0x1c4c49a0cf675da5af2cc8b4899310af3378e78795bffac77c6650050368ba4", "abi": [ { "type": "impl", @@ -28538,8 +28288,8 @@ }, { "type": "impl", - "name": "liquidity_eventImpl", - "interface_name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::Iliquidity_event" + "name": "liquidityImpl", + "interface_name": "eternum::models::bank::liquidity::Iliquidity" }, { "type": "enum", @@ -28557,45 +28307,43 @@ }, { "type": "struct", - "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::LiquidityEvent", + "name": "cubit::f128::types::fixed::Fixed", + "members": [ + { + "name": "mag", + "type": "core::integer::u128" + }, + { + "name": "sign", + "type": "core::bool" + } + ] + }, + { + "type": "struct", + "name": "eternum::models::bank::liquidity::Liquidity", "members": [ { "name": "bank_entity_id", "type": "core::integer::u32" }, { - "name": "entity_id", - "type": "core::integer::u32" + "name": "player", + "type": "core::starknet::contract_address::ContractAddress" }, { "name": "resource_type", "type": "core::integer::u8" }, { - "name": "lords_amount", - "type": "core::integer::u128" - }, - { - "name": "resource_amount", - "type": "core::integer::u128" - }, - { - "name": "resource_price", - "type": "core::integer::u128" - }, - { - "name": "add", - "type": "core::bool" - }, - { - "name": "timestamp", - "type": "core::integer::u64" + "name": "shares", + "type": "cubit::f128::types::fixed::Fixed" } ] }, { "type": "interface", - "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::Iliquidity_event", + "name": "eternum::models::bank::liquidity::Iliquidity", "items": [ { "type": "function", @@ -28603,7 +28351,7 @@ "inputs": [ { "name": "model", - "type": "eternum::systems::bank::contracts::liquidity::liquidity_systems::LiquidityEvent" + "type": "eternum::models::bank::liquidity::Liquidity" } ], "outputs": [], @@ -28613,46 +28361,61 @@ }, { "type": "event", - "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::liquidity_event::Event", + "name": "eternum::models::bank::liquidity::liquidity::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-LiquidityEvent", - "qualified_path": "eternum::systems::bank::contracts::liquidity::liquidity_systems::liquidity_event", - "manifest_name": "eternum-LiquidityEvent-2811e183" + "tag": "eternum-Liquidity", + "qualified_path": "eternum::models::bank::liquidity::liquidity", + "manifest_name": "eternum-Liquidity-6c6683f5" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "bank_entity_id", "type": "ID", "key": true }, { - "name": "wheat_burn_amount", - "type": "u128", + "name": "entity_id", + "type": "ID", + "key": true + }, + { + "name": "resource_type", + "type": "u8", "key": false }, { - "name": "fish_burn_amount", + "name": "lords_amount", "type": "u128", "key": false }, { - "name": "reward_resource_amount", + "name": "resource_amount", "type": "u128", "key": false }, { - "name": "shards_mines_fail_probability", + "name": "resource_price", "type": "u128", "key": false + }, + { + "name": "add", + "type": "bool", + "key": false + }, + { + "name": "timestamp", + "type": "u64", + "key": false } ], - "class_hash": "0x45509d54e6cd775df6403ebd516a03a3fe1a991ef142f4e1095d0189d8846df", - "original_class_hash": "0x45509d54e6cd775df6403ebd516a03a3fe1a991ef142f4e1095d0189d8846df", + "class_hash": "0x717194503940a76fac5e90aedd77cbd8cbd2f9fc15fdd9bb5cf1808a413eb8f", + "original_class_hash": "0x717194503940a76fac5e90aedd77cbd8cbd2f9fc15fdd9bb5cf1808a413eb8f", "abi": [ { "type": "impl", @@ -29018,38 +28781,64 @@ }, { "type": "impl", - "name": "map_explore_configImpl", - "interface_name": "eternum::models::config::Imap_explore_config" + "name": "liquidity_eventImpl", + "interface_name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::Iliquidity_event" + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] }, { "type": "struct", - "name": "eternum::models::config::MapExploreConfig", + "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::LiquidityEvent", "members": [ { - "name": "config_id", + "name": "bank_entity_id", "type": "core::integer::u32" }, { - "name": "wheat_burn_amount", - "type": "core::integer::u128" + "name": "entity_id", + "type": "core::integer::u32" + }, + { + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "fish_burn_amount", + "name": "lords_amount", "type": "core::integer::u128" }, { - "name": "reward_resource_amount", + "name": "resource_amount", "type": "core::integer::u128" }, { - "name": "shards_mines_fail_probability", + "name": "resource_price", "type": "core::integer::u128" + }, + { + "name": "add", + "type": "core::bool" + }, + { + "name": "timestamp", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::config::Imap_explore_config", + "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::Iliquidity_event", "items": [ { "type": "function", @@ -29057,7 +28846,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::MapExploreConfig" + "type": "eternum::systems::bank::contracts::liquidity::liquidity_systems::LiquidityEvent" } ], "outputs": [], @@ -29067,61 +28856,56 @@ }, { "type": "event", - "name": "eternum::models::config::map_explore_config::Event", + "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::liquidity_event::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-MapExploreConfig", - "qualified_path": "eternum::models::config::map_explore_config", - "manifest_name": "eternum-MapExploreConfig-58fbbfce" + "tag": "eternum-LiquidityEvent", + "qualified_path": "eternum::systems::bank::contracts::liquidity::liquidity_systems::liquidity_event", + "manifest_name": "eternum-LiquidityEvent-2811e183" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "col", - "type": "u32", - "key": true - }, - { - "name": "row", - "type": "u32", - "key": true + "name": "explore_wheat_burn_amount", + "type": "u128", + "key": false }, { - "name": "id", - "type": "ID", - "key": true + "name": "explore_fish_burn_amount", + "type": "u128", + "key": false }, { - "name": "entity_owner_id", - "type": "ID", + "name": "travel_wheat_burn_amount", + "type": "u128", "key": false }, { - "name": "biome", - "type": "Biome", + "name": "travel_fish_burn_amount", + "type": "u128", "key": false }, { - "name": "reward", - "type": "Span<(u8, u128)>", + "name": "reward_resource_amount", + "type": "u128", "key": false }, { - "name": "timestamp", - "type": "u64", + "name": "shards_mines_fail_probability", + "type": "u128", "key": false } ], - "class_hash": "0x77f0363c47bc3050398d2b3d829a6c94fa4c0b4da994c61e0870b0d62858f46", - "original_class_hash": "0x77f0363c47bc3050398d2b3d829a6c94fa4c0b4da994c61e0870b0d62858f46", + "class_hash": "0x29ee2bd434725ae40b576898f32182d79f00f4fef6a8c34982fbd60949e7d08", + "original_class_hash": "0x29ee2bd434725ae40b576898f32182d79f00f4fef6a8c34982fbd60949e7d08", "abi": [ { "type": "impl", @@ -29487,130 +29271,46 @@ }, { "type": "impl", - "name": "map_exploredImpl", - "interface_name": "eternum::systems::map::contracts::map_systems::Imap_explored" - }, - { - "type": "enum", - "name": "eternum::utils::map::biomes::Biome", - "variants": [ - { - "name": "DeepOcean", - "type": "()" - }, - { - "name": "Ocean", - "type": "()" - }, - { - "name": "Beach", - "type": "()" - }, - { - "name": "Scorched", - "type": "()" - }, - { - "name": "Bare", - "type": "()" - }, - { - "name": "Tundra", - "type": "()" - }, - { - "name": "Snow", - "type": "()" - }, - { - "name": "TemperateDesert", - "type": "()" - }, - { - "name": "Shrubland", - "type": "()" - }, - { - "name": "Taiga", - "type": "()" - }, - { - "name": "Grassland", - "type": "()" - }, - { - "name": "TemperateDeciduousForest", - "type": "()" - }, - { - "name": "TemperateRainForest", - "type": "()" - }, - { - "name": "SubtropicalDesert", - "type": "()" - }, - { - "name": "TropicalSeasonalForest", - "type": "()" - }, - { - "name": "TropicalRainForest", - "type": "()" - } - ] - }, - { - "type": "struct", - "name": "core::array::Span::<(core::integer::u8, core::integer::u128)>", - "members": [ - { - "name": "snapshot", - "type": "@core::array::Array::<(core::integer::u8, core::integer::u128)>" - } - ] + "name": "map_configImpl", + "interface_name": "eternum::models::config::Imap_config" }, { "type": "struct", - "name": "eternum::systems::map::contracts::map_systems::MapExplored", + "name": "eternum::models::config::MapConfig", "members": [ { - "name": "entity_id", - "type": "core::integer::u32" - }, - { - "name": "col", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "row", - "type": "core::integer::u32" + "name": "explore_wheat_burn_amount", + "type": "core::integer::u128" }, { - "name": "id", - "type": "core::integer::u32" + "name": "explore_fish_burn_amount", + "type": "core::integer::u128" }, { - "name": "entity_owner_id", - "type": "core::integer::u32" + "name": "travel_wheat_burn_amount", + "type": "core::integer::u128" }, { - "name": "biome", - "type": "eternum::utils::map::biomes::Biome" + "name": "travel_fish_burn_amount", + "type": "core::integer::u128" }, { - "name": "reward", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" + "name": "reward_resource_amount", + "type": "core::integer::u128" }, { - "name": "timestamp", - "type": "core::integer::u64" + "name": "shards_mines_fail_probability", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::systems::map::contracts::map_systems::Imap_explored", + "name": "eternum::models::config::Imap_config", "items": [ { "type": "function", @@ -29618,7 +29318,7 @@ "inputs": [ { "name": "model", - "type": "eternum::systems::map::contracts::map_systems::MapExplored" + "type": "eternum::models::config::MapConfig" } ], "outputs": [], @@ -29628,46 +29328,61 @@ }, { "type": "event", - "name": "eternum::systems::map::contracts::map_systems::map_explored::Event", + "name": "eternum::models::config::map_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-MapExplored", - "qualified_path": "eternum::systems::map::contracts::map_systems::map_explored", - "manifest_name": "eternum-MapExplored-53a86a9a" + "tag": "eternum-MapConfig", + "qualified_path": "eternum::models::config::map_config", + "manifest_name": "eternum-MapConfig-369135d8" }, { "kind": "DojoModel", "members": [ { - "name": "bank_entity_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "resource_type", - "type": "u8", + "name": "col", + "type": "u32", "key": true }, { - "name": "lords_amount", - "type": "u128", + "name": "row", + "type": "u32", + "key": true + }, + { + "name": "id", + "type": "ID", + "key": true + }, + { + "name": "entity_owner_id", + "type": "ID", "key": false }, { - "name": "resource_amount", - "type": "u128", + "name": "biome", + "type": "Biome", "key": false }, { - "name": "total_shares", - "type": "Fixed", + "name": "reward", + "type": "Span<(u8, u128)>", + "key": false + }, + { + "name": "timestamp", + "type": "u64", "key": false } ], - "class_hash": "0x12c9607184b30c61c0de0112cbe53326381cf522612566b3e32903aa507b888", - "original_class_hash": "0x12c9607184b30c61c0de0112cbe53326381cf522612566b3e32903aa507b888", + "class_hash": "0x77f0363c47bc3050398d2b3d829a6c94fa4c0b4da994c61e0870b0d62858f46", + "original_class_hash": "0x77f0363c47bc3050398d2b3d829a6c94fa4c0b4da994c61e0870b0d62858f46", "abi": [ { "type": "impl", @@ -30033,66 +29748,130 @@ }, { "type": "impl", - "name": "marketImpl", - "interface_name": "eternum::models::bank::market::Imarket" + "name": "map_exploredImpl", + "interface_name": "eternum::systems::map::contracts::map_systems::Imap_explored" }, { "type": "enum", - "name": "core::bool", + "name": "eternum::utils::map::biomes::Biome", "variants": [ { - "name": "False", + "name": "DeepOcean", "type": "()" }, { - "name": "True", + "name": "Ocean", + "type": "()" + }, + { + "name": "Beach", + "type": "()" + }, + { + "name": "Scorched", + "type": "()" + }, + { + "name": "Bare", + "type": "()" + }, + { + "name": "Tundra", + "type": "()" + }, + { + "name": "Snow", + "type": "()" + }, + { + "name": "TemperateDesert", + "type": "()" + }, + { + "name": "Shrubland", + "type": "()" + }, + { + "name": "Taiga", + "type": "()" + }, + { + "name": "Grassland", + "type": "()" + }, + { + "name": "TemperateDeciduousForest", + "type": "()" + }, + { + "name": "TemperateRainForest", + "type": "()" + }, + { + "name": "SubtropicalDesert", + "type": "()" + }, + { + "name": "TropicalSeasonalForest", + "type": "()" + }, + { + "name": "TropicalRainForest", "type": "()" } ] }, { "type": "struct", - "name": "cubit::f128::types::fixed::Fixed", + "name": "core::array::Span::<(core::integer::u8, core::integer::u128)>", "members": [ { - "name": "mag", - "type": "core::integer::u128" - }, - { - "name": "sign", - "type": "core::bool" + "name": "snapshot", + "type": "@core::array::Array::<(core::integer::u8, core::integer::u128)>" } ] }, { "type": "struct", - "name": "eternum::models::bank::market::Market", + "name": "eternum::systems::map::contracts::map_systems::MapExplored", "members": [ { - "name": "bank_entity_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" + "name": "col", + "type": "core::integer::u32" }, { - "name": "lords_amount", - "type": "core::integer::u128" + "name": "row", + "type": "core::integer::u32" }, { - "name": "resource_amount", - "type": "core::integer::u128" + "name": "id", + "type": "core::integer::u32" }, { - "name": "total_shares", - "type": "cubit::f128::types::fixed::Fixed" + "name": "entity_owner_id", + "type": "core::integer::u32" + }, + { + "name": "biome", + "type": "eternum::utils::map::biomes::Biome" + }, + { + "name": "reward", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" + }, + { + "name": "timestamp", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::bank::market::Imarket", + "name": "eternum::systems::map::contracts::map_systems::Imap_explored", "items": [ { "type": "function", @@ -30100,7 +29879,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::bank::market::Market" + "type": "eternum::systems::map::contracts::map_systems::MapExplored" } ], "outputs": [], @@ -30110,36 +29889,46 @@ }, { "type": "event", - "name": "eternum::models::bank::market::market::Event", + "name": "eternum::systems::map::contracts::map_systems::map_explored::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Market", - "qualified_path": "eternum::models::bank::market::market", - "manifest_name": "eternum-Market-6dd46062" + "tag": "eternum-MapExplored", + "qualified_path": "eternum::systems::map::contracts::map_systems::map_explored", + "manifest_name": "eternum-MapExplored-53a86a9a" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "bank_entity_id", "type": "ID", "key": true }, { - "name": "troops", - "type": "Troops", + "name": "resource_type", + "type": "u8", + "key": true + }, + { + "name": "lords_amount", + "type": "u128", "key": false }, { - "name": "rewards", - "type": "Span<(u8, u128)>", + "name": "resource_amount", + "type": "u128", + "key": false + }, + { + "name": "total_shares", + "type": "Fixed", "key": false } ], - "class_hash": "0x182c4a5ea3b8ff80e27dbb7460c584f18c7b13dccb4f35146497cbb76d9ef5", - "original_class_hash": "0x182c4a5ea3b8ff80e27dbb7460c584f18c7b13dccb4f35146497cbb76d9ef5", + "class_hash": "0x12c9607184b30c61c0de0112cbe53326381cf522612566b3e32903aa507b888", + "original_class_hash": "0x12c9607184b30c61c0de0112cbe53326381cf522612566b3e32903aa507b888", "abi": [ { "type": "impl", @@ -30505,503 +30294,66 @@ }, { "type": "impl", - "name": "mercenaries_configImpl", - "interface_name": "eternum::models::config::Imercenaries_config" - }, - { - "type": "struct", - "name": "eternum::models::combat::Troops", - "members": [ - { - "name": "knight_count", - "type": "core::integer::u64" - }, - { - "name": "paladin_count", - "type": "core::integer::u64" - }, - { - "name": "crossbowman_count", - "type": "core::integer::u64" - } - ] - }, - { - "type": "struct", - "name": "core::array::Span::<(core::integer::u8, core::integer::u128)>", - "members": [ - { - "name": "snapshot", - "type": "@core::array::Array::<(core::integer::u8, core::integer::u128)>" - } - ] - }, - { - "type": "struct", - "name": "eternum::models::config::MercenariesConfig", - "members": [ - { - "name": "config_id", - "type": "core::integer::u32" - }, - { - "name": "troops", - "type": "eternum::models::combat::Troops" - }, - { - "name": "rewards", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" - } - ] - }, - { - "type": "interface", - "name": "eternum::models::config::Imercenaries_config", - "items": [ - { - "type": "function", - "name": "ensure_abi", - "inputs": [ - { - "name": "model", - "type": "eternum::models::config::MercenariesConfig" - } - ], - "outputs": [], - "state_mutability": "view" - } - ] - }, - { - "type": "event", - "name": "eternum::models::config::mercenaries_config::Event", - "kind": "enum", - "variants": [] - } - ], - "tag": "eternum-MercenariesConfig", - "qualified_path": "eternum::models::config::mercenaries_config", - "manifest_name": "eternum-MercenariesConfig-4c7248d4" - }, - { - "kind": "DojoModel", - "members": [ - { - "name": "identity", - "type": "ContractAddress", - "key": true - }, - { - "name": "channel", - "type": "felt252", - "key": true - }, - { - "name": "content", - "type": "ByteArray", - "key": false - }, - { - "name": "salt", - "type": "felt252", - "key": true - } - ], - "class_hash": "0x64e28daa625d93984ba81abf967265463bc04730d79aade3c3c50cf9587bb44", - "original_class_hash": "0x64e28daa625d93984ba81abf967265463bc04730d79aade3c3c50cf9587bb44", - "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" - } - ] + "name": "marketImpl", + "interface_name": "eternum::models::bank::market::Imarket" }, { "type": "enum", - "name": "core::option::Option::", + "name": "core::bool", "variants": [ { - "name": "Some", - "type": "core::integer::u32" - }, - { - "name": "None", + "name": "False", "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", + "name": "True", "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", + "name": "cubit::f128::types::fixed::Fixed", "members": [ { - "name": "name", - "type": "core::felt252" - }, - { - "name": "attrs", - "type": "core::array::Span::" + "name": "mag", + "type": "core::integer::u128" }, { - "name": "children", - "type": "core::array::Span::<(core::felt252, dojo::model::introspect::Ty)>" + "name": "sign", + "type": "core::bool" } ] }, { "type": "struct", - "name": "core::array::Span::", + "name": "eternum::models::bank::market::Market", "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" + "name": "bank_entity_id", + "type": "core::integer::u32" }, { - "type": "function", - "name": "schema", - "inputs": [], - "outputs": [ - { - "type": "dojo::model::introspect::Ty" - } - ], - "state_mutability": "view" - } - ] - }, - { - "type": "impl", - "name": "messageImpl", - "interface_name": "eternum::models::message::Imessage" - }, - { - "type": "struct", - "name": "eternum::models::message::Message", - "members": [ - { - "name": "identity", - "type": "core::starknet::contract_address::ContractAddress" + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "channel", - "type": "core::felt252" + "name": "lords_amount", + "type": "core::integer::u128" }, { - "name": "content", - "type": "core::byte_array::ByteArray" + "name": "resource_amount", + "type": "core::integer::u128" }, { - "name": "salt", - "type": "core::felt252" + "name": "total_shares", + "type": "cubit::f128::types::fixed::Fixed" } ] }, { "type": "interface", - "name": "eternum::models::message::Imessage", + "name": "eternum::models::bank::market::Imarket", "items": [ { "type": "function", @@ -31009,7 +30361,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::message::Message" + "type": "eternum::models::bank::market::Market" } ], "outputs": [], @@ -31019,61 +30371,36 @@ }, { "type": "event", - "name": "eternum::models::message::message::Event", + "name": "eternum::models::bank::market::market::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Message", - "qualified_path": "eternum::models::message::message", - "manifest_name": "eternum-Message-6697fdd5" + "tag": "eternum-Market", + "qualified_path": "eternum::models::bank::market::market", + "manifest_name": "eternum-Market-6dd46062" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "sec_per_km", - "type": "u16", - "key": false - }, - { - "name": "blocked", - "type": "bool", - "key": false - }, - { - "name": "round_trip", - "type": "bool", - "key": false - }, - { - "name": "start_coord_x", - "type": "u32", - "key": false - }, - { - "name": "start_coord_y", - "type": "u32", - "key": false - }, - { - "name": "intermediate_coord_x", - "type": "u32", + "name": "troops", + "type": "Troops", "key": false }, { - "name": "intermediate_coord_y", - "type": "u32", + "name": "rewards", + "type": "Span<(u8, u128)>", "key": false } ], - "class_hash": "0x568dc0d15cd5118220b0ed44df78d910267b87baec7f0835b2b89ec76d3d1fe", - "original_class_hash": "0x568dc0d15cd5118220b0ed44df78d910267b87baec7f0835b2b89ec76d3d1fe", + "class_hash": "0x182c4a5ea3b8ff80e27dbb7460c584f18c7b13dccb4f35146497cbb76d9ef5", + "original_class_hash": "0x182c4a5ea3b8ff80e27dbb7460c584f18c7b13dccb4f35146497cbb76d9ef5", "abi": [ { "type": "impl", @@ -31439,64 +30766,58 @@ }, { "type": "impl", - "name": "movableImpl", - "interface_name": "eternum::models::movable::Imovable" + "name": "mercenaries_configImpl", + "interface_name": "eternum::models::config::Imercenaries_config" }, { - "type": "enum", - "name": "core::bool", - "variants": [ + "type": "struct", + "name": "eternum::models::combat::Troops", + "members": [ { - "name": "False", - "type": "()" + "name": "knight_count", + "type": "core::integer::u64" }, { - "name": "True", - "type": "()" + "name": "paladin_count", + "type": "core::integer::u64" + }, + { + "name": "crossbowman_count", + "type": "core::integer::u64" } ] }, { "type": "struct", - "name": "eternum::models::movable::Movable", + "name": "core::array::Span::<(core::integer::u8, core::integer::u128)>", "members": [ { - "name": "entity_id", - "type": "core::integer::u32" - }, - { - "name": "sec_per_km", - "type": "core::integer::u16" - }, - { - "name": "blocked", - "type": "core::bool" - }, - { - "name": "round_trip", - "type": "core::bool" - }, - { - "name": "start_coord_x", - "type": "core::integer::u32" - }, + "name": "snapshot", + "type": "@core::array::Array::<(core::integer::u8, core::integer::u128)>" + } + ] + }, + { + "type": "struct", + "name": "eternum::models::config::MercenariesConfig", + "members": [ { - "name": "start_coord_y", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "intermediate_coord_x", - "type": "core::integer::u32" + "name": "troops", + "type": "eternum::models::combat::Troops" }, { - "name": "intermediate_coord_y", - "type": "core::integer::u32" + "name": "rewards", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" } ] }, { "type": "interface", - "name": "eternum::models::movable::Imovable", + "name": "eternum::models::config::Imercenaries_config", "items": [ { "type": "function", @@ -31504,7 +30825,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::movable::Movable" + "type": "eternum::models::config::MercenariesConfig" } ], "outputs": [], @@ -31514,31 +30835,41 @@ }, { "type": "event", - "name": "eternum::models::movable::movable::Event", + "name": "eternum::models::config::mercenaries_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Movable", - "qualified_path": "eternum::models::movable::movable", - "manifest_name": "eternum-Movable-68de8765" + "tag": "eternum-MercenariesConfig", + "qualified_path": "eternum::models::config::mercenaries_config", + "manifest_name": "eternum-MercenariesConfig-4c7248d4" }, { "kind": "DojoModel", "members": [ { - "name": "order_id", - "type": "ID", + "name": "identity", + "type": "ContractAddress", "key": true }, { - "name": "hyperstructure_count", - "type": "u32", + "name": "channel", + "type": "felt252", + "key": true + }, + { + "name": "content", + "type": "ByteArray", "key": false + }, + { + "name": "salt", + "type": "felt252", + "key": true } ], - "class_hash": "0x70a12fcb57b41160181aa0d794c982868d727dc3bae3fcbda4ccf9ccd60fd60", - "original_class_hash": "0x70a12fcb57b41160181aa0d794c982868d727dc3bae3fcbda4ccf9ccd60fd60", + "class_hash": "0x64e28daa625d93984ba81abf967265463bc04730d79aade3c3c50cf9587bb44", + "original_class_hash": "0x64e28daa625d93984ba81abf967265463bc04730d79aade3c3c50cf9587bb44", "abi": [ { "type": "impl", @@ -31904,26 +31235,34 @@ }, { "type": "impl", - "name": "ordersImpl", - "interface_name": "eternum::models::order::Iorders" + "name": "messageImpl", + "interface_name": "eternum::models::message::Imessage" }, { "type": "struct", - "name": "eternum::models::order::Orders", + "name": "eternum::models::message::Message", "members": [ { - "name": "order_id", - "type": "core::integer::u32" + "name": "identity", + "type": "core::starknet::contract_address::ContractAddress" }, { - "name": "hyperstructure_count", - "type": "core::integer::u32" + "name": "channel", + "type": "core::felt252" + }, + { + "name": "content", + "type": "core::byte_array::ByteArray" + }, + { + "name": "salt", + "type": "core::felt252" } ] }, { "type": "interface", - "name": "eternum::models::order::Iorders", + "name": "eternum::models::message::Imessage", "items": [ { "type": "function", @@ -31931,7 +31270,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::order::Orders" + "type": "eternum::models::message::Message" } ], "outputs": [], @@ -31941,14 +31280,14 @@ }, { "type": "event", - "name": "eternum::models::order::orders::Event", + "name": "eternum::models::message::message::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Orders", - "qualified_path": "eternum::models::order::orders", - "manifest_name": "eternum-Orders-4423b5ef" + "tag": "eternum-Message", + "qualified_path": "eternum::models::message::message", + "manifest_name": "eternum-Message-6697fdd5" }, { "kind": "DojoModel", @@ -31959,13 +31298,43 @@ "key": true }, { - "name": "resource_types", - "type": "u256", + "name": "sec_per_km", + "type": "u16", + "key": false + }, + { + "name": "blocked", + "type": "bool", + "key": false + }, + { + "name": "round_trip", + "type": "bool", + "key": false + }, + { + "name": "start_coord_x", + "type": "u32", + "key": false + }, + { + "name": "start_coord_y", + "type": "u32", + "key": false + }, + { + "name": "intermediate_coord_x", + "type": "u32", + "key": false + }, + { + "name": "intermediate_coord_y", + "type": "u32", "key": false } ], - "class_hash": "0x203f059bd2dcd4b0c44ff80bd9ca90341c56566819d52495b7d172c462f03ad", - "original_class_hash": "0x203f059bd2dcd4b0c44ff80bd9ca90341c56566819d52495b7d172c462f03ad", + "class_hash": "0x568dc0d15cd5118220b0ed44df78d910267b87baec7f0835b2b89ec76d3d1fe", + "original_class_hash": "0x568dc0d15cd5118220b0ed44df78d910267b87baec7f0835b2b89ec76d3d1fe", "abi": [ { "type": "impl", @@ -32331,40 +31700,64 @@ }, { "type": "impl", - "name": "owned_resources_trackerImpl", - "interface_name": "eternum::models::resources::Iowned_resources_tracker" + "name": "movableImpl", + "interface_name": "eternum::models::movable::Imovable" }, { - "type": "struct", - "name": "core::integer::u256", - "members": [ + "type": "enum", + "name": "core::bool", + "variants": [ { - "name": "low", - "type": "core::integer::u128" + "name": "False", + "type": "()" }, { - "name": "high", - "type": "core::integer::u128" + "name": "True", + "type": "()" } ] }, { "type": "struct", - "name": "eternum::models::resources::OwnedResourcesTracker", + "name": "eternum::models::movable::Movable", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "resource_types", - "type": "core::integer::u256" + "name": "sec_per_km", + "type": "core::integer::u16" + }, + { + "name": "blocked", + "type": "core::bool" + }, + { + "name": "round_trip", + "type": "core::bool" + }, + { + "name": "start_coord_x", + "type": "core::integer::u32" + }, + { + "name": "start_coord_y", + "type": "core::integer::u32" + }, + { + "name": "intermediate_coord_x", + "type": "core::integer::u32" + }, + { + "name": "intermediate_coord_y", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::resources::Iowned_resources_tracker", + "name": "eternum::models::movable::Imovable", "items": [ { "type": "function", @@ -32372,7 +31765,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::resources::OwnedResourcesTracker" + "type": "eternum::models::movable::Movable" } ], "outputs": [], @@ -32382,31 +31775,31 @@ }, { "type": "event", - "name": "eternum::models::resources::owned_resources_tracker::Event", + "name": "eternum::models::movable::movable::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-OwnedResourcesTracker", - "qualified_path": "eternum::models::resources::owned_resources_tracker", - "manifest_name": "eternum-OwnedResourcesTracker-660391c3" + "tag": "eternum-Movable", + "qualified_path": "eternum::models::movable::movable", + "manifest_name": "eternum-Movable-68de8765" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "order_id", "type": "ID", "key": true }, { - "name": "address", - "type": "ContractAddress", + "name": "hyperstructure_count", + "type": "u32", "key": false } ], - "class_hash": "0xcb632c126afe3b481f00c96970daa4b09c7233e0d1cbbef4ae83dd0fb81e30", - "original_class_hash": "0xcb632c126afe3b481f00c96970daa4b09c7233e0d1cbbef4ae83dd0fb81e30", + "class_hash": "0x70a12fcb57b41160181aa0d794c982868d727dc3bae3fcbda4ccf9ccd60fd60", + "original_class_hash": "0x70a12fcb57b41160181aa0d794c982868d727dc3bae3fcbda4ccf9ccd60fd60", "abi": [ { "type": "impl", @@ -32772,26 +32165,26 @@ }, { "type": "impl", - "name": "ownerImpl", - "interface_name": "eternum::models::owner::Iowner" + "name": "ordersImpl", + "interface_name": "eternum::models::order::Iorders" }, { "type": "struct", - "name": "eternum::models::owner::Owner", + "name": "eternum::models::order::Orders", "members": [ { - "name": "entity_id", + "name": "order_id", "type": "core::integer::u32" }, { - "name": "address", - "type": "core::starknet::contract_address::ContractAddress" + "name": "hyperstructure_count", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::owner::Iowner", + "name": "eternum::models::order::Iorders", "items": [ { "type": "function", @@ -32799,7 +32192,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::owner::Owner" + "type": "eternum::models::order::Orders" } ], "outputs": [], @@ -32809,14 +32202,14 @@ }, { "type": "event", - "name": "eternum::models::owner::owner::Event", + "name": "eternum::models::order::orders::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Owner", - "qualified_path": "eternum::models::owner::owner", - "manifest_name": "eternum-Owner-7395b328" + "tag": "eternum-Orders", + "qualified_path": "eternum::models::order::orders", + "manifest_name": "eternum-Orders-4423b5ef" }, { "kind": "DojoModel", @@ -32827,18 +32220,13 @@ "key": true }, { - "name": "population", - "type": "u32", - "key": false - }, - { - "name": "capacity", - "type": "u32", + "name": "resource_types", + "type": "u256", "key": false } ], - "class_hash": "0x4544f38465d6ea7b422ec52214799c605d3f0722bc820bb87f68d8d985cc939", - "original_class_hash": "0x4544f38465d6ea7b422ec52214799c605d3f0722bc820bb87f68d8d985cc939", + "class_hash": "0x203f059bd2dcd4b0c44ff80bd9ca90341c56566819d52495b7d172c462f03ad", + "original_class_hash": "0x203f059bd2dcd4b0c44ff80bd9ca90341c56566819d52495b7d172c462f03ad", "abi": [ { "type": "impl", @@ -33204,30 +32592,40 @@ }, { "type": "impl", - "name": "populationImpl", - "interface_name": "eternum::models::population::Ipopulation" + "name": "owned_resources_trackerImpl", + "interface_name": "eternum::models::resources::Iowned_resources_tracker" }, { "type": "struct", - "name": "eternum::models::population::Population", + "name": "core::integer::u256", "members": [ { - "name": "entity_id", - "type": "core::integer::u32" + "name": "low", + "type": "core::integer::u128" }, { - "name": "population", + "name": "high", + "type": "core::integer::u128" + } + ] + }, + { + "type": "struct", + "name": "eternum::models::resources::OwnedResourcesTracker", + "members": [ + { + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "capacity", - "type": "core::integer::u32" + "name": "resource_types", + "type": "core::integer::u256" } ] }, { "type": "interface", - "name": "eternum::models::population::Ipopulation", + "name": "eternum::models::resources::Iowned_resources_tracker", "items": [ { "type": "function", @@ -33235,7 +32633,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::population::Population" + "type": "eternum::models::resources::OwnedResourcesTracker" } ], "outputs": [], @@ -33245,31 +32643,31 @@ }, { "type": "event", - "name": "eternum::models::population::population::Event", + "name": "eternum::models::resources::owned_resources_tracker::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Population", - "qualified_path": "eternum::models::population::population", - "manifest_name": "eternum-Population-28c60ba8" + "tag": "eternum-OwnedResourcesTracker", + "qualified_path": "eternum::models::resources::owned_resources_tracker", + "manifest_name": "eternum-OwnedResourcesTracker-660391c3" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "base_population", - "type": "u32", + "name": "address", + "type": "ContractAddress", "key": false } ], - "class_hash": "0x79e412a179637857fcb1eb1b95328946c0533fcdf98e174ef8e16639408c474", - "original_class_hash": "0x79e412a179637857fcb1eb1b95328946c0533fcdf98e174ef8e16639408c474", + "class_hash": "0xcb632c126afe3b481f00c96970daa4b09c7233e0d1cbbef4ae83dd0fb81e30", + "original_class_hash": "0xcb632c126afe3b481f00c96970daa4b09c7233e0d1cbbef4ae83dd0fb81e30", "abi": [ { "type": "impl", @@ -33635,26 +33033,26 @@ }, { "type": "impl", - "name": "population_configImpl", - "interface_name": "eternum::models::config::Ipopulation_config" + "name": "ownerImpl", + "interface_name": "eternum::models::owner::Iowner" }, { "type": "struct", - "name": "eternum::models::config::PopulationConfig", + "name": "eternum::models::owner::Owner", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "base_population", - "type": "core::integer::u32" + "name": "address", + "type": "core::starknet::contract_address::ContractAddress" } ] }, { "type": "interface", - "name": "eternum::models::config::Ipopulation_config", + "name": "eternum::models::owner::Iowner", "items": [ { "type": "function", @@ -33662,7 +33060,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::PopulationConfig" + "type": "eternum::models::owner::Owner" } ], "outputs": [], @@ -33672,14 +33070,14 @@ }, { "type": "event", - "name": "eternum::models::config::population_config::Event", + "name": "eternum::models::owner::owner::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-PopulationConfig", - "qualified_path": "eternum::models::config::population_config", - "manifest_name": "eternum-PopulationConfig-8cead3bb" + "tag": "eternum-Owner", + "qualified_path": "eternum::models::owner::owner", + "manifest_name": "eternum-Owner-7395b328" }, { "kind": "DojoModel", @@ -33690,18 +33088,18 @@ "key": true }, { - "name": "x", + "name": "population", "type": "u32", "key": false }, { - "name": "y", + "name": "capacity", "type": "u32", "key": false } ], - "class_hash": "0x3ac127612b62df864e3d3d4bd2e86216e3a23b8319626e38dfd11127a4affb1", - "original_class_hash": "0x3ac127612b62df864e3d3d4bd2e86216e3a23b8319626e38dfd11127a4affb1", + "class_hash": "0x4544f38465d6ea7b422ec52214799c605d3f0722bc820bb87f68d8d985cc939", + "original_class_hash": "0x4544f38465d6ea7b422ec52214799c605d3f0722bc820bb87f68d8d985cc939", "abi": [ { "type": "impl", @@ -34067,30 +33465,30 @@ }, { "type": "impl", - "name": "positionImpl", - "interface_name": "eternum::models::position::Iposition" + "name": "populationImpl", + "interface_name": "eternum::models::population::Ipopulation" }, { "type": "struct", - "name": "eternum::models::position::Position", + "name": "eternum::models::population::Population", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "x", + "name": "population", "type": "core::integer::u32" }, { - "name": "y", + "name": "capacity", "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::position::Iposition", + "name": "eternum::models::population::Ipopulation", "items": [ { "type": "function", @@ -34098,7 +33496,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::position::Position" + "type": "eternum::models::population::Population" } ], "outputs": [], @@ -34108,56 +33506,31 @@ }, { "type": "event", - "name": "eternum::models::position::position::Event", + "name": "eternum::models::population::population::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Position", - "qualified_path": "eternum::models::position::position", - "manifest_name": "eternum-Position-421d605b" + "tag": "eternum-Population", + "qualified_path": "eternum::models::population::population", + "manifest_name": "eternum-Population-28c60ba8" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "resource_type", - "type": "u8", - "key": true - }, - { - "name": "building_count", - "type": "u8", - "key": false - }, - { - "name": "production_rate", - "type": "u128", - "key": false - }, - { - "name": "consumption_rate", - "type": "u128", - "key": false - }, - { - "name": "last_updated_tick", - "type": "u64", - "key": false - }, - { - "name": "input_finish_tick", - "type": "u64", + "name": "base_population", + "type": "u32", "key": false } ], - "class_hash": "0x5888324fcb35eeeee69a7f61bb64e842b618be87d98933a69f41f6986a8825a", - "original_class_hash": "0x5888324fcb35eeeee69a7f61bb64e842b618be87d98933a69f41f6986a8825a", + "class_hash": "0x79e412a179637857fcb1eb1b95328946c0533fcdf98e174ef8e16639408c474", + "original_class_hash": "0x79e412a179637857fcb1eb1b95328946c0533fcdf98e174ef8e16639408c474", "abi": [ { "type": "impl", @@ -34523,46 +33896,26 @@ }, { "type": "impl", - "name": "productionImpl", - "interface_name": "eternum::models::production::Iproduction" + "name": "population_configImpl", + "interface_name": "eternum::models::config::Ipopulation_config" }, { "type": "struct", - "name": "eternum::models::production::Production", + "name": "eternum::models::config::PopulationConfig", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" - }, - { - "name": "building_count", - "type": "core::integer::u8" - }, - { - "name": "production_rate", - "type": "core::integer::u128" - }, - { - "name": "consumption_rate", - "type": "core::integer::u128" - }, - { - "name": "last_updated_tick", - "type": "core::integer::u64" - }, - { - "name": "input_finish_tick", - "type": "core::integer::u64" + "name": "base_population", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::production::Iproduction", + "name": "eternum::models::config::Ipopulation_config", "items": [ { "type": "function", @@ -34570,7 +33923,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::production::Production" + "type": "eternum::models::config::PopulationConfig" } ], "outputs": [], @@ -34580,41 +33933,36 @@ }, { "type": "event", - "name": "eternum::models::production::production::Event", + "name": "eternum::models::config::population_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Production", - "qualified_path": "eternum::models::production::production", - "manifest_name": "eternum-Production-30841685" + "tag": "eternum-PopulationConfig", + "qualified_path": "eternum::models::config::population_config", + "manifest_name": "eternum-PopulationConfig-8cead3bb" }, { "kind": "DojoModel", "members": [ { - "name": "resource_type", - "type": "u8", + "name": "entity_id", + "type": "ID", "key": true }, { - "name": "amount", - "type": "u128", - "key": false - }, - { - "name": "input_count", - "type": "u128", + "name": "x", + "type": "u32", "key": false }, { - "name": "output_count", - "type": "u128", + "name": "y", + "type": "u32", "key": false } ], - "class_hash": "0x1e40d5fceb2966b7f2fb3cbf724e91b32d0b29847634a5202dbda33a765140e", - "original_class_hash": "0x1e40d5fceb2966b7f2fb3cbf724e91b32d0b29847634a5202dbda33a765140e", + "class_hash": "0x3ac127612b62df864e3d3d4bd2e86216e3a23b8319626e38dfd11127a4affb1", + "original_class_hash": "0x3ac127612b62df864e3d3d4bd2e86216e3a23b8319626e38dfd11127a4affb1", "abi": [ { "type": "impl", @@ -34980,34 +34328,30 @@ }, { "type": "impl", - "name": "production_configImpl", - "interface_name": "eternum::models::config::Iproduction_config" + "name": "positionImpl", + "interface_name": "eternum::models::position::Iposition" }, { "type": "struct", - "name": "eternum::models::config::ProductionConfig", + "name": "eternum::models::position::Position", "members": [ { - "name": "resource_type", - "type": "core::integer::u8" - }, - { - "name": "amount", - "type": "core::integer::u128" + "name": "entity_id", + "type": "core::integer::u32" }, { - "name": "input_count", - "type": "core::integer::u128" + "name": "x", + "type": "core::integer::u32" }, { - "name": "output_count", - "type": "core::integer::u128" + "name": "y", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::config::Iproduction_config", + "name": "eternum::models::position::Iposition", "items": [ { "type": "function", @@ -35015,7 +34359,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::ProductionConfig" + "type": "eternum::models::position::Position" } ], "outputs": [], @@ -35025,41 +34369,56 @@ }, { "type": "event", - "name": "eternum::models::config::production_config::Event", + "name": "eternum::models::position::position::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ProductionConfig", - "qualified_path": "eternum::models::config::production_config", - "manifest_name": "eternum-ProductionConfig-58cf51ed" + "tag": "eternum-Position", + "qualified_path": "eternum::models::position::position", + "manifest_name": "eternum-Position-421d605b" }, { "kind": "DojoModel", "members": [ { - "name": "output_resource_type", - "type": "u8", + "name": "entity_id", + "type": "ID", "key": true }, { - "name": "index", + "name": "resource_type", "type": "u8", "key": true }, { - "name": "input_resource_type", + "name": "building_count", "type": "u8", "key": false }, { - "name": "input_resource_amount", + "name": "production_rate", "type": "u128", "key": false + }, + { + "name": "consumption_rate", + "type": "u128", + "key": false + }, + { + "name": "last_updated_tick", + "type": "u64", + "key": false + }, + { + "name": "input_finish_tick", + "type": "u64", + "key": false } ], - "class_hash": "0x614e4d2681d41b3a85242763beb13ea881b698f870f9f05b3ce6387e5cfb17d", - "original_class_hash": "0x614e4d2681d41b3a85242763beb13ea881b698f870f9f05b3ce6387e5cfb17d", + "class_hash": "0x5888324fcb35eeeee69a7f61bb64e842b618be87d98933a69f41f6986a8825a", + "original_class_hash": "0x5888324fcb35eeeee69a7f61bb64e842b618be87d98933a69f41f6986a8825a", "abi": [ { "type": "impl", @@ -35425,34 +34784,46 @@ }, { "type": "impl", - "name": "production_inputImpl", - "interface_name": "eternum::models::production::Iproduction_input" + "name": "productionImpl", + "interface_name": "eternum::models::production::Iproduction" }, { "type": "struct", - "name": "eternum::models::production::ProductionInput", + "name": "eternum::models::production::Production", "members": [ { - "name": "output_resource_type", - "type": "core::integer::u8" + "name": "entity_id", + "type": "core::integer::u32" }, { - "name": "index", + "name": "resource_type", "type": "core::integer::u8" }, { - "name": "input_resource_type", + "name": "building_count", "type": "core::integer::u8" }, { - "name": "input_resource_amount", + "name": "production_rate", "type": "core::integer::u128" + }, + { + "name": "consumption_rate", + "type": "core::integer::u128" + }, + { + "name": "last_updated_tick", + "type": "core::integer::u64" + }, + { + "name": "input_finish_tick", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::production::Iproduction_input", + "name": "eternum::models::production::Iproduction", "items": [ { "type": "function", @@ -35460,7 +34831,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::production::ProductionInput" + "type": "eternum::models::production::Production" } ], "outputs": [], @@ -35470,36 +34841,41 @@ }, { "type": "event", - "name": "eternum::models::production::production_input::Event", + "name": "eternum::models::production::production::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ProductionInput", - "qualified_path": "eternum::models::production::production_input", - "manifest_name": "eternum-ProductionInput-4aa7f2e2" + "tag": "eternum-Production", + "qualified_path": "eternum::models::production::production", + "manifest_name": "eternum-Production-30841685" }, { "kind": "DojoModel", "members": [ { - "name": "input_resource_type", + "name": "resource_type", "type": "u8", "key": true }, { - "name": "index", - "type": "u8", - "key": true + "name": "amount", + "type": "u128", + "key": false }, { - "name": "output_resource_type", - "type": "u8", + "name": "input_count", + "type": "u128", + "key": false + }, + { + "name": "output_count", + "type": "u128", "key": false } ], - "class_hash": "0x2e75cf512a3c4de702aa94604d01298a27cc5a289d7d80d9020f7bf38f3a464", - "original_class_hash": "0x2e75cf512a3c4de702aa94604d01298a27cc5a289d7d80d9020f7bf38f3a464", + "class_hash": "0x1e40d5fceb2966b7f2fb3cbf724e91b32d0b29847634a5202dbda33a765140e", + "original_class_hash": "0x1e40d5fceb2966b7f2fb3cbf724e91b32d0b29847634a5202dbda33a765140e", "abi": [ { "type": "impl", @@ -35865,30 +35241,34 @@ }, { "type": "impl", - "name": "production_outputImpl", - "interface_name": "eternum::models::production::Iproduction_output" + "name": "production_configImpl", + "interface_name": "eternum::models::config::Iproduction_config" }, { "type": "struct", - "name": "eternum::models::production::ProductionOutput", + "name": "eternum::models::config::ProductionConfig", "members": [ { - "name": "input_resource_type", + "name": "resource_type", "type": "core::integer::u8" }, { - "name": "index", - "type": "core::integer::u8" + "name": "amount", + "type": "core::integer::u128" }, { - "name": "output_resource_type", - "type": "core::integer::u8" + "name": "input_count", + "type": "core::integer::u128" + }, + { + "name": "output_count", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::production::Iproduction_output", + "name": "eternum::models::config::Iproduction_config", "items": [ { "type": "function", @@ -35896,7 +35276,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::production::ProductionOutput" + "type": "eternum::models::config::ProductionConfig" } ], "outputs": [], @@ -35906,36 +35286,31 @@ }, { "type": "event", - "name": "eternum::models::production::production_output::Event", + "name": "eternum::models::config::production_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ProductionOutput", - "qualified_path": "eternum::models::production::production_output", - "manifest_name": "eternum-ProductionOutput-3fcdac94" + "tag": "eternum-ProductionConfig", + "qualified_path": "eternum::models::config::production_config", + "manifest_name": "eternum-ProductionConfig-58cf51ed" }, { "kind": "DojoModel", "members": [ { - "name": "hyperstructure_entity_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "resource_type", - "type": "u8", - "key": true - }, - { - "name": "amount", - "type": "u128", + "name": "deadline_tick", + "type": "u64", "key": false } ], - "class_hash": "0x108235218feb79c91ab2d962b97a2e6c032129bbfd125d210942e5c282025ee", - "original_class_hash": "0x108235218feb79c91ab2d962b97a2e6c032129bbfd125d210942e5c282025ee", + "class_hash": "0x2d752662304df227f0b6f758c828c98b7012bc65a07edca586c4b4da583fe62", + "original_class_hash": "0x2d752662304df227f0b6f758c828c98b7012bc65a07edca586c4b4da583fe62", "abi": [ { "type": "impl", @@ -36301,30 +35676,26 @@ }, { "type": "impl", - "name": "progressImpl", - "interface_name": "eternum::models::hyperstructure::Iprogress" + "name": "production_deadlineImpl", + "interface_name": "eternum::models::production::Iproduction_deadline" }, { "type": "struct", - "name": "eternum::models::hyperstructure::Progress", + "name": "eternum::models::production::ProductionDeadline", "members": [ { - "name": "hyperstructure_entity_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" - }, - { - "name": "amount", - "type": "core::integer::u128" + "name": "deadline_tick", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::hyperstructure::Iprogress", + "name": "eternum::models::production::Iproduction_deadline", "items": [ { "type": "function", @@ -36332,7 +35703,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::hyperstructure::Progress" + "type": "eternum::models::production::ProductionDeadline" } ], "outputs": [], @@ -36342,31 +35713,41 @@ }, { "type": "event", - "name": "eternum::models::hyperstructure::progress::Event", + "name": "eternum::models::production::production_deadline::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Progress", - "qualified_path": "eternum::models::hyperstructure::progress", - "manifest_name": "eternum-Progress-87eb8002" + "tag": "eternum-ProductionDeadline", + "qualified_path": "eternum::models::production::production_deadline", + "manifest_name": "eternum-ProductionDeadline-11a9e189" }, { "kind": "DojoModel", "members": [ { - "name": "army_id", - "type": "ID", + "name": "output_resource_type", + "type": "u8", "key": true }, { - "name": "protectee_id", - "type": "ID", + "name": "index", + "type": "u8", + "key": true + }, + { + "name": "input_resource_type", + "type": "u8", + "key": false + }, + { + "name": "input_resource_amount", + "type": "u128", "key": false } ], - "class_hash": "0x5c87fcaac3db2f0f4bb317415cb01fde2ed30dd229e58b2c89ebd6b2f2f12a4", - "original_class_hash": "0x5c87fcaac3db2f0f4bb317415cb01fde2ed30dd229e58b2c89ebd6b2f2f12a4", + "class_hash": "0x614e4d2681d41b3a85242763beb13ea881b698f870f9f05b3ce6387e5cfb17d", + "original_class_hash": "0x614e4d2681d41b3a85242763beb13ea881b698f870f9f05b3ce6387e5cfb17d", "abi": [ { "type": "impl", @@ -36732,26 +36113,34 @@ }, { "type": "impl", - "name": "protecteeImpl", - "interface_name": "eternum::models::combat::Iprotectee" + "name": "production_inputImpl", + "interface_name": "eternum::models::production::Iproduction_input" }, { "type": "struct", - "name": "eternum::models::combat::Protectee", + "name": "eternum::models::production::ProductionInput", "members": [ { - "name": "army_id", - "type": "core::integer::u32" + "name": "output_resource_type", + "type": "core::integer::u8" }, { - "name": "protectee_id", - "type": "core::integer::u32" + "name": "index", + "type": "core::integer::u8" + }, + { + "name": "input_resource_type", + "type": "core::integer::u8" + }, + { + "name": "input_resource_amount", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::combat::Iprotectee", + "name": "eternum::models::production::Iproduction_input", "items": [ { "type": "function", @@ -36759,7 +36148,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::combat::Protectee" + "type": "eternum::models::production::ProductionInput" } ], "outputs": [], @@ -36769,31 +36158,36 @@ }, { "type": "event", - "name": "eternum::models::combat::protectee::Event", + "name": "eternum::models::production::production_input::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Protectee", - "qualified_path": "eternum::models::combat::protectee", - "manifest_name": "eternum-Protectee-6e671952" + "tag": "eternum-ProductionInput", + "qualified_path": "eternum::models::production::production_input", + "manifest_name": "eternum-ProductionInput-4aa7f2e2" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", - "type": "ID", + "name": "input_resource_type", + "type": "u8", "key": true }, { - "name": "army_id", - "type": "ID", + "name": "index", + "type": "u8", + "key": true + }, + { + "name": "output_resource_type", + "type": "u8", "key": false } ], - "class_hash": "0x14dee9755de66c42e7f54b899afeb65a1edda40a33a79945f0fbea6a13a617b", - "original_class_hash": "0x14dee9755de66c42e7f54b899afeb65a1edda40a33a79945f0fbea6a13a617b", + "class_hash": "0x2e75cf512a3c4de702aa94604d01298a27cc5a289d7d80d9020f7bf38f3a464", + "original_class_hash": "0x2e75cf512a3c4de702aa94604d01298a27cc5a289d7d80d9020f7bf38f3a464", "abi": [ { "type": "impl", @@ -37159,26 +36553,30 @@ }, { "type": "impl", - "name": "protectorImpl", - "interface_name": "eternum::models::combat::Iprotector" + "name": "production_outputImpl", + "interface_name": "eternum::models::production::Iproduction_output" }, { "type": "struct", - "name": "eternum::models::combat::Protector", + "name": "eternum::models::production::ProductionOutput", "members": [ { - "name": "entity_id", - "type": "core::integer::u32" + "name": "input_resource_type", + "type": "core::integer::u8" }, { - "name": "army_id", - "type": "core::integer::u32" + "name": "index", + "type": "core::integer::u8" + }, + { + "name": "output_resource_type", + "type": "core::integer::u8" } ] }, { "type": "interface", - "name": "eternum::models::combat::Iprotector", + "name": "eternum::models::production::Iproduction_output", "items": [ { "type": "function", @@ -37186,7 +36584,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::combat::Protector" + "type": "eternum::models::production::ProductionOutput" } ], "outputs": [], @@ -37196,31 +36594,36 @@ }, { "type": "event", - "name": "eternum::models::combat::protector::Event", + "name": "eternum::models::production::production_output::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Protector", - "qualified_path": "eternum::models::combat::protector", - "manifest_name": "eternum-Protector-177334e3" + "tag": "eternum-ProductionOutput", + "qualified_path": "eternum::models::production::production_output", + "manifest_name": "eternum-ProductionOutput-3fcdac94" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "hyperstructure_entity_id", "type": "ID", "key": true }, { - "name": "value", + "name": "resource_type", + "type": "u8", + "key": true + }, + { + "name": "amount", "type": "u128", "key": false } ], - "class_hash": "0x647a6ebed7dcc66f7a804a638ac53c50abc64133b3d57cfacf72b62e502a162", - "original_class_hash": "0x647a6ebed7dcc66f7a804a638ac53c50abc64133b3d57cfacf72b62e502a162", + "class_hash": "0x108235218feb79c91ab2d962b97a2e6c032129bbfd125d210942e5c282025ee", + "original_class_hash": "0x108235218feb79c91ab2d962b97a2e6c032129bbfd125d210942e5c282025ee", "abi": [ { "type": "impl", @@ -37586,26 +36989,30 @@ }, { "type": "impl", - "name": "quantityImpl", - "interface_name": "eternum::models::quantity::Iquantity" + "name": "progressImpl", + "interface_name": "eternum::models::hyperstructure::Iprogress" }, { "type": "struct", - "name": "eternum::models::quantity::Quantity", + "name": "eternum::models::hyperstructure::Progress", "members": [ { - "name": "entity_id", + "name": "hyperstructure_entity_id", "type": "core::integer::u32" }, { - "name": "value", + "name": "resource_type", + "type": "core::integer::u8" + }, + { + "name": "amount", "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::quantity::Iquantity", + "name": "eternum::models::hyperstructure::Iprogress", "items": [ { "type": "function", @@ -37613,7 +37020,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::quantity::Quantity" + "type": "eternum::models::hyperstructure::Progress" } ], "outputs": [], @@ -37623,31 +37030,31 @@ }, { "type": "event", - "name": "eternum::models::quantity::quantity::Event", + "name": "eternum::models::hyperstructure::progress::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Quantity", - "qualified_path": "eternum::models::quantity::quantity", - "manifest_name": "eternum-Quantity-3adcab42" + "tag": "eternum-Progress", + "qualified_path": "eternum::models::hyperstructure::progress", + "manifest_name": "eternum-Progress-87eb8002" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", - "type": "felt252", + "name": "army_id", + "type": "ID", "key": true }, { - "name": "count", - "type": "u128", + "name": "protectee_id", + "type": "ID", "key": false } ], - "class_hash": "0x2220d491d661ebb5dfaed6e3602c9791b289bd728fe7c2f909d48fd2a9b0604", - "original_class_hash": "0x2220d491d661ebb5dfaed6e3602c9791b289bd728fe7c2f909d48fd2a9b0604", + "class_hash": "0x5c87fcaac3db2f0f4bb317415cb01fde2ed30dd229e58b2c89ebd6b2f2f12a4", + "original_class_hash": "0x5c87fcaac3db2f0f4bb317415cb01fde2ed30dd229e58b2c89ebd6b2f2f12a4", "abi": [ { "type": "impl", @@ -38013,26 +37420,26 @@ }, { "type": "impl", - "name": "quantity_trackerImpl", - "interface_name": "eternum::models::quantity::Iquantity_tracker" + "name": "protecteeImpl", + "interface_name": "eternum::models::combat::Iprotectee" }, { "type": "struct", - "name": "eternum::models::quantity::QuantityTracker", + "name": "eternum::models::combat::Protectee", "members": [ { - "name": "entity_id", - "type": "core::felt252" + "name": "army_id", + "type": "core::integer::u32" }, { - "name": "count", - "type": "core::integer::u128" + "name": "protectee_id", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::quantity::Iquantity_tracker", + "name": "eternum::models::combat::Iprotectee", "items": [ { "type": "function", @@ -38040,7 +37447,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::quantity::QuantityTracker" + "type": "eternum::models::combat::Protectee" } ], "outputs": [], @@ -38050,14 +37457,14 @@ }, { "type": "event", - "name": "eternum::models::quantity::quantity_tracker::Event", + "name": "eternum::models::combat::protectee::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-QuantityTracker", - "qualified_path": "eternum::models::quantity::quantity_tracker", - "manifest_name": "eternum-QuantityTracker-1889ed7d" + "tag": "eternum-Protectee", + "qualified_path": "eternum::models::combat::protectee", + "manifest_name": "eternum-Protectee-6e671952" }, { "kind": "DojoModel", @@ -38068,53 +37475,13 @@ "key": true }, { - "name": "realm_id", + "name": "army_id", "type": "ID", "key": false - }, - { - "name": "resource_types_packed", - "type": "u128", - "key": false - }, - { - "name": "resource_types_count", - "type": "u8", - "key": false - }, - { - "name": "cities", - "type": "u8", - "key": false - }, - { - "name": "harbors", - "type": "u8", - "key": false - }, - { - "name": "rivers", - "type": "u8", - "key": false - }, - { - "name": "regions", - "type": "u8", - "key": false - }, - { - "name": "wonder", - "type": "u8", - "key": false - }, - { - "name": "order", - "type": "u8", - "key": false } ], - "class_hash": "0x52bcea2d0f21b18ccae2ae44fc190323441aa6c3a2f16ea19de835df54afef8", - "original_class_hash": "0x52bcea2d0f21b18ccae2ae44fc190323441aa6c3a2f16ea19de835df54afef8", + "class_hash": "0x14dee9755de66c42e7f54b899afeb65a1edda40a33a79945f0fbea6a13a617b", + "original_class_hash": "0x14dee9755de66c42e7f54b899afeb65a1edda40a33a79945f0fbea6a13a617b", "abi": [ { "type": "impl", @@ -38480,58 +37847,26 @@ }, { "type": "impl", - "name": "realmImpl", - "interface_name": "eternum::models::realm::Irealm" + "name": "protectorImpl", + "interface_name": "eternum::models::combat::Iprotector" }, { "type": "struct", - "name": "eternum::models::realm::Realm", + "name": "eternum::models::combat::Protector", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "realm_id", + "name": "army_id", "type": "core::integer::u32" - }, - { - "name": "resource_types_packed", - "type": "core::integer::u128" - }, - { - "name": "resource_types_count", - "type": "core::integer::u8" - }, - { - "name": "cities", - "type": "core::integer::u8" - }, - { - "name": "harbors", - "type": "core::integer::u8" - }, - { - "name": "rivers", - "type": "core::integer::u8" - }, - { - "name": "regions", - "type": "core::integer::u8" - }, - { - "name": "wonder", - "type": "core::integer::u8" - }, - { - "name": "order", - "type": "core::integer::u8" } ] }, { "type": "interface", - "name": "eternum::models::realm::Irealm", + "name": "eternum::models::combat::Iprotector", "items": [ { "type": "function", @@ -38539,7 +37874,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::realm::Realm" + "type": "eternum::models::combat::Protector" } ], "outputs": [], @@ -38549,36 +37884,31 @@ }, { "type": "event", - "name": "eternum::models::realm::realm::Event", + "name": "eternum::models::combat::protector::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Realm", - "qualified_path": "eternum::models::realm::realm", - "manifest_name": "eternum-Realm-68a0f35d" + "tag": "eternum-Protector", + "qualified_path": "eternum::models::combat::protector", + "manifest_name": "eternum-Protector-177334e3" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "detached_resource_id", - "type": "ID", - "key": false - }, - { - "name": "detached_resource_count", - "type": "u32", + "name": "value", + "type": "u128", "key": false } ], - "class_hash": "0x92a43c9c368570d80d7a167747b9606d95da18eb76d48f0d2d7ec31a8f96c7", - "original_class_hash": "0x92a43c9c368570d80d7a167747b9606d95da18eb76d48f0d2d7ec31a8f96c7", + "class_hash": "0x647a6ebed7dcc66f7a804a638ac53c50abc64133b3d57cfacf72b62e502a162", + "original_class_hash": "0x647a6ebed7dcc66f7a804a638ac53c50abc64133b3d57cfacf72b62e502a162", "abi": [ { "type": "impl", @@ -38944,30 +38274,26 @@ }, { "type": "impl", - "name": "realm_free_mint_configImpl", - "interface_name": "eternum::models::config::Irealm_free_mint_config" + "name": "quantityImpl", + "interface_name": "eternum::models::quantity::Iquantity" }, { "type": "struct", - "name": "eternum::models::config::RealmFreeMintConfig", + "name": "eternum::models::quantity::Quantity", "members": [ { - "name": "config_id", - "type": "core::integer::u32" - }, - { - "name": "detached_resource_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "detached_resource_count", - "type": "core::integer::u32" + "name": "value", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::config::Irealm_free_mint_config", + "name": "eternum::models::quantity::Iquantity", "items": [ { "type": "function", @@ -38975,7 +38301,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::RealmFreeMintConfig" + "type": "eternum::models::quantity::Quantity" } ], "outputs": [], @@ -38985,36 +38311,31 @@ }, { "type": "event", - "name": "eternum::models::config::realm_free_mint_config::Event", + "name": "eternum::models::quantity::quantity::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-RealmFreeMintConfig", - "qualified_path": "eternum::models::config::realm_free_mint_config", - "manifest_name": "eternum-RealmFreeMintConfig-767aa72c" + "tag": "eternum-Quantity", + "qualified_path": "eternum::models::quantity::quantity", + "manifest_name": "eternum-Quantity-3adcab42" }, { "kind": "DojoModel", "members": [ { "name": "entity_id", - "type": "ID", - "key": true - }, - { - "name": "resource_type", - "type": "u8", + "type": "felt252", "key": true }, { - "name": "balance", + "name": "count", "type": "u128", "key": false } ], - "class_hash": "0x12144ea5cd5d1f216e3ed3697924ed710d09be5882fef8fea901335d03ae50e", - "original_class_hash": "0x12144ea5cd5d1f216e3ed3697924ed710d09be5882fef8fea901335d03ae50e", + "class_hash": "0x2220d491d661ebb5dfaed6e3602c9791b289bd728fe7c2f909d48fd2a9b0604", + "original_class_hash": "0x2220d491d661ebb5dfaed6e3602c9791b289bd728fe7c2f909d48fd2a9b0604", "abi": [ { "type": "impl", @@ -39380,30 +38701,26 @@ }, { "type": "impl", - "name": "resourceImpl", - "interface_name": "eternum::models::resources::Iresource" + "name": "quantity_trackerImpl", + "interface_name": "eternum::models::quantity::Iquantity_tracker" }, { "type": "struct", - "name": "eternum::models::resources::Resource", + "name": "eternum::models::quantity::QuantityTracker", "members": [ { "name": "entity_id", - "type": "core::integer::u32" - }, - { - "name": "resource_type", - "type": "core::integer::u8" + "type": "core::felt252" }, { - "name": "balance", + "name": "count", "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::resources::Iresource", + "name": "eternum::models::quantity::Iquantity_tracker", "items": [ { "type": "function", @@ -39411,7 +38728,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::resources::Resource" + "type": "eternum::models::quantity::QuantityTracker" } ], "outputs": [], @@ -39421,41 +38738,71 @@ }, { "type": "event", - "name": "eternum::models::resources::resource::Event", + "name": "eternum::models::quantity::quantity_tracker::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Resource", - "qualified_path": "eternum::models::resources::resource", - "manifest_name": "eternum-Resource-6aa2c384" + "tag": "eternum-QuantityTracker", + "qualified_path": "eternum::models::quantity::quantity_tracker", + "manifest_name": "eternum-QuantityTracker-1889ed7d" }, { "kind": "DojoModel", "members": [ { - "name": "owner_entity_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "approved_entity_id", + "name": "realm_id", "type": "ID", - "key": true + "key": false }, { - "name": "resource_type", + "name": "resource_types_packed", + "type": "u128", + "key": false + }, + { + "name": "resource_types_count", "type": "u8", - "key": true + "key": false }, { - "name": "amount", - "type": "u128", + "name": "cities", + "type": "u8", + "key": false + }, + { + "name": "harbors", + "type": "u8", + "key": false + }, + { + "name": "rivers", + "type": "u8", + "key": false + }, + { + "name": "regions", + "type": "u8", + "key": false + }, + { + "name": "wonder", + "type": "u8", + "key": false + }, + { + "name": "order", + "type": "u8", "key": false } ], - "class_hash": "0x20570895c0fe40008c09b55942894a71cc9e527fa9c2f44929c39c2f170f83b", - "original_class_hash": "0x20570895c0fe40008c09b55942894a71cc9e527fa9c2f44929c39c2f170f83b", + "class_hash": "0x52bcea2d0f21b18ccae2ae44fc190323441aa6c3a2f16ea19de835df54afef8", + "original_class_hash": "0x52bcea2d0f21b18ccae2ae44fc190323441aa6c3a2f16ea19de835df54afef8", "abi": [ { "type": "impl", @@ -39821,34 +39168,58 @@ }, { "type": "impl", - "name": "resource_allowanceImpl", - "interface_name": "eternum::models::resources::Iresource_allowance" + "name": "realmImpl", + "interface_name": "eternum::models::realm::Irealm" }, { "type": "struct", - "name": "eternum::models::resources::ResourceAllowance", + "name": "eternum::models::realm::Realm", "members": [ { - "name": "owner_entity_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "approved_entity_id", + "name": "realm_id", "type": "core::integer::u32" }, { - "name": "resource_type", + "name": "resource_types_packed", + "type": "core::integer::u128" + }, + { + "name": "resource_types_count", "type": "core::integer::u8" }, { - "name": "amount", - "type": "core::integer::u128" + "name": "cities", + "type": "core::integer::u8" + }, + { + "name": "harbors", + "type": "core::integer::u8" + }, + { + "name": "rivers", + "type": "core::integer::u8" + }, + { + "name": "regions", + "type": "core::integer::u8" + }, + { + "name": "wonder", + "type": "core::integer::u8" + }, + { + "name": "order", + "type": "core::integer::u8" } ] }, { "type": "interface", - "name": "eternum::models::resources::Iresource_allowance", + "name": "eternum::models::realm::Irealm", "items": [ { "type": "function", @@ -39856,7 +39227,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::resources::ResourceAllowance" + "type": "eternum::models::realm::Realm" } ], "outputs": [], @@ -39866,41 +39237,36 @@ }, { "type": "event", - "name": "eternum::models::resources::resource_allowance::Event", + "name": "eternum::models::realm::realm::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ResourceAllowance", - "qualified_path": "eternum::models::resources::resource_allowance", - "manifest_name": "eternum-ResourceAllowance-18a7f402" + "tag": "eternum-Realm", + "qualified_path": "eternum::models::realm::realm", + "manifest_name": "eternum-Realm-68a0f35d" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "index", - "type": "u32", - "key": true - }, - { - "name": "resource_type", - "type": "u8", + "name": "detached_resource_id", + "type": "ID", "key": false }, { - "name": "amount", - "type": "u128", + "name": "detached_resource_count", + "type": "u32", "key": false } ], - "class_hash": "0x385ea6b1356d7244904ca73c73d6f0ab12fce89262ef4cc933d2473f0b79540", - "original_class_hash": "0x385ea6b1356d7244904ca73c73d6f0ab12fce89262ef4cc933d2473f0b79540", + "class_hash": "0x92a43c9c368570d80d7a167747b9606d95da18eb76d48f0d2d7ec31a8f96c7", + "original_class_hash": "0x92a43c9c368570d80d7a167747b9606d95da18eb76d48f0d2d7ec31a8f96c7", "abi": [ { "type": "impl", @@ -40266,34 +39632,30 @@ }, { "type": "impl", - "name": "resource_costImpl", - "interface_name": "eternum::models::resources::Iresource_cost" + "name": "realm_free_mint_configImpl", + "interface_name": "eternum::models::config::Irealm_free_mint_config" }, { "type": "struct", - "name": "eternum::models::resources::ResourceCost", + "name": "eternum::models::config::RealmFreeMintConfig", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "index", + "name": "detached_resource_id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" - }, - { - "name": "amount", - "type": "core::integer::u128" + "name": "detached_resource_count", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::resources::Iresource_cost", + "name": "eternum::models::config::Irealm_free_mint_config", "items": [ { "type": "function", @@ -40301,7 +39663,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::resources::ResourceCost" + "type": "eternum::models::config::RealmFreeMintConfig" } ], "outputs": [], @@ -40311,14 +39673,14 @@ }, { "type": "event", - "name": "eternum::models::resources::resource_cost::Event", + "name": "eternum::models::config::realm_free_mint_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ResourceCost", - "qualified_path": "eternum::models::resources::resource_cost", - "manifest_name": "eternum-ResourceCost-11ae7f37" + "tag": "eternum-RealmFreeMintConfig", + "qualified_path": "eternum::models::config::realm_free_mint_config", + "manifest_name": "eternum-RealmFreeMintConfig-767aa72c" }, { "kind": "DojoModel", @@ -40329,13 +39691,18 @@ "key": true }, { - "name": "release_at", - "type": "u64", + "name": "resource_type", + "type": "u8", + "key": true + }, + { + "name": "balance", + "type": "u128", "key": false } ], - "class_hash": "0x50f3653ee0d0a7a9a51471c39fa9d3731555a08946ebf0476509e4bdf019fcb", - "original_class_hash": "0x50f3653ee0d0a7a9a51471c39fa9d3731555a08946ebf0476509e4bdf019fcb", + "class_hash": "0x12144ea5cd5d1f216e3ed3697924ed710d09be5882fef8fea901335d03ae50e", + "original_class_hash": "0x12144ea5cd5d1f216e3ed3697924ed710d09be5882fef8fea901335d03ae50e", "abi": [ { "type": "impl", @@ -40701,26 +40068,30 @@ }, { "type": "impl", - "name": "resource_transfer_lockImpl", - "interface_name": "eternum::models::resources::Iresource_transfer_lock" + "name": "resourceImpl", + "interface_name": "eternum::models::resources::Iresource" }, { "type": "struct", - "name": "eternum::models::resources::ResourceTransferLock", + "name": "eternum::models::resources::Resource", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "release_at", - "type": "core::integer::u64" + "name": "resource_type", + "type": "core::integer::u8" + }, + { + "name": "balance", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::resources::Iresource_transfer_lock", + "name": "eternum::models::resources::Iresource", "items": [ { "type": "function", @@ -40728,7 +40099,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::resources::ResourceTransferLock" + "type": "eternum::models::resources::Resource" } ], "outputs": [], @@ -40738,46 +40109,41 @@ }, { "type": "event", - "name": "eternum::models::resources::resource_transfer_lock::Event", + "name": "eternum::models::resources::resource::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ResourceTransferLock", - "qualified_path": "eternum::models::resources::resource_transfer_lock", - "manifest_name": "eternum-ResourceTransferLock-6a7c4096" + "tag": "eternum-Resource", + "qualified_path": "eternum::models::resources::resource", + "manifest_name": "eternum-Resource-6aa2c384" }, { "kind": "DojoModel", "members": [ { - "name": "start_coord_x", - "type": "u32", - "key": true - }, - { - "name": "start_coord_y", - "type": "u32", + "name": "owner_entity_id", + "type": "ID", "key": true }, { - "name": "end_coord_x", - "type": "u32", + "name": "approved_entity_id", + "type": "ID", "key": true }, { - "name": "end_coord_y", - "type": "u32", + "name": "resource_type", + "type": "u8", "key": true }, { - "name": "usage_count", - "type": "u32", + "name": "amount", + "type": "u128", "key": false } ], - "class_hash": "0x6919caaa2edaedd7de7b430de4006a91c77305367ea24b339a2568590372410", - "original_class_hash": "0x6919caaa2edaedd7de7b430de4006a91c77305367ea24b339a2568590372410", + "class_hash": "0x20570895c0fe40008c09b55942894a71cc9e527fa9c2f44929c39c2f170f83b", + "original_class_hash": "0x20570895c0fe40008c09b55942894a71cc9e527fa9c2f44929c39c2f170f83b", "abi": [ { "type": "impl", @@ -41143,38 +40509,34 @@ }, { "type": "impl", - "name": "roadImpl", - "interface_name": "eternum::models::road::Iroad" + "name": "resource_allowanceImpl", + "interface_name": "eternum::models::resources::Iresource_allowance" }, { "type": "struct", - "name": "eternum::models::road::Road", + "name": "eternum::models::resources::ResourceAllowance", "members": [ { - "name": "start_coord_x", - "type": "core::integer::u32" - }, - { - "name": "start_coord_y", + "name": "owner_entity_id", "type": "core::integer::u32" }, { - "name": "end_coord_x", + "name": "approved_entity_id", "type": "core::integer::u32" }, { - "name": "end_coord_y", - "type": "core::integer::u32" + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "usage_count", - "type": "core::integer::u32" + "name": "amount", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::road::Iroad", + "name": "eternum::models::resources::Iresource_allowance", "items": [ { "type": "function", @@ -41182,7 +40544,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::road::Road" + "type": "eternum::models::resources::ResourceAllowance" } ], "outputs": [], @@ -41192,41 +40554,41 @@ }, { "type": "event", - "name": "eternum::models::road::road::Event", + "name": "eternum::models::resources::resource_allowance::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Road", - "qualified_path": "eternum::models::road::road", - "manifest_name": "eternum-Road-426df582" + "tag": "eternum-ResourceAllowance", + "qualified_path": "eternum::models::resources::resource_allowance", + "manifest_name": "eternum-ResourceAllowance-18a7f402" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "resource_cost_id", - "type": "ID", - "key": false + "name": "index", + "type": "u32", + "key": true }, { - "name": "resource_cost_count", - "type": "u32", + "name": "resource_type", + "type": "u8", "key": false }, { - "name": "speed_up_by", - "type": "u64", + "name": "amount", + "type": "u128", "key": false } ], - "class_hash": "0x2fb019cf7f41336c62cc9b892d63b417129eaeb73f8ad66e9407e2faf5f816e", - "original_class_hash": "0x2fb019cf7f41336c62cc9b892d63b417129eaeb73f8ad66e9407e2faf5f816e", + "class_hash": "0x385ea6b1356d7244904ca73c73d6f0ab12fce89262ef4cc933d2473f0b79540", + "original_class_hash": "0x385ea6b1356d7244904ca73c73d6f0ab12fce89262ef4cc933d2473f0b79540", "abi": [ { "type": "impl", @@ -41592,34 +40954,34 @@ }, { "type": "impl", - "name": "road_configImpl", - "interface_name": "eternum::models::config::Iroad_config" + "name": "resource_costImpl", + "interface_name": "eternum::models::resources::Iresource_cost" }, { "type": "struct", - "name": "eternum::models::config::RoadConfig", + "name": "eternum::models::resources::ResourceCost", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "resource_cost_id", + "name": "index", "type": "core::integer::u32" }, { - "name": "resource_cost_count", - "type": "core::integer::u32" + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "speed_up_by", - "type": "core::integer::u64" + "name": "amount", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::config::Iroad_config", + "name": "eternum::models::resources::Iresource_cost", "items": [ { "type": "function", @@ -41627,7 +40989,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::RoadConfig" + "type": "eternum::models::resources::ResourceCost" } ], "outputs": [], @@ -41637,41 +40999,31 @@ }, { "type": "event", - "name": "eternum::models::config::road_config::Event", + "name": "eternum::models::resources::resource_cost::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-RoadConfig", - "qualified_path": "eternum::models::config::road_config", - "manifest_name": "eternum-RoadConfig-424e8ddc" + "tag": "eternum-ResourceCost", + "qualified_path": "eternum::models::resources::resource_cost", + "manifest_name": "eternum-ResourceCost-11ae7f37" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", - "type": "ID", - "key": true - }, - { - "name": "speed_config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "entity_type", - "type": "ID", - "key": false - }, - { - "name": "sec_per_km", - "type": "u16", + "name": "release_at", + "type": "u64", "key": false } ], - "class_hash": "0xa20dbb003d2008919dc8a8a56d872f81c7d6743f1e18756cb68d228dac3efa", - "original_class_hash": "0xa20dbb003d2008919dc8a8a56d872f81c7d6743f1e18756cb68d228dac3efa", + "class_hash": "0x50f3653ee0d0a7a9a51471c39fa9d3731555a08946ebf0476509e4bdf019fcb", + "original_class_hash": "0x50f3653ee0d0a7a9a51471c39fa9d3731555a08946ebf0476509e4bdf019fcb", "abi": [ { "type": "impl", @@ -42037,34 +41389,26 @@ }, { "type": "impl", - "name": "speed_configImpl", - "interface_name": "eternum::models::config::Ispeed_config" + "name": "resource_transfer_lockImpl", + "interface_name": "eternum::models::resources::Iresource_transfer_lock" }, { "type": "struct", - "name": "eternum::models::config::SpeedConfig", + "name": "eternum::models::resources::ResourceTransferLock", "members": [ { - "name": "config_id", - "type": "core::integer::u32" - }, - { - "name": "speed_config_id", - "type": "core::integer::u32" - }, - { - "name": "entity_type", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "sec_per_km", - "type": "core::integer::u16" + "name": "release_at", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::config::Ispeed_config", + "name": "eternum::models::resources::Iresource_transfer_lock", "items": [ { "type": "function", @@ -42072,7 +41416,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::SpeedConfig" + "type": "eternum::models::resources::ResourceTransferLock" } ], "outputs": [], @@ -42082,36 +41426,41 @@ }, { "type": "event", - "name": "eternum::models::config::speed_config::Event", + "name": "eternum::models::resources::resource_transfer_lock::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-SpeedConfig", - "qualified_path": "eternum::models::config::speed_config", - "manifest_name": "eternum-SpeedConfig-1e31ed6d" + "tag": "eternum-ResourceTransferLock", + "qualified_path": "eternum::models::resources::resource_transfer_lock", + "manifest_name": "eternum-ResourceTransferLock-6a7c4096" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "amount", - "type": "u16", + "name": "speed_config_id", + "type": "ID", + "key": true + }, + { + "name": "entity_type", + "type": "ID", "key": false }, { - "name": "last_refill_tick", - "type": "u64", + "name": "sec_per_km", + "type": "u16", "key": false } ], - "class_hash": "0x276d64103df4cef7e0f9bd59fb406fd8acc35c99c278f33becefc0dcc640e31", - "original_class_hash": "0x276d64103df4cef7e0f9bd59fb406fd8acc35c99c278f33becefc0dcc640e31", + "class_hash": "0xa20dbb003d2008919dc8a8a56d872f81c7d6743f1e18756cb68d228dac3efa", + "original_class_hash": "0xa20dbb003d2008919dc8a8a56d872f81c7d6743f1e18756cb68d228dac3efa", "abi": [ { "type": "impl", @@ -42477,30 +41826,34 @@ }, { "type": "impl", - "name": "staminaImpl", - "interface_name": "eternum::models::stamina::Istamina" + "name": "speed_configImpl", + "interface_name": "eternum::models::config::Ispeed_config" }, { "type": "struct", - "name": "eternum::models::stamina::Stamina", + "name": "eternum::models::config::SpeedConfig", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "amount", - "type": "core::integer::u16" + "name": "speed_config_id", + "type": "core::integer::u32" }, { - "name": "last_refill_tick", - "type": "core::integer::u64" + "name": "entity_type", + "type": "core::integer::u32" + }, + { + "name": "sec_per_km", + "type": "core::integer::u16" } ] }, { "type": "interface", - "name": "eternum::models::stamina::Istamina", + "name": "eternum::models::config::Ispeed_config", "items": [ { "type": "function", @@ -42508,7 +41861,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::stamina::Stamina" + "type": "eternum::models::config::SpeedConfig" } ], "outputs": [], @@ -42518,36 +41871,36 @@ }, { "type": "event", - "name": "eternum::models::stamina::stamina::Event", + "name": "eternum::models::config::speed_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Stamina", - "qualified_path": "eternum::models::stamina::stamina", - "manifest_name": "eternum-Stamina-64093ed8" + "tag": "eternum-SpeedConfig", + "qualified_path": "eternum::models::config::speed_config", + "manifest_name": "eternum-SpeedConfig-1e31ed6d" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "unit_type", - "type": "u8", - "key": true + "name": "amount", + "type": "u16", + "key": false }, { - "name": "max_stamina", - "type": "u16", + "name": "last_refill_tick", + "type": "u64", "key": false } ], - "class_hash": "0x146c13acba6a6e1a29289118ecab85721f682fcbda423a42900b7eedbf2f220", - "original_class_hash": "0x146c13acba6a6e1a29289118ecab85721f682fcbda423a42900b7eedbf2f220", + "class_hash": "0x276d64103df4cef7e0f9bd59fb406fd8acc35c99c278f33becefc0dcc640e31", + "original_class_hash": "0x276d64103df4cef7e0f9bd59fb406fd8acc35c99c278f33becefc0dcc640e31", "abi": [ { "type": "impl", @@ -42913,30 +42266,30 @@ }, { "type": "impl", - "name": "stamina_configImpl", - "interface_name": "eternum::models::config::Istamina_config" + "name": "staminaImpl", + "interface_name": "eternum::models::stamina::Istamina" }, { "type": "struct", - "name": "eternum::models::config::StaminaConfig", + "name": "eternum::models::stamina::Stamina", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "unit_type", - "type": "core::integer::u8" + "name": "amount", + "type": "core::integer::u16" }, { - "name": "max_stamina", - "type": "core::integer::u16" + "name": "last_refill_tick", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::config::Istamina_config", + "name": "eternum::models::stamina::Istamina", "items": [ { "type": "function", @@ -42944,7 +42297,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::StaminaConfig" + "type": "eternum::models::stamina::Stamina" } ], "outputs": [], @@ -42954,14 +42307,14 @@ }, { "type": "event", - "name": "eternum::models::config::stamina_config::Event", + "name": "eternum::models::stamina::stamina::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-StaminaConfig", - "qualified_path": "eternum::models::config::stamina_config", - "manifest_name": "eternum-StaminaConfig-b6eb17a7" + "tag": "eternum-Stamina", + "qualified_path": "eternum::models::stamina::stamina", + "manifest_name": "eternum-Stamina-64093ed8" }, { "kind": "DojoModel", @@ -42972,13 +42325,18 @@ "key": true }, { - "name": "amount_per_tick", + "name": "unit_type", + "type": "u8", + "key": true + }, + { + "name": "max_stamina", "type": "u16", "key": false } ], - "class_hash": "0x6c8d97d33190a4c6e6bc64c427824a4e493a2221309d5a5a60bbb9f6d22d128", - "original_class_hash": "0x6c8d97d33190a4c6e6bc64c427824a4e493a2221309d5a5a60bbb9f6d22d128", + "class_hash": "0x146c13acba6a6e1a29289118ecab85721f682fcbda423a42900b7eedbf2f220", + "original_class_hash": "0x146c13acba6a6e1a29289118ecab85721f682fcbda423a42900b7eedbf2f220", "abi": [ { "type": "impl", @@ -43344,26 +42702,30 @@ }, { "type": "impl", - "name": "stamina_refill_configImpl", - "interface_name": "eternum::models::config::Istamina_refill_config" + "name": "stamina_configImpl", + "interface_name": "eternum::models::config::Istamina_config" }, { "type": "struct", - "name": "eternum::models::config::StaminaRefillConfig", + "name": "eternum::models::config::StaminaConfig", "members": [ { "name": "config_id", "type": "core::integer::u32" }, { - "name": "amount_per_tick", + "name": "unit_type", + "type": "core::integer::u8" + }, + { + "name": "max_stamina", "type": "core::integer::u16" } ] }, { "type": "interface", - "name": "eternum::models::config::Istamina_refill_config", + "name": "eternum::models::config::Istamina_config", "items": [ { "type": "function", @@ -43371,7 +42733,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::StaminaRefillConfig" + "type": "eternum::models::config::StaminaConfig" } ], "outputs": [], @@ -43381,31 +42743,31 @@ }, { "type": "event", - "name": "eternum::models::config::stamina_refill_config::Event", + "name": "eternum::models::config::stamina_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-StaminaRefillConfig", - "qualified_path": "eternum::models::config::stamina_refill_config", - "manifest_name": "eternum-StaminaRefillConfig-4f63070f" + "tag": "eternum-StaminaConfig", + "qualified_path": "eternum::models::config::stamina_config", + "manifest_name": "eternum-StaminaConfig-b6eb17a7" }, { "kind": "DojoModel", "members": [ { - "name": "trade_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "value", - "type": "u128", + "name": "amount_per_tick", + "type": "u16", "key": false } ], - "class_hash": "0x16ccb72931523cbdd3144a679a2fc3c8bc391a53626c9efd6510444e3b223fa", - "original_class_hash": "0x16ccb72931523cbdd3144a679a2fc3c8bc391a53626c9efd6510444e3b223fa", + "class_hash": "0x6c8d97d33190a4c6e6bc64c427824a4e493a2221309d5a5a60bbb9f6d22d128", + "original_class_hash": "0x6c8d97d33190a4c6e6bc64c427824a4e493a2221309d5a5a60bbb9f6d22d128", "abi": [ { "type": "impl", @@ -43771,26 +43133,26 @@ }, { "type": "impl", - "name": "statusImpl", - "interface_name": "eternum::models::trade::Istatus" + "name": "stamina_refill_configImpl", + "interface_name": "eternum::models::config::Istamina_refill_config" }, { "type": "struct", - "name": "eternum::models::trade::Status", + "name": "eternum::models::config::StaminaRefillConfig", "members": [ { - "name": "trade_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "value", - "type": "core::integer::u128" + "name": "amount_per_tick", + "type": "core::integer::u16" } ] }, { "type": "interface", - "name": "eternum::models::trade::Istatus", + "name": "eternum::models::config::Istamina_refill_config", "items": [ { "type": "function", @@ -43798,7 +43160,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::trade::Status" + "type": "eternum::models::config::StaminaRefillConfig" } ], "outputs": [], @@ -43808,31 +43170,31 @@ }, { "type": "event", - "name": "eternum::models::trade::status::Event", + "name": "eternum::models::config::stamina_refill_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Status", - "qualified_path": "eternum::models::trade::status", - "manifest_name": "eternum-Status-508b6172" + "tag": "eternum-StaminaRefillConfig", + "qualified_path": "eternum::models::config::stamina_refill_config", + "manifest_name": "eternum-StaminaRefillConfig-4f63070f" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "trade_id", "type": "ID", "key": true }, { - "name": "weight_gram", + "name": "value", "type": "u128", "key": false } ], - "class_hash": "0x51d9c449986aee3af8c989d359ca5af040c2d02181e6b6e7547426a3b69e909", - "original_class_hash": "0x51d9c449986aee3af8c989d359ca5af040c2d02181e6b6e7547426a3b69e909", + "class_hash": "0x16ccb72931523cbdd3144a679a2fc3c8bc391a53626c9efd6510444e3b223fa", + "original_class_hash": "0x16ccb72931523cbdd3144a679a2fc3c8bc391a53626c9efd6510444e3b223fa", "abi": [ { "type": "impl", @@ -44198,26 +43560,26 @@ }, { "type": "impl", - "name": "storehouse_capacity_configImpl", - "interface_name": "eternum::models::config::Istorehouse_capacity_config" + "name": "statusImpl", + "interface_name": "eternum::models::trade::Istatus" }, { "type": "struct", - "name": "eternum::models::config::StorehouseCapacityConfig", + "name": "eternum::models::trade::Status", "members": [ { - "name": "config_id", + "name": "trade_id", "type": "core::integer::u32" }, { - "name": "weight_gram", + "name": "value", "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::config::Istorehouse_capacity_config", + "name": "eternum::models::trade::Istatus", "items": [ { "type": "function", @@ -44225,7 +43587,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::StorehouseCapacityConfig" + "type": "eternum::models::trade::Status" } ], "outputs": [], @@ -44235,14 +43597,14 @@ }, { "type": "event", - "name": "eternum::models::config::storehouse_capacity_config::Event", + "name": "eternum::models::trade::status::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-StorehouseCapacityConfig", - "qualified_path": "eternum::models::config::storehouse_capacity_config", - "manifest_name": "eternum-StorehouseCapacityConfig-3a722892" + "tag": "eternum-Status", + "qualified_path": "eternum::models::trade::status", + "manifest_name": "eternum-Status-508b6172" }, { "kind": "DojoModel", diff --git a/contracts/manifests/dev/deployment/manifest.toml b/contracts/manifests/dev/deployment/manifest.toml index 09a99bdf4..8f41500bd 100644 --- a/contracts/manifests/dev/deployment/manifest.toml +++ b/contracts/manifests/dev/deployment/manifest.toml @@ -1,7 +1,7 @@ [world] kind = "WorldContract" -class_hash = "0x6f4515274ee23404789c3351a77107d0ec07508530119822046600ca6948d6e" -original_class_hash = "0x6f4515274ee23404789c3351a77107d0ec07508530119822046600ca6948d6e" +class_hash = "0xa349b743d361ce4567361475a89b84a386bb383448c6926954e5fe0b525597" +original_class_hash = "0xa349b743d361ce4567361475a89b84a386bb383448c6926954e5fe0b525597" abi = "manifests/dev/deployment/abis/dojo-world.json" address = "0x76ca3dfc3e96843716f882546f0db96b7da0cf988bdba284b469d0defb2f48f" transaction_hash = "0x5335f285c0f15b2b44c1f11461537e536838d06aeee2ed6d57d27166c0b8078" @@ -23,9 +23,9 @@ manifest_name = "dojo-base" [[contracts]] kind = "DojoContract" -address = "0x2597b91ccea2bf7c5f5688591fd41cdec203a57b9001f9aaf886c4efd7914a7" -class_hash = "0x57baea9dcee3c73fcdd8e8142ac19a455838a50803a311f4d55a8fedffef08" -original_class_hash = "0x57baea9dcee3c73fcdd8e8142ac19a455838a50803a311f4d55a8fedffef08" +address = "0x23d9fda8b1ef4f322356e076fcfcd1ed5586e114730d073852cb2fb50ad73d0" +class_hash = "0x24f8e7b7cc6eb58f66ff106556f35bad3efda6f02acafbb3847faef025eb71f" +original_class_hash = "0x24f8e7b7cc6eb58f66ff106556f35bad3efda6f02acafbb3847faef025eb71f" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-bank_systems-85030190.json" reads = [] @@ -37,9 +37,9 @@ manifest_name = "eternum-bank_systems-85030190" [[contracts]] kind = "DojoContract" -address = "0x7f5083a2161ad4de0519557347c0aaa87dfc98874dc7ed43adb721961696ade" -class_hash = "0x13b5a37bf98601831c97d202d5c889285350235653d5ede6f4de0a5ca71086c" -original_class_hash = "0x13b5a37bf98601831c97d202d5c889285350235653d5ede6f4de0a5ca71086c" +address = "0x7ed18691dfbacf174f2f0c80a92cf0cc6cc0a017f56331712d253d2efda6a0b" +class_hash = "0x574732996ab5073ff265b7d1bdf6f0cff168007270439c9ff9e3845c3275d2a" +original_class_hash = "0x574732996ab5073ff265b7d1bdf6f0cff168007270439c9ff9e3845c3275d2a" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-building_systems-4b0f3026.json" reads = [] @@ -78,9 +78,9 @@ manifest_name = "eternum-combat_systems-27f37676" [[contracts]] kind = "DojoContract" -address = "0x507de90d583ef694333b7795ea0758815308e426802de71f9e2ccacec27a4c8" -class_hash = "0xfeef77e0f94d2431ef4af1172a972d4f2f74c3578a47529db1fb3c8b09da81" -original_class_hash = "0xfeef77e0f94d2431ef4af1172a972d4f2f74c3578a47529db1fb3c8b09da81" +address = "0x7a586a591ea4b5a3264e696076c5b801ea1d857f12455f1002f522e3b5a29b0" +class_hash = "0x5c9a7ddbd3f51775350592f8d4bec9c1a977435483d9076d3bc4bcb6a40275c" +original_class_hash = "0x5c9a7ddbd3f51775350592f8d4bec9c1a977435483d9076d3bc4bcb6a40275c" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-config_systems-5f8c7cdc.json" reads = [] @@ -90,7 +90,7 @@ tag = "eternum-config_systems" systems = [ "set_world_config", "set_mint_config", - "set_exploration_config", + "set_map_config", "set_capacity_config", "set_weight_config", "set_battle_config", @@ -99,7 +99,6 @@ systems = [ "set_stamina_refill_config", "set_leveling_config", "set_production_config", - "set_road_config", "set_speed_config", "set_hyperstructure_config", "set_bank_config", @@ -108,15 +107,14 @@ systems = [ "set_population_config", "set_building_config", "set_mercenaries_config", - "set_storehouse_capacity_config", ] manifest_name = "eternum-config_systems-5f8c7cdc" [[contracts]] kind = "DojoContract" -address = "0x176872635a3c4b009b3fa1ee4df9b512f1531c8e8b353740b89893a02e29cb7" -class_hash = "0x5f23e61dee1fbf600fb57342dd3c258971adab5fdf39bf3ca8913040a7dcb10" -original_class_hash = "0x5f23e61dee1fbf600fb57342dd3c258971adab5fdf39bf3ca8913040a7dcb10" +address = "0x4d4800dc89edbdb3a526503582730375e78418f094d8175a4d1910326bf615f" +class_hash = "0x3d34c4f65b2d71321a673540732c9854209b2585535656f9c3a292f3fe73eee" +original_class_hash = "0x3d34c4f65b2d71321a673540732c9854209b2585535656f9c3a292f3fe73eee" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-dev_bank_systems-7a630ec9.json" reads = [] @@ -128,9 +126,9 @@ manifest_name = "eternum-dev_bank_systems-7a630ec9" [[contracts]] kind = "DojoContract" -address = "0x607348ad48e2f5908a9a324669a12bd7bbdaf28ff67870a9c553ec5f61e32ec" -class_hash = "0x3f1b8b1470f743a5eb1a47ffb3fc29b4330d9862bd69075ed487c0f869c2c89" -original_class_hash = "0x3f1b8b1470f743a5eb1a47ffb3fc29b4330d9862bd69075ed487c0f869c2c89" +address = "0x2fa49f8ffee6ad0a66a783af6bb747ee860862b7579a40102e23ee82359c019" +class_hash = "0x7cbaf8b08ff3e3c0bba390aad562fb65d86a8958f147cb56f6018b1d3f2baf8" +original_class_hash = "0x7cbaf8b08ff3e3c0bba390aad562fb65d86a8958f147cb56f6018b1d3f2baf8" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-dev_resource_systems-9f04ac8a.json" reads = [] @@ -142,7 +140,7 @@ manifest_name = "eternum-dev_resource_systems-9f04ac8a" [[contracts]] kind = "DojoContract" -address = "0x7b7abbed214c6899af99086b66897bd7c6f4f2ee9cc2a51e69cc86993c40d68" +address = "0x768ac31cdfa61a717b84077a79e7ff307ad47dd1dc0dac9b63ac2ce40f53292" class_hash = "0x1b09c16bada4d6a3e34116c6c0e1beb829ab1429cfcbe17e1cd1b4d3c07a791" original_class_hash = "0x1b09c16bada4d6a3e34116c6c0e1beb829ab1429cfcbe17e1cd1b4d3c07a791" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" @@ -156,7 +154,7 @@ manifest_name = "eternum-donkey_systems-4851519d" [[contracts]] kind = "DojoContract" -address = "0x423ff7cfa3fd3b7b7d89e2871883f12b13daa0238fcde7a4ceabfcabb8cb065" +address = "0x463aefde3a3c1cb7c4d8896b7469eacce93bf9fa1258d13f2694de44321bce7" class_hash = "0x22d788f4a836d88ac5eb219aab1fc066a8567100053f28ca8580384fc700438" original_class_hash = "0x22d788f4a836d88ac5eb219aab1fc066a8567100053f28ca8580384fc700438" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" @@ -194,9 +192,9 @@ manifest_name = "eternum-hyperstructure_systems-3660009a" [[contracts]] kind = "DojoContract" -address = "0x27c097a9d7f7bf944d64bec4ef14f2274156ed2e0a0c288492ab9ce48df2f2" -class_hash = "0xfbc4287d5c268386905d4889c4c889ef5255e4e8db07b851d52833c17e997" -original_class_hash = "0xfbc4287d5c268386905d4889c4c889ef5255e4e8db07b851d52833c17e997" +address = "0x33880f09a32670cb3de1502dab021c1c8f7c3368fa5a4f29fea7ef9c3fd64a8" +class_hash = "0x43c34c37eeb98e6bd76093d74972a7c7bc3335744daeddf3f7acd6db562173e" +original_class_hash = "0x43c34c37eeb98e6bd76093d74972a7c7bc3335744daeddf3f7acd6db562173e" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-leveling_systems-5606a1c3.json" reads = [] @@ -208,9 +206,9 @@ manifest_name = "eternum-leveling_systems-5606a1c3" [[contracts]] kind = "DojoContract" -address = "0x7e7f1aedf47414f305445f1ace5b96072d2bf4ef3e47252bcabcae609f775a4" -class_hash = "0x7219bfa89b09bbe2ccdec3199e8b143ba40609a23ee6a4ba727e9f65bb56fc1" -original_class_hash = "0x7219bfa89b09bbe2ccdec3199e8b143ba40609a23ee6a4ba727e9f65bb56fc1" +address = "0x1bb5522c954f263822875b3be43a36540a37e597196284b5f0160722ccac40f" +class_hash = "0x6f9d35ddfa713d2db0151ec89d09241f96b9d3a3ee01c61c6e35dca72f04aea" +original_class_hash = "0x6f9d35ddfa713d2db0151ec89d09241f96b9d3a3ee01c61c6e35dca72f04aea" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-liquidity_systems-337d668f.json" reads = [] @@ -236,7 +234,7 @@ manifest_name = "eternum-map_systems-5431b122" [[contracts]] kind = "DojoContract" -address = "0x267865665da55a825c49fa637de470123fcbb4e44f7465e54fcf44b23a6678d" +address = "0xcca348a494d5d50e3fe7a4601315ae4c2a8c40551e8f4df8e382c41bb20a7c" class_hash = "0x71eb3d17fa699da80155d87501ea9d683de1dea2a02661ee1d6547b5d1cd1ab" original_class_hash = "0x71eb3d17fa699da80155d87501ea9d683de1dea2a02661ee1d6547b5d1cd1ab" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" @@ -253,9 +251,9 @@ manifest_name = "eternum-name_systems-bbb2e543" [[contracts]] kind = "DojoContract" -address = "0x37940c191510c4faccd4ccb7cbe012d20b91bd61aaa346dcb1279990d28a787" -class_hash = "0x50df594ad328d06a48bf41eb646d420621d251a7107b4475ddbf0e33daf25a1" -original_class_hash = "0x50df594ad328d06a48bf41eb646d420621d251a7107b4475ddbf0e33daf25a1" +address = "0x3eab010b114ef9167679721f082578bedc8e03afa98c3659bfdd141f20530a4" +class_hash = "0x78da6eabc04ce6d32097ec506dda683f55b04d45215c797e23954f7684df282" +original_class_hash = "0x78da6eabc04ce6d32097ec506dda683f55b04d45215c797e23954f7684df282" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-realm_systems-2b08f0da.json" reads = [] @@ -267,9 +265,9 @@ manifest_name = "eternum-realm_systems-2b08f0da" [[contracts]] kind = "DojoContract" -address = "0x516dc39b1bea42d3de5c61421f99776731909cd908f3de388dc8a9dbbc3edc5" -class_hash = "0x1b8c9118490dc6fb228e40072923c86f26936ba0ef67237c20ecb33d53ce3ea" -original_class_hash = "0x1b8c9118490dc6fb228e40072923c86f26936ba0ef67237c20ecb33d53ce3ea" +address = "0x58e07e699e1e07684e84c3f792b02dbcade89e2f69546d5eb4b4c35f5ad934d" +class_hash = "0x182632994e3020c07162aa7cb54ecb95916d469c75de398bb5daa0957d7541e" +original_class_hash = "0x182632994e3020c07162aa7cb54ecb95916d469c75de398bb5daa0957d7541e" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-resource_systems-59b73d5a.json" reads = [] @@ -285,23 +283,9 @@ manifest_name = "eternum-resource_systems-59b73d5a" [[contracts]] kind = "DojoContract" -address = "0x2878af80bd88b86731f7d375504f1aff37030ddcee54abcd5d46d41e0fff16f" -class_hash = "0x165bb5690fde19001a287723299eb2832c728174d0e1968162551a133eef4ea" -original_class_hash = "0x165bb5690fde19001a287723299eb2832c728174d0e1968162551a133eef4ea" -base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" -abi = "manifests/dev/deployment/abis/contracts/eternum-road_systems-61d8f9c9.json" -reads = [] -writes = [] -init_calldata = [] -tag = "eternum-road_systems" -systems = ["create"] -manifest_name = "eternum-road_systems-61d8f9c9" - -[[contracts]] -kind = "DojoContract" -address = "0x7584a48dcddb0e76e9c79590198f942603736bd081d55c276469c944f3d9c83" -class_hash = "0x561e15856e9027bef65a57edc59ad370ae7dd364324bba51a39e6a5556bd1f" -original_class_hash = "0x561e15856e9027bef65a57edc59ad370ae7dd364324bba51a39e6a5556bd1f" +address = "0x7648901aed56a98105f6085a0e80c75a4cce6786233b58066c9782fbd58470d" +class_hash = "0x635b6b87e32693f968207a7ee8409dbea4bde979eb51c2014d18ab7cb7ad672" +original_class_hash = "0x635b6b87e32693f968207a7ee8409dbea4bde979eb51c2014d18ab7cb7ad672" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-swap_systems-216e8d44.json" reads = [] @@ -313,9 +297,9 @@ manifest_name = "eternum-swap_systems-216e8d44" [[contracts]] kind = "DojoContract" -address = "0x7aa0929cf4abb83297621f8d7cac5c86f019b2f0e7bef93a5eb701dfd682288" -class_hash = "0x1306a4bc4d4cd9acc1f36afba111f8b8c0a5dbc31278c1e78ade566588a37d1" -original_class_hash = "0x1306a4bc4d4cd9acc1f36afba111f8b8c0a5dbc31278c1e78ade566588a37d1" +address = "0x5dca037560ad6652aca06a4f284d5e5fdc79990aad8beb9be5d520c6ced885b" +class_hash = "0x231839db3a926a292b4c1a69201984c9bfc921a85200fc8cd19b5d6fba177b3" +original_class_hash = "0x231839db3a926a292b4c1a69201984c9bfc921a85200fc8cd19b5d6fba177b3" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-trade_systems-7f6765dd.json" reads = [] @@ -331,9 +315,9 @@ manifest_name = "eternum-trade_systems-7f6765dd" [[contracts]] kind = "DojoContract" -address = "0x37833ef335c5ee7d6c85c156345d6e8686873b722f9f01ac4b5f05b9ef82774" -class_hash = "0x46a6bf02b734e01b7722e7c9b9a224c7719780895393e1376c81bc83dc4111e" -original_class_hash = "0x46a6bf02b734e01b7722e7c9b9a224c7719780895393e1376c81bc83dc4111e" +address = "0x70327cdb9650f8b24ed7fc7f77a7412186afa78077421cb41b3bf6fbad67494" +class_hash = "0x77bd2ccdeffd644b70e6a99932bf948cb62defd0441af5c12eff985e31bf69c" +original_class_hash = "0x77bd2ccdeffd644b70e6a99932bf948cb62defd0441af5c12eff985e31bf69c" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/dev/deployment/abis/contracts/eternum-travel_systems-4ec72d4c.json" reads = [] @@ -536,8 +520,8 @@ key = false [[models]] kind = "DojoModel" -class_hash = "0x3a4f5b807168c9a88818f96ffe38f4593f8631d68b1f9b741bce8bded6e2cf9" -original_class_hash = "0x3a4f5b807168c9a88818f96ffe38f4593f8631d68b1f9b741bce8bded6e2cf9" +class_hash = "0x16f999d580e5134ce0dc4105ad69827bc186404c13f8474e264aab5127ac05d" +original_class_hash = "0x16f999d580e5134ce0dc4105ad69827bc186404c13f8474e264aab5127ac05d" abi = "manifests/dev/deployment/abis/models/eternum-Battle-20295758.json" tag = "eternum-Battle" qualified_path = "eternum::models::combat::battle" @@ -608,6 +592,11 @@ name = "duration_left" type = "u64" key = false +[[models.members]] +name = "start_at" +type = "u64" +key = false + [[models]] kind = "DojoModel" class_hash = "0x446ab4702ce720b10e0a475e71d16c51060475a15fc02961a4e5af60141c1af" @@ -674,8 +663,8 @@ key = false [[models]] kind = "DojoModel" -class_hash = "0x71e1a3fca77c5ddfeecdf20f6b988a455d2f68afcd3df845392f4c4dfa252f8" -original_class_hash = "0x71e1a3fca77c5ddfeecdf20f6b988a455d2f68afcd3df845392f4c4dfa252f8" +class_hash = "0xf29c778e8da6c709dfedd1b4bd853e75c281f43025e7edae3936b157397fda" +original_class_hash = "0xf29c778e8da6c709dfedd1b4bd853e75c281f43025e7edae3936b157397fda" abi = "manifests/dev/deployment/abis/models/eternum-BattleConfig-60902e8b.json" tag = "eternum-BattleConfig" qualified_path = "eternum::models::config::battle_config" @@ -691,6 +680,11 @@ name = "battle_grace_tick_count" type = "u8" key = false +[[models.members]] +name = "battle_delay_seconds" +type = "u64" +key = false + [[models]] kind = "DojoModel" class_hash = "0x652cdc0a5a6d9d33a7bbeba6a46ee5edcf31280117b5d1ca602ca01ae6fcd43" @@ -1159,12 +1153,12 @@ key = false [[models]] kind = "DojoModel" -class_hash = "0x7abb7049c7589f4a99ae83b9f3433745a5eaf8d80537e782ecf35949da59158" -original_class_hash = "0x7abb7049c7589f4a99ae83b9f3433745a5eaf8d80537e782ecf35949da59158" -abi = "manifests/dev/deployment/abis/models/eternum-Capacity-27d77858.json" -tag = "eternum-Capacity" -qualified_path = "eternum::models::capacity::capacity" -manifest_name = "eternum-Capacity-27d77858" +class_hash = "0x1c872eae51ebc794cd2209e7848f2866079673b9511ef064612e20432d6f282" +original_class_hash = "0x1c872eae51ebc794cd2209e7848f2866079673b9511ef064612e20432d6f282" +abi = "manifests/dev/deployment/abis/models/eternum-CapacityCategory-268dbecc.json" +tag = "eternum-CapacityCategory" +qualified_path = "eternum::models::capacity::capacity_category" +manifest_name = "eternum-CapacityCategory-268dbecc" [[models.members]] name = "entity_id" @@ -1172,34 +1166,24 @@ type = "ID" key = true [[models.members]] -name = "weight_gram" -type = "u128" +name = "category" +type = "CapacityConfigCategory" key = false [[models]] kind = "DojoModel" -class_hash = "0x6214a189285820e02d4f9b1d702fc5ad0f4141be8c7c5f385596e3882e30a47" -original_class_hash = "0x6214a189285820e02d4f9b1d702fc5ad0f4141be8c7c5f385596e3882e30a47" +class_hash = "0x59897890b030fb893af71ca82fbd4170f03dad09e464c3bc58971f14a89367" +original_class_hash = "0x59897890b030fb893af71ca82fbd4170f03dad09e464c3bc58971f14a89367" abi = "manifests/dev/deployment/abis/models/eternum-CapacityConfig-620df1a7.json" tag = "eternum-CapacityConfig" qualified_path = "eternum::models::config::capacity_config" manifest_name = "eternum-CapacityConfig-620df1a7" [[models.members]] -name = "config_id" -type = "ID" -key = true - -[[models.members]] -name = "carry_capacity_config_id" -type = "ID" +name = "category" +type = "CapacityConfigCategory" key = true -[[models.members]] -name = "entity_type" -type = "ID" -key = false - [[models.members]] name = "weight_gram" type = "u128" @@ -1392,6 +1376,35 @@ name = "entity_id" type = "ID" key = false +[[models]] +kind = "DojoModel" +class_hash = "0x2887e0c383185a0f7c8bfd9cec199674bf5f887e2ffaf47e80c8e0d2a8c8c42" +original_class_hash = "0x2887e0c383185a0f7c8bfd9cec199674bf5f887e2ffaf47e80c8e0d2a8c8c42" +abi = "manifests/dev/deployment/abis/models/eternum-FragmentMineDiscovered-50864feb.json" +tag = "eternum-FragmentMineDiscovered" +qualified_path = "eternum::systems::map::contracts::map_systems::fragment_mine_discovered" +manifest_name = "eternum-FragmentMineDiscovered-50864feb" + +[[models.members]] +name = "entity_owner_id" +type = "ID" +key = true + +[[models.members]] +name = "mine_entity_id" +type = "ID" +key = true + +[[models.members]] +name = "production_deadline_tick" +type = "u64" +key = true + +[[models.members]] +name = "discovered_at" +type = "u64" +key = false + [[models]] kind = "DojoModel" class_hash = "0x49c8e797e75b458b6c599b2a6adac16d8e2c57dec23b220a3ce9a730a024e61" @@ -1849,12 +1862,12 @@ key = false [[models]] kind = "DojoModel" -class_hash = "0x45509d54e6cd775df6403ebd516a03a3fe1a991ef142f4e1095d0189d8846df" -original_class_hash = "0x45509d54e6cd775df6403ebd516a03a3fe1a991ef142f4e1095d0189d8846df" -abi = "manifests/dev/deployment/abis/models/eternum-MapExploreConfig-58fbbfce.json" -tag = "eternum-MapExploreConfig" -qualified_path = "eternum::models::config::map_explore_config" -manifest_name = "eternum-MapExploreConfig-58fbbfce" +class_hash = "0x29ee2bd434725ae40b576898f32182d79f00f4fef6a8c34982fbd60949e7d08" +original_class_hash = "0x29ee2bd434725ae40b576898f32182d79f00f4fef6a8c34982fbd60949e7d08" +abi = "manifests/dev/deployment/abis/models/eternum-MapConfig-369135d8.json" +tag = "eternum-MapConfig" +qualified_path = "eternum::models::config::map_config" +manifest_name = "eternum-MapConfig-369135d8" [[models.members]] name = "config_id" @@ -1862,12 +1875,22 @@ type = "ID" key = true [[models.members]] -name = "wheat_burn_amount" +name = "explore_wheat_burn_amount" type = "u128" key = false [[models.members]] -name = "fish_burn_amount" +name = "explore_fish_burn_amount" +type = "u128" +key = false + +[[models.members]] +name = "travel_wheat_burn_amount" +type = "u128" +key = false + +[[models.members]] +name = "travel_fish_burn_amount" type = "u128" key = false @@ -2263,6 +2286,25 @@ name = "output_count" type = "u128" key = false +[[models]] +kind = "DojoModel" +class_hash = "0x2d752662304df227f0b6f758c828c98b7012bc65a07edca586c4b4da583fe62" +original_class_hash = "0x2d752662304df227f0b6f758c828c98b7012bc65a07edca586c4b4da583fe62" +abi = "manifests/dev/deployment/abis/models/eternum-ProductionDeadline-11a9e189.json" +tag = "eternum-ProductionDeadline" +qualified_path = "eternum::models::production::production_deadline" +manifest_name = "eternum-ProductionDeadline-11a9e189" + +[[models.members]] +name = "entity_id" +type = "ID" +key = true + +[[models.members]] +name = "deadline_tick" +type = "u64" +key = false + [[models]] kind = "DojoModel" class_hash = "0x614e4d2681d41b3a85242763beb13ea881b698f870f9f05b3ce6387e5cfb17d" @@ -2600,69 +2642,6 @@ name = "release_at" type = "u64" key = false -[[models]] -kind = "DojoModel" -class_hash = "0x6919caaa2edaedd7de7b430de4006a91c77305367ea24b339a2568590372410" -original_class_hash = "0x6919caaa2edaedd7de7b430de4006a91c77305367ea24b339a2568590372410" -abi = "manifests/dev/deployment/abis/models/eternum-Road-426df582.json" -tag = "eternum-Road" -qualified_path = "eternum::models::road::road" -manifest_name = "eternum-Road-426df582" - -[[models.members]] -name = "start_coord_x" -type = "u32" -key = true - -[[models.members]] -name = "start_coord_y" -type = "u32" -key = true - -[[models.members]] -name = "end_coord_x" -type = "u32" -key = true - -[[models.members]] -name = "end_coord_y" -type = "u32" -key = true - -[[models.members]] -name = "usage_count" -type = "u32" -key = false - -[[models]] -kind = "DojoModel" -class_hash = "0x2fb019cf7f41336c62cc9b892d63b417129eaeb73f8ad66e9407e2faf5f816e" -original_class_hash = "0x2fb019cf7f41336c62cc9b892d63b417129eaeb73f8ad66e9407e2faf5f816e" -abi = "manifests/dev/deployment/abis/models/eternum-RoadConfig-424e8ddc.json" -tag = "eternum-RoadConfig" -qualified_path = "eternum::models::config::road_config" -manifest_name = "eternum-RoadConfig-424e8ddc" - -[[models.members]] -name = "config_id" -type = "ID" -key = true - -[[models.members]] -name = "resource_cost_id" -type = "ID" -key = false - -[[models.members]] -name = "resource_cost_count" -type = "u32" -key = false - -[[models.members]] -name = "speed_up_by" -type = "u64" -key = false - [[models]] kind = "DojoModel" class_hash = "0xa20dbb003d2008919dc8a8a56d872f81c7d6743f1e18756cb68d228dac3efa" @@ -2778,25 +2757,6 @@ name = "value" type = "u128" key = false -[[models]] -kind = "DojoModel" -class_hash = "0x51d9c449986aee3af8c989d359ca5af040c2d02181e6b6e7547426a3b69e909" -original_class_hash = "0x51d9c449986aee3af8c989d359ca5af040c2d02181e6b6e7547426a3b69e909" -abi = "manifests/dev/deployment/abis/models/eternum-StorehouseCapacityConfig-3a722892.json" -tag = "eternum-StorehouseCapacityConfig" -qualified_path = "eternum::models::config::storehouse_capacity_config" -manifest_name = "eternum-StorehouseCapacityConfig-3a722892" - -[[models.members]] -name = "config_id" -type = "ID" -key = true - -[[models.members]] -name = "weight_gram" -type = "u128" -key = false - [[models]] kind = "DojoModel" class_hash = "0x5e599733e0a1ba3cc2e38a6435fd362c2ebfd1f04a1566591e394ebc90cca60" @@ -3253,4 +3213,4 @@ key = false [[models.members]] name = "realm_l2_contract" type = "ContractAddress" -key = false \ No newline at end of file +key = false diff --git a/contracts/manifests/prod/deployment/manifest.json b/contracts/manifests/prod/deployment/manifest.json index bd4a8e456..9877589bf 100644 --- a/contracts/manifests/prod/deployment/manifest.json +++ b/contracts/manifests/prod/deployment/manifest.json @@ -1230,12 +1230,12 @@ } ], "address": "0x6918fe8c1ba16bdc83b9790cd9168d730aa98a22c65164578ef99af1c8cbc76", - "transaction_hash": "0x36eb50a275a787286682a6f0a1a8a7bc38599980a0a7946835f873dd894cc83", - "block_number": 62, + "transaction_hash": "0x34c9150488653bd5945598bd5416714d221addd139e9bd027a0e93ab052d64e", + "block_number": 123, "seed": "eternum", "metadata": { "profile_name": "prod", - "rpc_url": "https://api.cartridge.gg/x/eternum-37/katana/" + "rpc_url": "https://api.cartridge.gg/x/eternum-chat/katana/" }, "manifest_name": "dojo-world" }, @@ -1251,8 +1251,8 @@ { "kind": "DojoContract", "address": "0x23d9fda8b1ef4f322356e076fcfcd1ed5586e114730d073852cb2fb50ad73d0", - "class_hash": "0x57baea9dcee3c73fcdd8e8142ac19a455838a50803a311f4d55a8fedffef08", - "original_class_hash": "0x57baea9dcee3c73fcdd8e8142ac19a455838a50803a311f4d55a8fedffef08", + "class_hash": "0x24f8e7b7cc6eb58f66ff106556f35bad3efda6f02acafbb3847faef025eb71f", + "original_class_hash": "0x24f8e7b7cc6eb58f66ff106556f35bad3efda6f02acafbb3847faef025eb71f", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -1545,8 +1545,8 @@ { "kind": "DojoContract", "address": "0x7ed18691dfbacf174f2f0c80a92cf0cc6cc0a017f56331712d253d2efda6a0b", - "class_hash": "0x13b5a37bf98601831c97d202d5c889285350235653d5ede6f4de0a5ca71086c", - "original_class_hash": "0x13b5a37bf98601831c97d202d5c889285350235653d5ede6f4de0a5ca71086c", + "class_hash": "0x574732996ab5073ff265b7d1bdf6f0cff168007270439c9ff9e3845c3275d2a", + "original_class_hash": "0x574732996ab5073ff265b7d1bdf6f0cff168007270439c9ff9e3845c3275d2a", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -1982,8 +1982,8 @@ { "kind": "DojoContract", "address": "0x62015209a524b97052852f42d283fc0f67081bce90d04cdc03a951009f55a64", - "class_hash": "0x217edc0f87413079de6197f814ba652afbeaf8a837b9b2dee720f6c2deb4140", - "original_class_hash": "0x217edc0f87413079de6197f814ba652afbeaf8a837b9b2dee720f6c2deb4140", + "class_hash": "0x4d31fa8a4936caa7a37e5dff96395bf92abcda517b2264f797e4035bed5db50", + "original_class_hash": "0x4d31fa8a4936caa7a37e5dff96395bf92abcda517b2264f797e4035bed5db50", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -2430,8 +2430,8 @@ { "kind": "DojoContract", "address": "0x7a586a591ea4b5a3264e696076c5b801ea1d857f12455f1002f522e3b5a29b0", - "class_hash": "0xfeef77e0f94d2431ef4af1172a972d4f2f74c3578a47529db1fb3c8b09da81", - "original_class_hash": "0xfeef77e0f94d2431ef4af1172a972d4f2f74c3578a47529db1fb3c8b09da81", + "class_hash": "0x1867b7e047270188114fca6283a36a200f4c394a4ec9c6c4cfe00e146227c83", + "original_class_hash": "0x1867b7e047270188114fca6283a36a200f4c394a4ec9c6c4cfe00e146227c83", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -2665,6 +2665,46 @@ "name": "CapacityConfigCustomImpl", "interface_name": "eternum::systems::config::contracts::ICapacityConfig" }, + { + "type": "enum", + "name": "eternum::models::config::CapacityConfigCategory", + "variants": [ + { + "name": "None", + "type": "()" + }, + { + "name": "Structure", + "type": "()" + }, + { + "name": "Donkey", + "type": "()" + }, + { + "name": "Army", + "type": "()" + }, + { + "name": "Storehouse", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "eternum::models::config::CapacityConfig", + "members": [ + { + "name": "category", + "type": "eternum::models::config::CapacityConfigCategory" + }, + { + "name": "weight_gram", + "type": "core::integer::u128" + } + ] + }, { "type": "interface", "name": "eternum::systems::config::contracts::ICapacityConfig", @@ -2674,12 +2714,8 @@ "name": "set_capacity_config", "inputs": [ { - "name": "entity_type", - "type": "core::integer::u32" - }, - { - "name": "weight_gram", - "type": "core::integer::u128" + "name": "capacity_config", + "type": "eternum::models::config::CapacityConfig" } ], "outputs": [], @@ -2931,22 +2967,6 @@ "type": "interface", "name": "eternum::systems::config::contracts::ITransportConfig", "items": [ - { - "type": "function", - "name": "set_road_config", - "inputs": [ - { - "name": "resource_costs", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" - }, - { - "name": "speed_up_by", - "type": "core::integer::u64" - } - ], - "outputs": [], - "state_mutability": "external" - }, { "type": "function", "name": "set_speed_config", @@ -3296,29 +3316,6 @@ } ] }, - { - "type": "impl", - "name": "IStorehouseCapacityConfig", - "interface_name": "eternum::systems::config::contracts::IStorehouseCapacityConfig" - }, - { - "type": "interface", - "name": "eternum::systems::config::contracts::IStorehouseCapacityConfig", - "items": [ - { - "type": "function", - "name": "set_storehouse_capacity_config", - "inputs": [ - { - "name": "weight_gram", - "type": "core::integer::u128" - } - ], - "outputs": [], - "state_mutability": "external" - } - ] - }, { "type": "impl", "name": "IDojoInitImpl", @@ -3413,7 +3410,6 @@ "set_stamina_refill_config", "set_leveling_config", "set_production_config", - "set_road_config", "set_speed_config", "set_hyperstructure_config", "set_bank_config", @@ -3421,16 +3417,15 @@ "set_building_category_pop_config", "set_population_config", "set_building_config", - "set_mercenaries_config", - "set_storehouse_capacity_config" + "set_mercenaries_config" ], "manifest_name": "eternum-config_systems-5f8c7cdc" }, { "kind": "DojoContract", "address": "0x4d4800dc89edbdb3a526503582730375e78418f094d8175a4d1910326bf615f", - "class_hash": "0x5f23e61dee1fbf600fb57342dd3c258971adab5fdf39bf3ca8913040a7dcb10", - "original_class_hash": "0x5f23e61dee1fbf600fb57342dd3c258971adab5fdf39bf3ca8913040a7dcb10", + "class_hash": "0x3d34c4f65b2d71321a673540732c9854209b2585535656f9c3a292f3fe73eee", + "original_class_hash": "0x3d34c4f65b2d71321a673540732c9854209b2585535656f9c3a292f3fe73eee", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -3697,8 +3692,8 @@ { "kind": "DojoContract", "address": "0x2fa49f8ffee6ad0a66a783af6bb747ee860862b7579a40102e23ee82359c019", - "class_hash": "0x3f1b8b1470f743a5eb1a47ffb3fc29b4330d9862bd69075ed487c0f869c2c89", - "original_class_hash": "0x3f1b8b1470f743a5eb1a47ffb3fc29b4330d9862bd69075ed487c0f869c2c89", + "class_hash": "0x7cbaf8b08ff3e3c0bba390aad562fb65d86a8958f147cb56f6018b1d3f2baf8", + "original_class_hash": "0x7cbaf8b08ff3e3c0bba390aad562fb65d86a8958f147cb56f6018b1d3f2baf8", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -4524,8 +4519,8 @@ { "kind": "DojoContract", "address": "0x3689fe179d2b3f245f177214a9a9e745087936fcc80a2add8b17a3a411c6078", - "class_hash": "0x7cacb256e6b46a850e9eab92245b02ab104bae4def05cb4fb0cc4c60810d35f", - "original_class_hash": "0x7cacb256e6b46a850e9eab92245b02ab104bae4def05cb4fb0cc4c60810d35f", + "class_hash": "0x244001a404ca3863c67421bfc75333c080ffb381cde1d083388431d4e2865b4", + "original_class_hash": "0x244001a404ca3863c67421bfc75333c080ffb381cde1d083388431d4e2865b4", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -4847,8 +4842,8 @@ { "kind": "DojoContract", "address": "0x33880f09a32670cb3de1502dab021c1c8f7c3368fa5a4f29fea7ef9c3fd64a8", - "class_hash": "0xfbc4287d5c268386905d4889c4c889ef5255e4e8db07b851d52833c17e997", - "original_class_hash": "0xfbc4287d5c268386905d4889c4c889ef5255e4e8db07b851d52833c17e997", + "class_hash": "0x43c34c37eeb98e6bd76093d74972a7c7bc3335744daeddf3f7acd6db562173e", + "original_class_hash": "0x43c34c37eeb98e6bd76093d74972a7c7bc3335744daeddf3f7acd6db562173e", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -5091,8 +5086,8 @@ { "kind": "DojoContract", "address": "0x1bb5522c954f263822875b3be43a36540a37e597196284b5f0160722ccac40f", - "class_hash": "0x7219bfa89b09bbe2ccdec3199e8b143ba40609a23ee6a4ba727e9f65bb56fc1", - "original_class_hash": "0x7219bfa89b09bbe2ccdec3199e8b143ba40609a23ee6a4ba727e9f65bb56fc1", + "class_hash": "0x6f9d35ddfa713d2db0151ec89d09241f96b9d3a3ee01c61c6e35dca72f04aea", + "original_class_hash": "0x6f9d35ddfa713d2db0151ec89d09241f96b9d3a3ee01c61c6e35dca72f04aea", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -5407,8 +5402,8 @@ { "kind": "DojoContract", "address": "0x15c0cb2e324e4c5cd88c66f259bfc339cfd28eea9c2d9275fa83ef63d771bee", - "class_hash": "0x57b65d685359b934760012e48670e5ec57b2d51e56cdb411be9c2740de6de2b", - "original_class_hash": "0x57b65d685359b934760012e48670e5ec57b2d51e56cdb411be9c2740de6de2b", + "class_hash": "0x13ff2645f86df007dc6e868598843ba1dd40f3f068856cf63c767e82ba0ce9c", + "original_class_hash": "0x13ff2645f86df007dc6e868598843ba1dd40f3f068856cf63c767e82ba0ce9c", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -5946,8 +5941,8 @@ { "kind": "DojoContract", "address": "0x3eab010b114ef9167679721f082578bedc8e03afa98c3659bfdd141f20530a4", - "class_hash": "0x50df594ad328d06a48bf41eb646d420621d251a7107b4475ddbf0e33daf25a1", - "original_class_hash": "0x50df594ad328d06a48bf41eb646d420621d251a7107b4475ddbf0e33daf25a1", + "class_hash": "0x78da6eabc04ce6d32097ec506dda683f55b04d45215c797e23954f7684df282", + "original_class_hash": "0x78da6eabc04ce6d32097ec506dda683f55b04d45215c797e23954f7684df282", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -6266,8 +6261,8 @@ { "kind": "DojoContract", "address": "0x58e07e699e1e07684e84c3f792b02dbcade89e2f69546d5eb4b4c35f5ad934d", - "class_hash": "0x1b8c9118490dc6fb228e40072923c86f26936ba0ef67237c20ecb33d53ce3ea", - "original_class_hash": "0x1b8c9118490dc6fb228e40072923c86f26936ba0ef67237c20ecb33d53ce3ea", + "class_hash": "0x182632994e3020c07162aa7cb54ecb95916d469c75de398bb5daa0957d7541e", + "original_class_hash": "0x182632994e3020c07162aa7cb54ecb95916d469c75de398bb5daa0957d7541e", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -6567,281 +6562,11 @@ ], "manifest_name": "eternum-resource_systems-59b73d5a" }, - { - "kind": "DojoContract", - "address": "0x4c0fc2d5f71557c87906c5115e286da197f281122f03d6b958554ff369472c5", - "class_hash": "0x165bb5690fde19001a287723299eb2832c728174d0e1968162551a133eef4ea", - "original_class_hash": "0x165bb5690fde19001a287723299eb2832c728174d0e1968162551a133eef4ea", - "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": "RoadSystemsImpl", - "interface_name": "eternum::systems::transport::contracts::road_systems::IRoadSystems" - }, - { - "type": "struct", - "name": "eternum::models::position::Coord", - "members": [ - { - "name": "x", - "type": "core::integer::u32" - }, - { - "name": "y", - "type": "core::integer::u32" - } - ] - }, - { - "type": "interface", - "name": "eternum::systems::transport::contracts::road_systems::IRoadSystems", - "items": [ - { - "type": "function", - "name": "create", - "inputs": [ - { - "name": "entity_id", - "type": "core::integer::u32" - }, - { - "name": "start_coord", - "type": "eternum::models::position::Coord" - }, - { - "name": "end_coord", - "type": "eternum::models::position::Coord" - }, - { - "name": "usage_count", - "type": "core::integer::u32" - } - ], - "outputs": [], - "state_mutability": "external" - } - ] - }, - { - "type": "impl", - "name": "IDojoInitImpl", - "interface_name": "eternum::systems::transport::contracts::road_systems::road_systems::IDojoInit" - }, - { - "type": "interface", - "name": "eternum::systems::transport::contracts::road_systems::road_systems::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": "eternum::systems::transport::contracts::road_systems::road_systems::Event", - "kind": "enum", - "variants": [ - { - "name": "UpgradeableEvent", - "type": "dojo::contract::upgradeable::upgradeable::Event", - "kind": "nested" - } - ] - } - ], - "reads": [], - "writes": [], - "init_calldata": [], - "tag": "eternum-road_systems", - "systems": [ - "create" - ], - "manifest_name": "eternum-road_systems-61d8f9c9" - }, { "kind": "DojoContract", "address": "0x7648901aed56a98105f6085a0e80c75a4cce6786233b58066c9782fbd58470d", - "class_hash": "0x84e352317f2ce38482355971ac6946204d4902746363b3251dedc0bbd72fb1", - "original_class_hash": "0x84e352317f2ce38482355971ac6946204d4902746363b3251dedc0bbd72fb1", + "class_hash": "0x635b6b87e32693f968207a7ee8409dbea4bde979eb51c2014d18ab7cb7ad672", + "original_class_hash": "0x635b6b87e32693f968207a7ee8409dbea4bde979eb51c2014d18ab7cb7ad672", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -7126,8 +6851,8 @@ { "kind": "DojoContract", "address": "0x5dca037560ad6652aca06a4f284d5e5fdc79990aad8beb9be5d520c6ced885b", - "class_hash": "0x1306a4bc4d4cd9acc1f36afba111f8b8c0a5dbc31278c1e78ade566588a37d1", - "original_class_hash": "0x1306a4bc4d4cd9acc1f36afba111f8b8c0a5dbc31278c1e78ade566588a37d1", + "class_hash": "0x231839db3a926a292b4c1a69201984c9bfc921a85200fc8cd19b5d6fba177b3", + "original_class_hash": "0x231839db3a926a292b4c1a69201984c9bfc921a85200fc8cd19b5d6fba177b3", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -7470,8 +7195,8 @@ { "kind": "DojoContract", "address": "0x70327cdb9650f8b24ed7fc7f77a7412186afa78077421cb41b3bf6fbad67494", - "class_hash": "0x46a6bf02b734e01b7722e7c9b9a224c7719780895393e1376c81bc83dc4111e", - "original_class_hash": "0x46a6bf02b734e01b7722e7c9b9a224c7719780895393e1376c81bc83dc4111e", + "class_hash": "0x71c09f0cd8e0ea009a1cde569b3bb28052333237125e26b86c0271cfac154d4", + "original_class_hash": "0x71c09f0cd8e0ea009a1cde569b3bb28052333237125e26b86c0271cfac154d4", "base_class_hash": "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2", "abi": [ { @@ -17434,13 +17159,13 @@ "key": true }, { - "name": "weight_gram", - "type": "u128", + "name": "category", + "type": "CapacityConfigCategory", "key": false } ], - "class_hash": "0x7abb7049c7589f4a99ae83b9f3433745a5eaf8d80537e782ecf35949da59158", - "original_class_hash": "0x7abb7049c7589f4a99ae83b9f3433745a5eaf8d80537e782ecf35949da59158", + "class_hash": "0x1c872eae51ebc794cd2209e7848f2866079673b9511ef064612e20432d6f282", + "original_class_hash": "0x1c872eae51ebc794cd2209e7848f2866079673b9511ef064612e20432d6f282", "abi": [ { "type": "impl", @@ -17806,26 +17531,52 @@ }, { "type": "impl", - "name": "capacityImpl", - "interface_name": "eternum::models::capacity::Icapacity" + "name": "capacity_categoryImpl", + "interface_name": "eternum::models::capacity::Icapacity_category" + }, + { + "type": "enum", + "name": "eternum::models::config::CapacityConfigCategory", + "variants": [ + { + "name": "None", + "type": "()" + }, + { + "name": "Structure", + "type": "()" + }, + { + "name": "Donkey", + "type": "()" + }, + { + "name": "Army", + "type": "()" + }, + { + "name": "Storehouse", + "type": "()" + } + ] }, { "type": "struct", - "name": "eternum::models::capacity::Capacity", + "name": "eternum::models::capacity::CapacityCategory", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "weight_gram", - "type": "core::integer::u128" + "name": "category", + "type": "eternum::models::config::CapacityConfigCategory" } ] }, { "type": "interface", - "name": "eternum::models::capacity::Icapacity", + "name": "eternum::models::capacity::Icapacity_category", "items": [ { "type": "function", @@ -17833,7 +17584,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::capacity::Capacity" + "type": "eternum::models::capacity::CapacityCategory" } ], "outputs": [], @@ -17843,41 +17594,31 @@ }, { "type": "event", - "name": "eternum::models::capacity::capacity::Event", + "name": "eternum::models::capacity::capacity_category::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Capacity", - "qualified_path": "eternum::models::capacity::capacity", - "manifest_name": "eternum-Capacity-27d77858" + "tag": "eternum-CapacityCategory", + "qualified_path": "eternum::models::capacity::capacity_category", + "manifest_name": "eternum-CapacityCategory-268dbecc" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", - "type": "ID", - "key": true - }, - { - "name": "carry_capacity_config_id", - "type": "ID", + "name": "category", + "type": "CapacityConfigCategory", "key": true }, - { - "name": "entity_type", - "type": "ID", - "key": false - }, { "name": "weight_gram", "type": "u128", "key": false } ], - "class_hash": "0x6214a189285820e02d4f9b1d702fc5ad0f4141be8c7c5f385596e3882e30a47", - "original_class_hash": "0x6214a189285820e02d4f9b1d702fc5ad0f4141be8c7c5f385596e3882e30a47", + "class_hash": "0x59897890b030fb893af71ca82fbd4170f03dad09e464c3bc58971f14a89367", + "original_class_hash": "0x59897890b030fb893af71ca82fbd4170f03dad09e464c3bc58971f14a89367", "abi": [ { "type": "impl", @@ -18247,20 +17988,38 @@ "interface_name": "eternum::models::config::Icapacity_config" }, { - "type": "struct", - "name": "eternum::models::config::CapacityConfig", - "members": [ + "type": "enum", + "name": "eternum::models::config::CapacityConfigCategory", + "variants": [ { - "name": "config_id", - "type": "core::integer::u32" + "name": "None", + "type": "()" }, { - "name": "carry_capacity_config_id", - "type": "core::integer::u32" + "name": "Structure", + "type": "()" }, { - "name": "entity_type", - "type": "core::integer::u32" + "name": "Donkey", + "type": "()" + }, + { + "name": "Army", + "type": "()" + }, + { + "name": "Storehouse", + "type": "()" + } + ] + }, + { + "type": "struct", + "name": "eternum::models::config::CapacityConfig", + "members": [ + { + "name": "category", + "type": "eternum::models::config::CapacityConfigCategory" }, { "name": "weight_gram", @@ -21806,23 +21565,28 @@ "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "entity_owner_id", "type": "ID", "key": true }, { - "name": "is_public", - "type": "bool", - "key": false + "name": "mine_entity_id", + "type": "ID", + "key": true }, { - "name": "member_count", - "type": "u16", + "name": "production_deadline_tick", + "type": "u64", + "key": true + }, + { + "name": "discovered_at", + "type": "u64", "key": false } ], - "class_hash": "0x49c8e797e75b458b6c599b2a6adac16d8e2c57dec23b220a3ce9a730a024e61", - "original_class_hash": "0x49c8e797e75b458b6c599b2a6adac16d8e2c57dec23b220a3ce9a730a024e61", + "class_hash": "0x2887e0c383185a0f7c8bfd9cec199674bf5f887e2ffaf47e80c8e0d2a8c8c42", + "original_class_hash": "0x2887e0c383185a0f7c8bfd9cec199674bf5f887e2ffaf47e80c8e0d2a8c8c42", "abi": [ { "type": "impl", @@ -22188,44 +21952,34 @@ }, { "type": "impl", - "name": "guildImpl", - "interface_name": "eternum::models::guild::Iguild" - }, - { - "type": "enum", - "name": "core::bool", - "variants": [ - { - "name": "False", - "type": "()" - }, - { - "name": "True", - "type": "()" - } - ] + "name": "fragment_mine_discoveredImpl", + "interface_name": "eternum::systems::map::contracts::map_systems::Ifragment_mine_discovered" }, { "type": "struct", - "name": "eternum::models::guild::Guild", + "name": "eternum::systems::map::contracts::map_systems::FragmentMineDiscovered", "members": [ { - "name": "entity_id", + "name": "entity_owner_id", "type": "core::integer::u32" }, { - "name": "is_public", - "type": "core::bool" + "name": "mine_entity_id", + "type": "core::integer::u32" }, { - "name": "member_count", - "type": "core::integer::u16" + "name": "production_deadline_tick", + "type": "core::integer::u64" + }, + { + "name": "discovered_at", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::guild::Iguild", + "name": "eternum::systems::map::contracts::map_systems::Ifragment_mine_discovered", "items": [ { "type": "function", @@ -22233,7 +21987,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::guild::Guild" + "type": "eternum::systems::map::contracts::map_systems::FragmentMineDiscovered" } ], "outputs": [], @@ -22243,31 +21997,36 @@ }, { "type": "event", - "name": "eternum::models::guild::guild::Event", + "name": "eternum::systems::map::contracts::map_systems::fragment_mine_discovered::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Guild", - "qualified_path": "eternum::models::guild::guild", - "manifest_name": "eternum-Guild-22d294a4" + "tag": "eternum-FragmentMineDiscovered", + "qualified_path": "eternum::systems::map::contracts::map_systems::fragment_mine_discovered", + "manifest_name": "eternum-FragmentMineDiscovered-50864feb" }, { "kind": "DojoModel", "members": [ { - "name": "address", - "type": "ContractAddress", + "name": "entity_id", + "type": "ID", "key": true }, { - "name": "guild_entity_id", - "type": "ID", + "name": "is_public", + "type": "bool", + "key": false + }, + { + "name": "member_count", + "type": "u16", "key": false } ], - "class_hash": "0x6fbc5caca9b75c09da505e60d4328b66113193af74fb1c24e896dc691182eaf", - "original_class_hash": "0x6fbc5caca9b75c09da505e60d4328b66113193af74fb1c24e896dc691182eaf", + "class_hash": "0x49c8e797e75b458b6c599b2a6adac16d8e2c57dec23b220a3ce9a730a024e61", + "original_class_hash": "0x49c8e797e75b458b6c599b2a6adac16d8e2c57dec23b220a3ce9a730a024e61", "abi": [ { "type": "impl", @@ -22633,26 +22392,44 @@ }, { "type": "impl", - "name": "guild_memberImpl", - "interface_name": "eternum::models::guild::Iguild_member" + "name": "guildImpl", + "interface_name": "eternum::models::guild::Iguild" + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] }, { "type": "struct", - "name": "eternum::models::guild::GuildMember", + "name": "eternum::models::guild::Guild", "members": [ { - "name": "address", - "type": "core::starknet::contract_address::ContractAddress" + "name": "entity_id", + "type": "core::integer::u32" }, { - "name": "guild_entity_id", - "type": "core::integer::u32" + "name": "is_public", + "type": "core::bool" + }, + { + "name": "member_count", + "type": "core::integer::u16" } ] }, { "type": "interface", - "name": "eternum::models::guild::Iguild_member", + "name": "eternum::models::guild::Iguild", "items": [ { "type": "function", @@ -22660,7 +22437,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::guild::GuildMember" + "type": "eternum::models::guild::Guild" } ], "outputs": [], @@ -22670,14 +22447,14 @@ }, { "type": "event", - "name": "eternum::models::guild::guild_member::Event", + "name": "eternum::models::guild::guild::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-GuildMember", - "qualified_path": "eternum::models::guild::guild_member", - "manifest_name": "eternum-GuildMember-20ae0ece" + "tag": "eternum-Guild", + "qualified_path": "eternum::models::guild::guild", + "manifest_name": "eternum-Guild-22d294a4" }, { "kind": "DojoModel", @@ -22690,16 +22467,11 @@ { "name": "guild_entity_id", "type": "ID", - "key": true - }, - { - "name": "is_whitelisted", - "type": "bool", "key": false } ], - "class_hash": "0x2e25a336ed189f0829ae5258f1e1f5aff096d2062701866f14b708189f8d144", - "original_class_hash": "0x2e25a336ed189f0829ae5258f1e1f5aff096d2062701866f14b708189f8d144", + "class_hash": "0x6fbc5caca9b75c09da505e60d4328b66113193af74fb1c24e896dc691182eaf", + "original_class_hash": "0x6fbc5caca9b75c09da505e60d4328b66113193af74fb1c24e896dc691182eaf", "abi": [ { "type": "impl", @@ -23065,26 +22837,12 @@ }, { "type": "impl", - "name": "guild_whitelistImpl", - "interface_name": "eternum::models::guild::Iguild_whitelist" - }, - { - "type": "enum", - "name": "core::bool", - "variants": [ - { - "name": "False", - "type": "()" - }, - { - "name": "True", - "type": "()" - } - ] + "name": "guild_memberImpl", + "interface_name": "eternum::models::guild::Iguild_member" }, { "type": "struct", - "name": "eternum::models::guild::GuildWhitelist", + "name": "eternum::models::guild::GuildMember", "members": [ { "name": "address", @@ -23093,16 +22851,12 @@ { "name": "guild_entity_id", "type": "core::integer::u32" - }, - { - "name": "is_whitelisted", - "type": "core::bool" } ] }, { "type": "interface", - "name": "eternum::models::guild::Iguild_whitelist", + "name": "eternum::models::guild::Iguild_member", "items": [ { "type": "function", @@ -23110,7 +22864,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::guild::GuildWhitelist" + "type": "eternum::models::guild::GuildMember" } ], "outputs": [], @@ -23120,36 +22874,36 @@ }, { "type": "event", - "name": "eternum::models::guild::guild_whitelist::Event", + "name": "eternum::models::guild::guild_member::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-GuildWhitelist", - "qualified_path": "eternum::models::guild::guild_whitelist", - "manifest_name": "eternum-GuildWhitelist-54f9b15d" + "tag": "eternum-GuildMember", + "qualified_path": "eternum::models::guild::guild_member", + "manifest_name": "eternum-GuildMember-20ae0ece" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", - "type": "ID", + "name": "address", + "type": "ContractAddress", "key": true }, { - "name": "config_id", + "name": "guild_entity_id", "type": "ID", "key": true }, { - "name": "claimed", + "name": "is_whitelisted", "type": "bool", "key": false } ], - "class_hash": "0x3cb4e8e2d6bcd98f0d1bfbc7d8c06364033fde0dbba8ec1d459f10e8d63f79f", - "original_class_hash": "0x3cb4e8e2d6bcd98f0d1bfbc7d8c06364033fde0dbba8ec1d459f10e8d63f79f", + "class_hash": "0x2e25a336ed189f0829ae5258f1e1f5aff096d2062701866f14b708189f8d144", + "original_class_hash": "0x2e25a336ed189f0829ae5258f1e1f5aff096d2062701866f14b708189f8d144", "abi": [ { "type": "impl", @@ -23515,8 +23269,8 @@ }, { "type": "impl", - "name": "has_claimed_starting_resourcesImpl", - "interface_name": "eternum::models::config::Ihas_claimed_starting_resources" + "name": "guild_whitelistImpl", + "interface_name": "eternum::models::guild::Iguild_whitelist" }, { "type": "enum", @@ -23534,25 +23288,25 @@ }, { "type": "struct", - "name": "eternum::models::config::HasClaimedStartingResources", + "name": "eternum::models::guild::GuildWhitelist", "members": [ { - "name": "entity_id", - "type": "core::integer::u32" + "name": "address", + "type": "core::starknet::contract_address::ContractAddress" }, { - "name": "config_id", + "name": "guild_entity_id", "type": "core::integer::u32" }, { - "name": "claimed", + "name": "is_whitelisted", "type": "core::bool" } ] }, { "type": "interface", - "name": "eternum::models::config::Ihas_claimed_starting_resources", + "name": "eternum::models::guild::Iguild_whitelist", "items": [ { "type": "function", @@ -23560,7 +23314,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::HasClaimedStartingResources" + "type": "eternum::models::guild::GuildWhitelist" } ], "outputs": [], @@ -23570,14 +23324,14 @@ }, { "type": "event", - "name": "eternum::models::config::has_claimed_starting_resources::Event", + "name": "eternum::models::guild::guild_whitelist::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HasClaimedStartingResources", - "qualified_path": "eternum::models::config::has_claimed_starting_resources", - "manifest_name": "eternum-HasClaimedStartingResources-636eaec7" + "tag": "eternum-GuildWhitelist", + "qualified_path": "eternum::models::guild::guild_whitelist", + "manifest_name": "eternum-GuildWhitelist-54f9b15d" }, { "kind": "DojoModel", @@ -23588,18 +23342,18 @@ "key": true }, { - "name": "current", - "type": "u128", - "key": false + "name": "config_id", + "type": "ID", + "key": true }, { - "name": "lifetime", - "type": "u128", + "name": "claimed", + "type": "bool", "key": false } ], - "class_hash": "0x3e7f76d49fffd245b285f60d01890894ba559a4f873c379fa47aa3e48027cf5", - "original_class_hash": "0x3e7f76d49fffd245b285f60d01890894ba559a4f873c379fa47aa3e48027cf5", + "class_hash": "0x3cb4e8e2d6bcd98f0d1bfbc7d8c06364033fde0dbba8ec1d459f10e8d63f79f", + "original_class_hash": "0x3cb4e8e2d6bcd98f0d1bfbc7d8c06364033fde0dbba8ec1d459f10e8d63f79f", "abi": [ { "type": "impl", @@ -23965,30 +23719,44 @@ }, { "type": "impl", - "name": "healthImpl", - "interface_name": "eternum::models::combat::Ihealth" + "name": "has_claimed_starting_resourcesImpl", + "interface_name": "eternum::models::config::Ihas_claimed_starting_resources" + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] }, { "type": "struct", - "name": "eternum::models::combat::Health", + "name": "eternum::models::config::HasClaimedStartingResources", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "current", - "type": "core::integer::u128" + "name": "config_id", + "type": "core::integer::u32" }, { - "name": "lifetime", - "type": "core::integer::u128" + "name": "claimed", + "type": "core::bool" } ] }, { "type": "interface", - "name": "eternum::models::combat::Ihealth", + "name": "eternum::models::config::Ihas_claimed_starting_resources", "items": [ { "type": "function", @@ -23996,7 +23764,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::combat::Health" + "type": "eternum::models::config::HasClaimedStartingResources" } ], "outputs": [], @@ -24006,36 +23774,36 @@ }, { "type": "event", - "name": "eternum::models::combat::health::Event", + "name": "eternum::models::config::has_claimed_starting_resources::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Health", - "qualified_path": "eternum::models::combat::health", - "manifest_name": "eternum-Health-3bf465a5" + "tag": "eternum-HasClaimedStartingResources", + "qualified_path": "eternum::models::config::has_claimed_starting_resources", + "manifest_name": "eternum-HasClaimedStartingResources-636eaec7" }, { "kind": "DojoModel", "members": [ { - "name": "hyperstructure_entity_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "timestamp", - "type": "u64", + "name": "current", + "type": "u128", "key": false }, { - "name": "co_owners", - "type": "Span<(ContractAddress, u16)>", + "name": "lifetime", + "type": "u128", "key": false } ], - "class_hash": "0x434157285de7631f7c799ea01e0c4b90eec277f4f99fe373403e5a40b1a7830", - "original_class_hash": "0x434157285de7631f7c799ea01e0c4b90eec277f4f99fe373403e5a40b1a7830", + "class_hash": "0x3e7f76d49fffd245b285f60d01890894ba559a4f873c379fa47aa3e48027cf5", + "original_class_hash": "0x3e7f76d49fffd245b285f60d01890894ba559a4f873c379fa47aa3e48027cf5", "abi": [ { "type": "impl", @@ -24401,40 +24169,30 @@ }, { "type": "impl", - "name": "hyperstructure_co_owners_changeImpl", - "interface_name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_co_owners_change" - }, - { - "type": "struct", - "name": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>", - "members": [ - { - "name": "snapshot", - "type": "@core::array::Array::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>" - } - ] + "name": "healthImpl", + "interface_name": "eternum::models::combat::Ihealth" }, { "type": "struct", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureCoOwnersChange", + "name": "eternum::models::combat::Health", "members": [ { - "name": "hyperstructure_entity_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "timestamp", - "type": "core::integer::u64" + "name": "current", + "type": "core::integer::u128" }, { - "name": "co_owners", - "type": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>" + "name": "lifetime", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_co_owners_change", + "name": "eternum::models::combat::Ihealth", "items": [ { "type": "function", @@ -24442,7 +24200,7 @@ "inputs": [ { "name": "model", - "type": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureCoOwnersChange" + "type": "eternum::models::combat::Health" } ], "outputs": [], @@ -24452,31 +24210,41 @@ }, { "type": "event", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_co_owners_change::Event", + "name": "eternum::models::combat::health::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HyperstructureCoOwnersChange", - "qualified_path": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_co_owners_change", - "manifest_name": "eternum-HyperstructureCoOwnersChange-73c7a6d4" + "tag": "eternum-Health", + "qualified_path": "eternum::models::combat::health", + "manifest_name": "eternum-Health-3bf465a5" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "id", "type": "ID", "key": true }, { - "name": "time_between_shares_change", + "name": "hyperstructure_entity_id", + "type": "ID", + "key": true + }, + { + "name": "co_owners", + "type": "Span<(ContractAddress, u16)>", + "key": false + }, + { + "name": "timestamp", "type": "u64", "key": false } ], - "class_hash": "0x3d652949de690cd8a5c1ccc771f43608e266e901d0cb2b4d20d0a947ecdc73d", - "original_class_hash": "0x3d652949de690cd8a5c1ccc771f43608e266e901d0cb2b4d20d0a947ecdc73d", + "class_hash": "0x590aa9c91d3f0211072cdf79aed8466143db269f213d11d28cefb2ab22bcb6", + "original_class_hash": "0x590aa9c91d3f0211072cdf79aed8466143db269f213d11d28cefb2ab22bcb6", "abi": [ { "type": "impl", @@ -24842,26 +24610,44 @@ }, { "type": "impl", - "name": "hyperstructure_configImpl", - "interface_name": "eternum::models::config::Ihyperstructure_config" + "name": "hyperstructure_co_owners_changeImpl", + "interface_name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_co_owners_change" }, { "type": "struct", - "name": "eternum::models::config::HyperstructureConfig", + "name": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>", "members": [ { - "name": "config_id", + "name": "snapshot", + "type": "@core::array::Array::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>" + } + ] + }, + { + "type": "struct", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureCoOwnersChange", + "members": [ + { + "name": "id", "type": "core::integer::u32" }, { - "name": "time_between_shares_change", + "name": "hyperstructure_entity_id", + "type": "core::integer::u32" + }, + { + "name": "co_owners", + "type": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::integer::u16)>" + }, + { + "name": "timestamp", "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::config::Ihyperstructure_config", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_co_owners_change", "items": [ { "type": "function", @@ -24869,7 +24655,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::HyperstructureConfig" + "type": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureCoOwnersChange" } ], "outputs": [], @@ -24879,36 +24665,31 @@ }, { "type": "event", - "name": "eternum::models::config::hyperstructure_config::Event", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_co_owners_change::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HyperstructureConfig", - "qualified_path": "eternum::models::config::hyperstructure_config", - "manifest_name": "eternum-HyperstructureConfig-4dbe3083" + "tag": "eternum-HyperstructureCoOwnersChange", + "qualified_path": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_co_owners_change", + "manifest_name": "eternum-HyperstructureCoOwnersChange-73c7a6d4" }, { "kind": "DojoModel", "members": [ { - "name": "hyperstructure_entity_id", - "type": "ID", - "key": true - }, - { - "name": "id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "timestamp", + "name": "time_between_shares_change", "type": "u64", "key": false } ], - "class_hash": "0x61a744dc91e569f85f697305bdd4f5f022e0575877727b5c128d34252eea6c5", - "original_class_hash": "0x61a744dc91e569f85f697305bdd4f5f022e0575877727b5c128d34252eea6c5", + "class_hash": "0x3d652949de690cd8a5c1ccc771f43608e266e901d0cb2b4d20d0a947ecdc73d", + "original_class_hash": "0x3d652949de690cd8a5c1ccc771f43608e266e901d0cb2b4d20d0a947ecdc73d", "abi": [ { "type": "impl", @@ -25274,30 +25055,26 @@ }, { "type": "impl", - "name": "hyperstructure_finishedImpl", - "interface_name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_finished" + "name": "hyperstructure_configImpl", + "interface_name": "eternum::models::config::Ihyperstructure_config" }, { "type": "struct", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureFinished", + "name": "eternum::models::config::HyperstructureConfig", "members": [ { - "name": "hyperstructure_entity_id", - "type": "core::integer::u32" - }, - { - "name": "id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "timestamp", + "name": "time_between_shares_change", "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_finished", + "name": "eternum::models::config::Ihyperstructure_config", "items": [ { "type": "function", @@ -25305,7 +25082,7 @@ "inputs": [ { "name": "model", - "type": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureFinished" + "type": "eternum::models::config::HyperstructureConfig" } ], "outputs": [], @@ -25315,36 +25092,46 @@ }, { "type": "event", - "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_finished::Event", + "name": "eternum::models::config::hyperstructure_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HyperstructureFinished", - "qualified_path": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_finished", - "manifest_name": "eternum-HyperstructureFinished-4b0440d5" + "tag": "eternum-HyperstructureConfig", + "qualified_path": "eternum::models::config::hyperstructure_config", + "manifest_name": "eternum-HyperstructureConfig-4dbe3083" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "id", "type": "ID", "key": true }, { - "name": "resource_type", - "type": "u8", + "name": "hyperstructure_entity_id", + "type": "ID", "key": true }, { - "name": "amount_for_completion", - "type": "u128", + "name": "contributor_entity_id", + "type": "ID", + "key": false + }, + { + "name": "contributions", + "type": "Span<(u8, u128)>", + "key": false + }, + { + "name": "timestamp", + "type": "u64", "key": false } ], - "class_hash": "0x3c386d7cfcd041771f3c6d33090470f44544c144d991db506a19030e5ea3e05", - "original_class_hash": "0x3c386d7cfcd041771f3c6d33090470f44544c144d991db506a19030e5ea3e05", + "class_hash": "0x2a63759152575e9a36473ace95c2a4407a060071a1a7f359436cfd8a1c5d779", + "original_class_hash": "0x2a63759152575e9a36473ace95c2a4407a060071a1a7f359436cfd8a1c5d779", "abi": [ { "type": "impl", @@ -25710,30 +25497,48 @@ }, { "type": "impl", - "name": "hyperstructure_resource_configImpl", - "interface_name": "eternum::models::config::Ihyperstructure_resource_config" + "name": "hyperstructure_contributionImpl", + "interface_name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_contribution" }, { "type": "struct", - "name": "eternum::models::config::HyperstructureResourceConfig", + "name": "core::array::Span::<(core::integer::u8, core::integer::u128)>", "members": [ { - "name": "config_id", + "name": "snapshot", + "type": "@core::array::Array::<(core::integer::u8, core::integer::u128)>" + } + ] + }, + { + "type": "struct", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureContribution", + "members": [ + { + "name": "id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" + "name": "hyperstructure_entity_id", + "type": "core::integer::u32" }, { - "name": "amount_for_completion", - "type": "core::integer::u128" + "name": "contributor_entity_id", + "type": "core::integer::u32" + }, + { + "name": "contributions", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" + }, + { + "name": "timestamp", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::config::Ihyperstructure_resource_config", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_contribution", "items": [ { "type": "function", @@ -25741,7 +25546,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::HyperstructureResourceConfig" + "type": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureContribution" } ], "outputs": [], @@ -25751,36 +25556,41 @@ }, { "type": "event", - "name": "eternum::models::config::hyperstructure_resource_config::Event", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_contribution::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HyperstructureResourceConfig", - "qualified_path": "eternum::models::config::hyperstructure_resource_config", - "manifest_name": "eternum-HyperstructureResourceConfig-34106fab" + "tag": "eternum-HyperstructureContribution", + "qualified_path": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_contribution", + "manifest_name": "eternum-HyperstructureContribution-3716a74e" }, { "kind": "DojoModel", "members": [ + { + "name": "id", + "type": "ID", + "key": true + }, { "name": "hyperstructure_entity_id", "type": "ID", "key": true }, { - "name": "last_updated_timestamp", - "type": "u64", + "name": "contributor_entity_id", + "type": "ID", "key": false }, { - "name": "last_updated_by", - "type": "ContractAddress", + "name": "timestamp", + "type": "u64", "key": false } ], - "class_hash": "0x4e65c6d4cd616d04441980af72f0eebf87edf0eae22911869bfd08510637539", - "original_class_hash": "0x4e65c6d4cd616d04441980af72f0eebf87edf0eae22911869bfd08510637539", + "class_hash": "0x300f8ebbd1c764b0da865d21cd1af3719282fb55ecd9b4555af1e794e23048", + "original_class_hash": "0x300f8ebbd1c764b0da865d21cd1af3719282fb55ecd9b4555af1e794e23048", "abi": [ { "type": "impl", @@ -26146,30 +25956,34 @@ }, { "type": "impl", - "name": "hyperstructure_updateImpl", - "interface_name": "eternum::models::hyperstructure::Ihyperstructure_update" + "name": "hyperstructure_finishedImpl", + "interface_name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_finished" }, { "type": "struct", - "name": "eternum::models::hyperstructure::HyperstructureUpdate", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureFinished", "members": [ + { + "name": "id", + "type": "core::integer::u32" + }, { "name": "hyperstructure_entity_id", "type": "core::integer::u32" }, { - "name": "last_updated_timestamp", - "type": "core::integer::u64" + "name": "contributor_entity_id", + "type": "core::integer::u32" }, { - "name": "last_updated_by", - "type": "core::starknet::contract_address::ContractAddress" + "name": "timestamp", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::hyperstructure::Ihyperstructure_update", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::Ihyperstructure_finished", "items": [ { "type": "function", @@ -26177,7 +25991,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::hyperstructure::HyperstructureUpdate" + "type": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::HyperstructureFinished" } ], "outputs": [], @@ -26187,36 +26001,36 @@ }, { "type": "event", - "name": "eternum::models::hyperstructure::hyperstructure_update::Event", + "name": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_finished::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-HyperstructureUpdate", - "qualified_path": "eternum::models::hyperstructure::hyperstructure_update", - "manifest_name": "eternum-HyperstructureUpdate-7602bcc6" + "tag": "eternum-HyperstructureFinished", + "qualified_path": "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_finished", + "manifest_name": "eternum-HyperstructureFinished-4b0440d5" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "level", - "type": "u64", - "key": false + "name": "resource_type", + "type": "u8", + "key": true }, { - "name": "valid_until", - "type": "u64", + "name": "amount_for_completion", + "type": "u128", "key": false } ], - "class_hash": "0x5c3197bdbd2938b015f89cbfe0c6c95a8ea5f3d85eb092e8b0531715841f35d", - "original_class_hash": "0x5c3197bdbd2938b015f89cbfe0c6c95a8ea5f3d85eb092e8b0531715841f35d", + "class_hash": "0x3c386d7cfcd041771f3c6d33090470f44544c144d991db506a19030e5ea3e05", + "original_class_hash": "0x3c386d7cfcd041771f3c6d33090470f44544c144d991db506a19030e5ea3e05", "abi": [ { "type": "impl", @@ -26582,30 +26396,30 @@ }, { "type": "impl", - "name": "levelImpl", - "interface_name": "eternum::models::level::Ilevel" + "name": "hyperstructure_resource_configImpl", + "interface_name": "eternum::models::config::Ihyperstructure_resource_config" }, { "type": "struct", - "name": "eternum::models::level::Level", + "name": "eternum::models::config::HyperstructureResourceConfig", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "level", - "type": "core::integer::u64" + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "valid_until", - "type": "core::integer::u64" + "name": "amount_for_completion", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::level::Ilevel", + "name": "eternum::models::config::Ihyperstructure_resource_config", "items": [ { "type": "function", @@ -26613,7 +26427,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::level::Level" + "type": "eternum::models::config::HyperstructureResourceConfig" } ], "outputs": [], @@ -26623,91 +26437,36 @@ }, { "type": "event", - "name": "eternum::models::level::level::Event", + "name": "eternum::models::config::hyperstructure_resource_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Level", - "qualified_path": "eternum::models::level::level", - "manifest_name": "eternum-Level-12edd20f" + "tag": "eternum-HyperstructureResourceConfig", + "qualified_path": "eternum::models::config::hyperstructure_resource_config", + "manifest_name": "eternum-HyperstructureResourceConfig-34106fab" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "hyperstructure_entity_id", "type": "ID", "key": true }, { - "name": "decay_interval", - "type": "u64", - "key": false - }, - { - "name": "max_level", + "name": "last_updated_timestamp", "type": "u64", "key": false }, { - "name": "decay_scaled", - "type": "u128", - "key": false - }, - { - "name": "cost_percentage_scaled", - "type": "u128", - "key": false - }, - { - "name": "base_multiplier", - "type": "u128", - "key": false - }, - { - "name": "wheat_base_amount", - "type": "u128", - "key": false - }, - { - "name": "fish_base_amount", - "type": "u128", - "key": false - }, - { - "name": "resource_1_cost_id", - "type": "ID", - "key": false - }, - { - "name": "resource_1_cost_count", - "type": "u32", - "key": false - }, - { - "name": "resource_2_cost_id", - "type": "ID", - "key": false - }, - { - "name": "resource_2_cost_count", - "type": "u32", - "key": false - }, - { - "name": "resource_3_cost_id", - "type": "ID", - "key": false - }, - { - "name": "resource_3_cost_count", - "type": "u32", + "name": "last_updated_by", + "type": "ContractAddress", "key": false } ], - "class_hash": "0x445564fbb2d245eb339ace1dc691215f63de43fb79c8b3b1d205e9a2478200c", - "original_class_hash": "0x445564fbb2d245eb339ace1dc691215f63de43fb79c8b3b1d205e9a2478200c", + "class_hash": "0x4e65c6d4cd616d04441980af72f0eebf87edf0eae22911869bfd08510637539", + "original_class_hash": "0x4e65c6d4cd616d04441980af72f0eebf87edf0eae22911869bfd08510637539", "abi": [ { "type": "impl", @@ -27073,74 +26832,30 @@ }, { "type": "impl", - "name": "leveling_configImpl", - "interface_name": "eternum::models::config::Ileveling_config" + "name": "hyperstructure_updateImpl", + "interface_name": "eternum::models::hyperstructure::Ihyperstructure_update" }, { "type": "struct", - "name": "eternum::models::config::LevelingConfig", + "name": "eternum::models::hyperstructure::HyperstructureUpdate", "members": [ { - "name": "config_id", + "name": "hyperstructure_entity_id", "type": "core::integer::u32" }, { - "name": "decay_interval", - "type": "core::integer::u64" - }, - { - "name": "max_level", + "name": "last_updated_timestamp", "type": "core::integer::u64" }, { - "name": "decay_scaled", - "type": "core::integer::u128" - }, - { - "name": "cost_percentage_scaled", - "type": "core::integer::u128" - }, - { - "name": "base_multiplier", - "type": "core::integer::u128" - }, - { - "name": "wheat_base_amount", - "type": "core::integer::u128" - }, - { - "name": "fish_base_amount", - "type": "core::integer::u128" - }, - { - "name": "resource_1_cost_id", - "type": "core::integer::u32" - }, - { - "name": "resource_1_cost_count", - "type": "core::integer::u32" - }, - { - "name": "resource_2_cost_id", - "type": "core::integer::u32" - }, - { - "name": "resource_2_cost_count", - "type": "core::integer::u32" - }, - { - "name": "resource_3_cost_id", - "type": "core::integer::u32" - }, - { - "name": "resource_3_cost_count", - "type": "core::integer::u32" + "name": "last_updated_by", + "type": "core::starknet::contract_address::ContractAddress" } ] }, { "type": "interface", - "name": "eternum::models::config::Ileveling_config", + "name": "eternum::models::hyperstructure::Ihyperstructure_update", "items": [ { "type": "function", @@ -27148,7 +26863,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::LevelingConfig" + "type": "eternum::models::hyperstructure::HyperstructureUpdate" } ], "outputs": [], @@ -27158,41 +26873,36 @@ }, { "type": "event", - "name": "eternum::models::config::leveling_config::Event", + "name": "eternum::models::hyperstructure::hyperstructure_update::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-LevelingConfig", - "qualified_path": "eternum::models::config::leveling_config", - "manifest_name": "eternum-LevelingConfig-1c0257fd" + "tag": "eternum-HyperstructureUpdate", + "qualified_path": "eternum::models::hyperstructure::hyperstructure_update", + "manifest_name": "eternum-HyperstructureUpdate-7602bcc6" }, { "kind": "DojoModel", "members": [ { - "name": "bank_entity_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "player", - "type": "ContractAddress", - "key": true - }, - { - "name": "resource_type", - "type": "u8", - "key": true + "name": "level", + "type": "u64", + "key": false }, { - "name": "shares", - "type": "Fixed", + "name": "valid_until", + "type": "u64", "key": false } ], - "class_hash": "0x1c4c49a0cf675da5af2cc8b4899310af3378e78795bffac77c6650050368ba4", - "original_class_hash": "0x1c4c49a0cf675da5af2cc8b4899310af3378e78795bffac77c6650050368ba4", + "class_hash": "0x5c3197bdbd2938b015f89cbfe0c6c95a8ea5f3d85eb092e8b0531715841f35d", + "original_class_hash": "0x5c3197bdbd2938b015f89cbfe0c6c95a8ea5f3d85eb092e8b0531715841f35d", "abi": [ { "type": "impl", @@ -27558,62 +27268,30 @@ }, { "type": "impl", - "name": "liquidityImpl", - "interface_name": "eternum::models::bank::liquidity::Iliquidity" - }, - { - "type": "enum", - "name": "core::bool", - "variants": [ - { - "name": "False", - "type": "()" - }, - { - "name": "True", - "type": "()" - } - ] - }, - { - "type": "struct", - "name": "cubit::f128::types::fixed::Fixed", - "members": [ - { - "name": "mag", - "type": "core::integer::u128" - }, - { - "name": "sign", - "type": "core::bool" - } - ] + "name": "levelImpl", + "interface_name": "eternum::models::level::Ilevel" }, { "type": "struct", - "name": "eternum::models::bank::liquidity::Liquidity", + "name": "eternum::models::level::Level", "members": [ { - "name": "bank_entity_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "player", - "type": "core::starknet::contract_address::ContractAddress" - }, - { - "name": "resource_type", - "type": "core::integer::u8" + "name": "level", + "type": "core::integer::u64" }, { - "name": "shares", - "type": "cubit::f128::types::fixed::Fixed" + "name": "valid_until", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::bank::liquidity::Iliquidity", + "name": "eternum::models::level::Ilevel", "items": [ { "type": "function", @@ -27621,7 +27299,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::bank::liquidity::Liquidity" + "type": "eternum::models::level::Level" } ], "outputs": [], @@ -27631,61 +27309,91 @@ }, { "type": "event", - "name": "eternum::models::bank::liquidity::liquidity::Event", + "name": "eternum::models::level::level::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Liquidity", - "qualified_path": "eternum::models::bank::liquidity::liquidity", - "manifest_name": "eternum-Liquidity-6c6683f5" + "tag": "eternum-Level", + "qualified_path": "eternum::models::level::level", + "manifest_name": "eternum-Level-12edd20f" }, { "kind": "DojoModel", "members": [ { - "name": "bank_entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "entity_id", - "type": "ID", - "key": true + "name": "decay_interval", + "type": "u64", + "key": false }, { - "name": "resource_type", - "type": "u8", + "name": "max_level", + "type": "u64", "key": false }, { - "name": "lords_amount", + "name": "decay_scaled", "type": "u128", "key": false }, { - "name": "resource_amount", + "name": "cost_percentage_scaled", "type": "u128", "key": false }, { - "name": "resource_price", + "name": "base_multiplier", "type": "u128", "key": false }, { - "name": "add", - "type": "bool", + "name": "wheat_base_amount", + "type": "u128", "key": false }, { - "name": "timestamp", - "type": "u64", + "name": "fish_base_amount", + "type": "u128", + "key": false + }, + { + "name": "resource_1_cost_id", + "type": "ID", + "key": false + }, + { + "name": "resource_1_cost_count", + "type": "u32", + "key": false + }, + { + "name": "resource_2_cost_id", + "type": "ID", + "key": false + }, + { + "name": "resource_2_cost_count", + "type": "u32", + "key": false + }, + { + "name": "resource_3_cost_id", + "type": "ID", + "key": false + }, + { + "name": "resource_3_cost_count", + "type": "u32", "key": false } ], - "class_hash": "0x717194503940a76fac5e90aedd77cbd8cbd2f9fc15fdd9bb5cf1808a413eb8f", - "original_class_hash": "0x717194503940a76fac5e90aedd77cbd8cbd2f9fc15fdd9bb5cf1808a413eb8f", + "class_hash": "0x445564fbb2d245eb339ace1dc691215f63de43fb79c8b3b1d205e9a2478200c", + "original_class_hash": "0x445564fbb2d245eb339ace1dc691215f63de43fb79c8b3b1d205e9a2478200c", "abi": [ { "type": "impl", @@ -28051,64 +27759,74 @@ }, { "type": "impl", - "name": "liquidity_eventImpl", - "interface_name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::Iliquidity_event" - }, - { - "type": "enum", - "name": "core::bool", - "variants": [ - { - "name": "False", - "type": "()" - }, - { - "name": "True", - "type": "()" - } - ] + "name": "leveling_configImpl", + "interface_name": "eternum::models::config::Ileveling_config" }, { "type": "struct", - "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::LiquidityEvent", + "name": "eternum::models::config::LevelingConfig", "members": [ { - "name": "bank_entity_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "entity_id", - "type": "core::integer::u32" + "name": "decay_interval", + "type": "core::integer::u64" }, { - "name": "resource_type", - "type": "core::integer::u8" + "name": "max_level", + "type": "core::integer::u64" }, { - "name": "lords_amount", + "name": "decay_scaled", "type": "core::integer::u128" }, { - "name": "resource_amount", + "name": "cost_percentage_scaled", "type": "core::integer::u128" }, { - "name": "resource_price", + "name": "base_multiplier", "type": "core::integer::u128" }, { - "name": "add", - "type": "core::bool" + "name": "wheat_base_amount", + "type": "core::integer::u128" }, { - "name": "timestamp", - "type": "core::integer::u64" + "name": "fish_base_amount", + "type": "core::integer::u128" + }, + { + "name": "resource_1_cost_id", + "type": "core::integer::u32" + }, + { + "name": "resource_1_cost_count", + "type": "core::integer::u32" + }, + { + "name": "resource_2_cost_id", + "type": "core::integer::u32" + }, + { + "name": "resource_2_cost_count", + "type": "core::integer::u32" + }, + { + "name": "resource_3_cost_id", + "type": "core::integer::u32" + }, + { + "name": "resource_3_cost_count", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::Iliquidity_event", + "name": "eternum::models::config::Ileveling_config", "items": [ { "type": "function", @@ -28116,7 +27834,7 @@ "inputs": [ { "name": "model", - "type": "eternum::systems::bank::contracts::liquidity::liquidity_systems::LiquidityEvent" + "type": "eternum::models::config::LevelingConfig" } ], "outputs": [], @@ -28126,46 +27844,41 @@ }, { "type": "event", - "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::liquidity_event::Event", + "name": "eternum::models::config::leveling_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-LiquidityEvent", - "qualified_path": "eternum::systems::bank::contracts::liquidity::liquidity_systems::liquidity_event", - "manifest_name": "eternum-LiquidityEvent-2811e183" + "tag": "eternum-LevelingConfig", + "qualified_path": "eternum::models::config::leveling_config", + "manifest_name": "eternum-LevelingConfig-1c0257fd" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "bank_entity_id", "type": "ID", "key": true }, { - "name": "wheat_burn_amount", - "type": "u128", - "key": false - }, - { - "name": "fish_burn_amount", - "type": "u128", - "key": false + "name": "player", + "type": "ContractAddress", + "key": true }, { - "name": "reward_resource_amount", - "type": "u128", - "key": false + "name": "resource_type", + "type": "u8", + "key": true }, { - "name": "shards_mines_fail_probability", - "type": "u128", + "name": "shares", + "type": "Fixed", "key": false } ], - "class_hash": "0x45509d54e6cd775df6403ebd516a03a3fe1a991ef142f4e1095d0189d8846df", - "original_class_hash": "0x45509d54e6cd775df6403ebd516a03a3fe1a991ef142f4e1095d0189d8846df", + "class_hash": "0x1c4c49a0cf675da5af2cc8b4899310af3378e78795bffac77c6650050368ba4", + "original_class_hash": "0x1c4c49a0cf675da5af2cc8b4899310af3378e78795bffac77c6650050368ba4", "abi": [ { "type": "impl", @@ -28531,38 +28244,62 @@ }, { "type": "impl", - "name": "map_explore_configImpl", - "interface_name": "eternum::models::config::Imap_explore_config" + "name": "liquidityImpl", + "interface_name": "eternum::models::bank::liquidity::Iliquidity" + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] }, { "type": "struct", - "name": "eternum::models::config::MapExploreConfig", + "name": "cubit::f128::types::fixed::Fixed", "members": [ { - "name": "config_id", - "type": "core::integer::u32" + "name": "mag", + "type": "core::integer::u128" }, { - "name": "wheat_burn_amount", - "type": "core::integer::u128" + "name": "sign", + "type": "core::bool" + } + ] + }, + { + "type": "struct", + "name": "eternum::models::bank::liquidity::Liquidity", + "members": [ + { + "name": "bank_entity_id", + "type": "core::integer::u32" }, { - "name": "fish_burn_amount", - "type": "core::integer::u128" + "name": "player", + "type": "core::starknet::contract_address::ContractAddress" }, { - "name": "reward_resource_amount", - "type": "core::integer::u128" + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "shards_mines_fail_probability", - "type": "core::integer::u128" + "name": "shares", + "type": "cubit::f128::types::fixed::Fixed" } ] }, { "type": "interface", - "name": "eternum::models::config::Imap_explore_config", + "name": "eternum::models::bank::liquidity::Iliquidity", "items": [ { "type": "function", @@ -28570,7 +28307,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::MapExploreConfig" + "type": "eternum::models::bank::liquidity::Liquidity" } ], "outputs": [], @@ -28580,51 +28317,51 @@ }, { "type": "event", - "name": "eternum::models::config::map_explore_config::Event", + "name": "eternum::models::bank::liquidity::liquidity::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-MapExploreConfig", - "qualified_path": "eternum::models::config::map_explore_config", - "manifest_name": "eternum-MapExploreConfig-58fbbfce" + "tag": "eternum-Liquidity", + "qualified_path": "eternum::models::bank::liquidity::liquidity", + "manifest_name": "eternum-Liquidity-6c6683f5" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "bank_entity_id", "type": "ID", "key": true }, { - "name": "col", - "type": "u32", + "name": "entity_id", + "type": "ID", "key": true }, { - "name": "row", - "type": "u32", - "key": true + "name": "resource_type", + "type": "u8", + "key": false }, { - "name": "id", - "type": "ID", - "key": true + "name": "lords_amount", + "type": "u128", + "key": false }, { - "name": "entity_owner_id", - "type": "ID", + "name": "resource_amount", + "type": "u128", "key": false }, { - "name": "biome", - "type": "Biome", + "name": "resource_price", + "type": "u128", "key": false }, { - "name": "reward", - "type": "Span<(u8, u128)>", + "name": "add", + "type": "bool", "key": false }, { @@ -28633,8 +28370,8 @@ "key": false } ], - "class_hash": "0x77f0363c47bc3050398d2b3d829a6c94fa4c0b4da994c61e0870b0d62858f46", - "original_class_hash": "0x77f0363c47bc3050398d2b3d829a6c94fa4c0b4da994c61e0870b0d62858f46", + "class_hash": "0x717194503940a76fac5e90aedd77cbd8cbd2f9fc15fdd9bb5cf1808a413eb8f", + "original_class_hash": "0x717194503940a76fac5e90aedd77cbd8cbd2f9fc15fdd9bb5cf1808a413eb8f", "abi": [ { "type": "impl", @@ -29000,120 +28737,54 @@ }, { "type": "impl", - "name": "map_exploredImpl", - "interface_name": "eternum::systems::map::contracts::map_systems::Imap_explored" + "name": "liquidity_eventImpl", + "interface_name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::Iliquidity_event" }, { "type": "enum", - "name": "eternum::utils::map::biomes::Biome", + "name": "core::bool", "variants": [ { - "name": "DeepOcean", - "type": "()" - }, - { - "name": "Ocean", - "type": "()" - }, - { - "name": "Beach", - "type": "()" - }, - { - "name": "Scorched", - "type": "()" - }, - { - "name": "Bare", - "type": "()" - }, - { - "name": "Tundra", - "type": "()" - }, - { - "name": "Snow", - "type": "()" - }, - { - "name": "TemperateDesert", - "type": "()" - }, - { - "name": "Shrubland", - "type": "()" - }, - { - "name": "Taiga", - "type": "()" - }, - { - "name": "Grassland", - "type": "()" - }, - { - "name": "TemperateDeciduousForest", - "type": "()" - }, - { - "name": "TemperateRainForest", - "type": "()" - }, - { - "name": "SubtropicalDesert", - "type": "()" - }, - { - "name": "TropicalSeasonalForest", + "name": "False", "type": "()" }, { - "name": "TropicalRainForest", + "name": "True", "type": "()" } ] }, { "type": "struct", - "name": "core::array::Span::<(core::integer::u8, core::integer::u128)>", - "members": [ - { - "name": "snapshot", - "type": "@core::array::Array::<(core::integer::u8, core::integer::u128)>" - } - ] - }, - { - "type": "struct", - "name": "eternum::systems::map::contracts::map_systems::MapExplored", + "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::LiquidityEvent", "members": [ { - "name": "entity_id", + "name": "bank_entity_id", "type": "core::integer::u32" }, { - "name": "col", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "row", - "type": "core::integer::u32" + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "id", - "type": "core::integer::u32" + "name": "lords_amount", + "type": "core::integer::u128" }, { - "name": "entity_owner_id", - "type": "core::integer::u32" + "name": "resource_amount", + "type": "core::integer::u128" }, { - "name": "biome", - "type": "eternum::utils::map::biomes::Biome" + "name": "resource_price", + "type": "core::integer::u128" }, { - "name": "reward", - "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" + "name": "add", + "type": "core::bool" }, { "name": "timestamp", @@ -29123,7 +28794,7 @@ }, { "type": "interface", - "name": "eternum::systems::map::contracts::map_systems::Imap_explored", + "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::Iliquidity_event", "items": [ { "type": "function", @@ -29131,7 +28802,7 @@ "inputs": [ { "name": "model", - "type": "eternum::systems::map::contracts::map_systems::MapExplored" + "type": "eternum::systems::bank::contracts::liquidity::liquidity_systems::LiquidityEvent" } ], "outputs": [], @@ -29141,46 +28812,46 @@ }, { "type": "event", - "name": "eternum::systems::map::contracts::map_systems::map_explored::Event", + "name": "eternum::systems::bank::contracts::liquidity::liquidity_systems::liquidity_event::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-MapExplored", - "qualified_path": "eternum::systems::map::contracts::map_systems::map_explored", - "manifest_name": "eternum-MapExplored-53a86a9a" + "tag": "eternum-LiquidityEvent", + "qualified_path": "eternum::systems::bank::contracts::liquidity::liquidity_systems::liquidity_event", + "manifest_name": "eternum-LiquidityEvent-2811e183" }, { "kind": "DojoModel", "members": [ { - "name": "bank_entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "resource_type", - "type": "u8", - "key": true + "name": "wheat_burn_amount", + "type": "u128", + "key": false }, { - "name": "lords_amount", + "name": "fish_burn_amount", "type": "u128", "key": false }, { - "name": "resource_amount", + "name": "reward_resource_amount", "type": "u128", "key": false }, { - "name": "total_shares", - "type": "Fixed", + "name": "shards_mines_fail_probability", + "type": "u128", "key": false } ], - "class_hash": "0x12c9607184b30c61c0de0112cbe53326381cf522612566b3e32903aa507b888", - "original_class_hash": "0x12c9607184b30c61c0de0112cbe53326381cf522612566b3e32903aa507b888", + "class_hash": "0x45509d54e6cd775df6403ebd516a03a3fe1a991ef142f4e1095d0189d8846df", + "original_class_hash": "0x45509d54e6cd775df6403ebd516a03a3fe1a991ef142f4e1095d0189d8846df", "abi": [ { "type": "impl", @@ -29546,66 +29217,38 @@ }, { "type": "impl", - "name": "marketImpl", - "interface_name": "eternum::models::bank::market::Imarket" - }, - { - "type": "enum", - "name": "core::bool", - "variants": [ - { - "name": "False", - "type": "()" - }, - { - "name": "True", - "type": "()" - } - ] - }, - { - "type": "struct", - "name": "cubit::f128::types::fixed::Fixed", - "members": [ - { - "name": "mag", - "type": "core::integer::u128" - }, - { - "name": "sign", - "type": "core::bool" - } - ] + "name": "map_explore_configImpl", + "interface_name": "eternum::models::config::Imap_explore_config" }, { "type": "struct", - "name": "eternum::models::bank::market::Market", + "name": "eternum::models::config::MapExploreConfig", "members": [ { - "name": "bank_entity_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" + "name": "wheat_burn_amount", + "type": "core::integer::u128" }, { - "name": "lords_amount", + "name": "fish_burn_amount", "type": "core::integer::u128" }, { - "name": "resource_amount", + "name": "reward_resource_amount", "type": "core::integer::u128" }, { - "name": "total_shares", - "type": "cubit::f128::types::fixed::Fixed" + "name": "shards_mines_fail_probability", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::bank::market::Imarket", + "name": "eternum::models::config::Imap_explore_config", "items": [ { "type": "function", @@ -29613,7 +29256,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::bank::market::Market" + "type": "eternum::models::config::MapExploreConfig" } ], "outputs": [], @@ -29623,36 +29266,61 @@ }, { "type": "event", - "name": "eternum::models::bank::market::market::Event", + "name": "eternum::models::config::map_explore_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Market", - "qualified_path": "eternum::models::bank::market::market", - "manifest_name": "eternum-Market-6dd46062" + "tag": "eternum-MapExploreConfig", + "qualified_path": "eternum::models::config::map_explore_config", + "manifest_name": "eternum-MapExploreConfig-58fbbfce" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "troops", - "type": "Troops", + "name": "col", + "type": "u32", + "key": true + }, + { + "name": "row", + "type": "u32", + "key": true + }, + { + "name": "id", + "type": "ID", + "key": true + }, + { + "name": "entity_owner_id", + "type": "ID", "key": false }, { - "name": "rewards", + "name": "biome", + "type": "Biome", + "key": false + }, + { + "name": "reward", "type": "Span<(u8, u128)>", "key": false + }, + { + "name": "timestamp", + "type": "u64", + "key": false } ], - "class_hash": "0x182c4a5ea3b8ff80e27dbb7460c584f18c7b13dccb4f35146497cbb76d9ef5", - "original_class_hash": "0x182c4a5ea3b8ff80e27dbb7460c584f18c7b13dccb4f35146497cbb76d9ef5", + "class_hash": "0x77f0363c47bc3050398d2b3d829a6c94fa4c0b4da994c61e0870b0d62858f46", + "original_class_hash": "0x77f0363c47bc3050398d2b3d829a6c94fa4c0b4da994c61e0870b0d62858f46", "abi": [ { "type": "impl", @@ -30018,24 +29686,76 @@ }, { "type": "impl", - "name": "mercenaries_configImpl", - "interface_name": "eternum::models::config::Imercenaries_config" + "name": "map_exploredImpl", + "interface_name": "eternum::systems::map::contracts::map_systems::Imap_explored" }, { - "type": "struct", - "name": "eternum::models::combat::Troops", - "members": [ + "type": "enum", + "name": "eternum::utils::map::biomes::Biome", + "variants": [ { - "name": "knight_count", - "type": "core::integer::u64" + "name": "DeepOcean", + "type": "()" }, { - "name": "paladin_count", - "type": "core::integer::u64" + "name": "Ocean", + "type": "()" }, { - "name": "crossbowman_count", - "type": "core::integer::u64" + "name": "Beach", + "type": "()" + }, + { + "name": "Scorched", + "type": "()" + }, + { + "name": "Bare", + "type": "()" + }, + { + "name": "Tundra", + "type": "()" + }, + { + "name": "Snow", + "type": "()" + }, + { + "name": "TemperateDesert", + "type": "()" + }, + { + "name": "Shrubland", + "type": "()" + }, + { + "name": "Taiga", + "type": "()" + }, + { + "name": "Grassland", + "type": "()" + }, + { + "name": "TemperateDeciduousForest", + "type": "()" + }, + { + "name": "TemperateRainForest", + "type": "()" + }, + { + "name": "SubtropicalDesert", + "type": "()" + }, + { + "name": "TropicalSeasonalForest", + "type": "()" + }, + { + "name": "TropicalRainForest", + "type": "()" } ] }, @@ -30051,25 +29771,45 @@ }, { "type": "struct", - "name": "eternum::models::config::MercenariesConfig", + "name": "eternum::systems::map::contracts::map_systems::MapExplored", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "troops", - "type": "eternum::models::combat::Troops" + "name": "col", + "type": "core::integer::u32" }, { - "name": "rewards", + "name": "row", + "type": "core::integer::u32" + }, + { + "name": "id", + "type": "core::integer::u32" + }, + { + "name": "entity_owner_id", + "type": "core::integer::u32" + }, + { + "name": "biome", + "type": "eternum::utils::map::biomes::Biome" + }, + { + "name": "reward", "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" + }, + { + "name": "timestamp", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::config::Imercenaries_config", + "name": "eternum::systems::map::contracts::map_systems::Imap_explored", "items": [ { "type": "function", @@ -30077,7 +29817,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::MercenariesConfig" + "type": "eternum::systems::map::contracts::map_systems::MapExplored" } ], "outputs": [], @@ -30087,41 +29827,46 @@ }, { "type": "event", - "name": "eternum::models::config::mercenaries_config::Event", + "name": "eternum::systems::map::contracts::map_systems::map_explored::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-MercenariesConfig", - "qualified_path": "eternum::models::config::mercenaries_config", - "manifest_name": "eternum-MercenariesConfig-4c7248d4" + "tag": "eternum-MapExplored", + "qualified_path": "eternum::systems::map::contracts::map_systems::map_explored", + "manifest_name": "eternum-MapExplored-53a86a9a" }, { "kind": "DojoModel", "members": [ { - "name": "identity", - "type": "ContractAddress", + "name": "bank_entity_id", + "type": "ID", "key": true }, { - "name": "channel", - "type": "felt252", + "name": "resource_type", + "type": "u8", "key": true }, { - "name": "content", - "type": "ByteArray", + "name": "lords_amount", + "type": "u128", "key": false }, { - "name": "salt", - "type": "felt252", - "key": true + "name": "resource_amount", + "type": "u128", + "key": false + }, + { + "name": "total_shares", + "type": "Fixed", + "key": false } ], - "class_hash": "0x64e28daa625d93984ba81abf967265463bc04730d79aade3c3c50cf9587bb44", - "original_class_hash": "0x64e28daa625d93984ba81abf967265463bc04730d79aade3c3c50cf9587bb44", + "class_hash": "0x12c9607184b30c61c0de0112cbe53326381cf522612566b3e32903aa507b888", + "original_class_hash": "0x12c9607184b30c61c0de0112cbe53326381cf522612566b3e32903aa507b888", "abi": [ { "type": "impl", @@ -30487,34 +30232,66 @@ }, { "type": "impl", - "name": "messageImpl", - "interface_name": "eternum::models::message::Imessage" + "name": "marketImpl", + "interface_name": "eternum::models::bank::market::Imarket" + }, + { + "type": "enum", + "name": "core::bool", + "variants": [ + { + "name": "False", + "type": "()" + }, + { + "name": "True", + "type": "()" + } + ] }, { "type": "struct", - "name": "eternum::models::message::Message", + "name": "cubit::f128::types::fixed::Fixed", "members": [ { - "name": "identity", - "type": "core::starknet::contract_address::ContractAddress" + "name": "mag", + "type": "core::integer::u128" }, { - "name": "channel", - "type": "core::felt252" + "name": "sign", + "type": "core::bool" + } + ] + }, + { + "type": "struct", + "name": "eternum::models::bank::market::Market", + "members": [ + { + "name": "bank_entity_id", + "type": "core::integer::u32" }, { - "name": "content", - "type": "core::byte_array::ByteArray" + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "salt", - "type": "core::felt252" + "name": "lords_amount", + "type": "core::integer::u128" + }, + { + "name": "resource_amount", + "type": "core::integer::u128" + }, + { + "name": "total_shares", + "type": "cubit::f128::types::fixed::Fixed" } ] }, { "type": "interface", - "name": "eternum::models::message::Imessage", + "name": "eternum::models::bank::market::Imarket", "items": [ { "type": "function", @@ -30522,7 +30299,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::message::Message" + "type": "eternum::models::bank::market::Market" } ], "outputs": [], @@ -30532,61 +30309,36 @@ }, { "type": "event", - "name": "eternum::models::message::message::Event", + "name": "eternum::models::bank::market::market::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Message", - "qualified_path": "eternum::models::message::message", - "manifest_name": "eternum-Message-6697fdd5" + "tag": "eternum-Market", + "qualified_path": "eternum::models::bank::market::market", + "manifest_name": "eternum-Market-6dd46062" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "sec_per_km", - "type": "u16", - "key": false - }, - { - "name": "blocked", - "type": "bool", - "key": false - }, - { - "name": "round_trip", - "type": "bool", - "key": false - }, - { - "name": "start_coord_x", - "type": "u32", - "key": false - }, - { - "name": "start_coord_y", - "type": "u32", - "key": false - }, - { - "name": "intermediate_coord_x", - "type": "u32", + "name": "troops", + "type": "Troops", "key": false }, { - "name": "intermediate_coord_y", - "type": "u32", + "name": "rewards", + "type": "Span<(u8, u128)>", "key": false } ], - "class_hash": "0x568dc0d15cd5118220b0ed44df78d910267b87baec7f0835b2b89ec76d3d1fe", - "original_class_hash": "0x568dc0d15cd5118220b0ed44df78d910267b87baec7f0835b2b89ec76d3d1fe", + "class_hash": "0x182c4a5ea3b8ff80e27dbb7460c584f18c7b13dccb4f35146497cbb76d9ef5", + "original_class_hash": "0x182c4a5ea3b8ff80e27dbb7460c584f18c7b13dccb4f35146497cbb76d9ef5", "abi": [ { "type": "impl", @@ -30952,64 +30704,58 @@ }, { "type": "impl", - "name": "movableImpl", - "interface_name": "eternum::models::movable::Imovable" + "name": "mercenaries_configImpl", + "interface_name": "eternum::models::config::Imercenaries_config" }, { - "type": "enum", - "name": "core::bool", - "variants": [ + "type": "struct", + "name": "eternum::models::combat::Troops", + "members": [ { - "name": "False", - "type": "()" + "name": "knight_count", + "type": "core::integer::u64" }, { - "name": "True", - "type": "()" + "name": "paladin_count", + "type": "core::integer::u64" + }, + { + "name": "crossbowman_count", + "type": "core::integer::u64" } ] }, { "type": "struct", - "name": "eternum::models::movable::Movable", + "name": "core::array::Span::<(core::integer::u8, core::integer::u128)>", "members": [ { - "name": "entity_id", - "type": "core::integer::u32" - }, - { - "name": "sec_per_km", - "type": "core::integer::u16" - }, - { - "name": "blocked", - "type": "core::bool" - }, - { - "name": "round_trip", - "type": "core::bool" - }, - { - "name": "start_coord_x", - "type": "core::integer::u32" - }, + "name": "snapshot", + "type": "@core::array::Array::<(core::integer::u8, core::integer::u128)>" + } + ] + }, + { + "type": "struct", + "name": "eternum::models::config::MercenariesConfig", + "members": [ { - "name": "start_coord_y", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "intermediate_coord_x", - "type": "core::integer::u32" + "name": "troops", + "type": "eternum::models::combat::Troops" }, { - "name": "intermediate_coord_y", - "type": "core::integer::u32" + "name": "rewards", + "type": "core::array::Span::<(core::integer::u8, core::integer::u128)>" } ] }, { "type": "interface", - "name": "eternum::models::movable::Imovable", + "name": "eternum::models::config::Imercenaries_config", "items": [ { "type": "function", @@ -31017,7 +30763,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::movable::Movable" + "type": "eternum::models::config::MercenariesConfig" } ], "outputs": [], @@ -31027,31 +30773,41 @@ }, { "type": "event", - "name": "eternum::models::movable::movable::Event", + "name": "eternum::models::config::mercenaries_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Movable", - "qualified_path": "eternum::models::movable::movable", - "manifest_name": "eternum-Movable-68de8765" + "tag": "eternum-MercenariesConfig", + "qualified_path": "eternum::models::config::mercenaries_config", + "manifest_name": "eternum-MercenariesConfig-4c7248d4" }, { "kind": "DojoModel", "members": [ { - "name": "order_id", - "type": "ID", + "name": "identity", + "type": "ContractAddress", "key": true }, { - "name": "hyperstructure_count", - "type": "u32", + "name": "channel", + "type": "felt252", + "key": true + }, + { + "name": "content", + "type": "ByteArray", "key": false + }, + { + "name": "salt", + "type": "felt252", + "key": true } ], - "class_hash": "0x70a12fcb57b41160181aa0d794c982868d727dc3bae3fcbda4ccf9ccd60fd60", - "original_class_hash": "0x70a12fcb57b41160181aa0d794c982868d727dc3bae3fcbda4ccf9ccd60fd60", + "class_hash": "0x64e28daa625d93984ba81abf967265463bc04730d79aade3c3c50cf9587bb44", + "original_class_hash": "0x64e28daa625d93984ba81abf967265463bc04730d79aade3c3c50cf9587bb44", "abi": [ { "type": "impl", @@ -31417,26 +31173,34 @@ }, { "type": "impl", - "name": "ordersImpl", - "interface_name": "eternum::models::order::Iorders" + "name": "messageImpl", + "interface_name": "eternum::models::message::Imessage" }, { "type": "struct", - "name": "eternum::models::order::Orders", + "name": "eternum::models::message::Message", "members": [ { - "name": "order_id", - "type": "core::integer::u32" + "name": "identity", + "type": "core::starknet::contract_address::ContractAddress" }, { - "name": "hyperstructure_count", - "type": "core::integer::u32" + "name": "channel", + "type": "core::felt252" + }, + { + "name": "content", + "type": "core::byte_array::ByteArray" + }, + { + "name": "salt", + "type": "core::felt252" } ] }, { "type": "interface", - "name": "eternum::models::order::Iorders", + "name": "eternum::models::message::Imessage", "items": [ { "type": "function", @@ -31444,7 +31208,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::order::Orders" + "type": "eternum::models::message::Message" } ], "outputs": [], @@ -31454,14 +31218,14 @@ }, { "type": "event", - "name": "eternum::models::order::orders::Event", + "name": "eternum::models::message::message::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Orders", - "qualified_path": "eternum::models::order::orders", - "manifest_name": "eternum-Orders-4423b5ef" + "tag": "eternum-Message", + "qualified_path": "eternum::models::message::message", + "manifest_name": "eternum-Message-6697fdd5" }, { "kind": "DojoModel", @@ -31472,13 +31236,43 @@ "key": true }, { - "name": "resource_types", - "type": "u256", + "name": "sec_per_km", + "type": "u16", + "key": false + }, + { + "name": "blocked", + "type": "bool", + "key": false + }, + { + "name": "round_trip", + "type": "bool", + "key": false + }, + { + "name": "start_coord_x", + "type": "u32", + "key": false + }, + { + "name": "start_coord_y", + "type": "u32", + "key": false + }, + { + "name": "intermediate_coord_x", + "type": "u32", + "key": false + }, + { + "name": "intermediate_coord_y", + "type": "u32", "key": false } ], - "class_hash": "0x203f059bd2dcd4b0c44ff80bd9ca90341c56566819d52495b7d172c462f03ad", - "original_class_hash": "0x203f059bd2dcd4b0c44ff80bd9ca90341c56566819d52495b7d172c462f03ad", + "class_hash": "0x568dc0d15cd5118220b0ed44df78d910267b87baec7f0835b2b89ec76d3d1fe", + "original_class_hash": "0x568dc0d15cd5118220b0ed44df78d910267b87baec7f0835b2b89ec76d3d1fe", "abi": [ { "type": "impl", @@ -31844,40 +31638,64 @@ }, { "type": "impl", - "name": "owned_resources_trackerImpl", - "interface_name": "eternum::models::resources::Iowned_resources_tracker" + "name": "movableImpl", + "interface_name": "eternum::models::movable::Imovable" }, { - "type": "struct", - "name": "core::integer::u256", - "members": [ + "type": "enum", + "name": "core::bool", + "variants": [ { - "name": "low", - "type": "core::integer::u128" + "name": "False", + "type": "()" }, { - "name": "high", - "type": "core::integer::u128" + "name": "True", + "type": "()" } ] }, { "type": "struct", - "name": "eternum::models::resources::OwnedResourcesTracker", + "name": "eternum::models::movable::Movable", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "resource_types", - "type": "core::integer::u256" + "name": "sec_per_km", + "type": "core::integer::u16" + }, + { + "name": "blocked", + "type": "core::bool" + }, + { + "name": "round_trip", + "type": "core::bool" + }, + { + "name": "start_coord_x", + "type": "core::integer::u32" + }, + { + "name": "start_coord_y", + "type": "core::integer::u32" + }, + { + "name": "intermediate_coord_x", + "type": "core::integer::u32" + }, + { + "name": "intermediate_coord_y", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::resources::Iowned_resources_tracker", + "name": "eternum::models::movable::Imovable", "items": [ { "type": "function", @@ -31885,7 +31703,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::resources::OwnedResourcesTracker" + "type": "eternum::models::movable::Movable" } ], "outputs": [], @@ -31895,31 +31713,31 @@ }, { "type": "event", - "name": "eternum::models::resources::owned_resources_tracker::Event", + "name": "eternum::models::movable::movable::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-OwnedResourcesTracker", - "qualified_path": "eternum::models::resources::owned_resources_tracker", - "manifest_name": "eternum-OwnedResourcesTracker-660391c3" + "tag": "eternum-Movable", + "qualified_path": "eternum::models::movable::movable", + "manifest_name": "eternum-Movable-68de8765" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "order_id", "type": "ID", "key": true }, { - "name": "address", - "type": "ContractAddress", + "name": "hyperstructure_count", + "type": "u32", "key": false } ], - "class_hash": "0xcb632c126afe3b481f00c96970daa4b09c7233e0d1cbbef4ae83dd0fb81e30", - "original_class_hash": "0xcb632c126afe3b481f00c96970daa4b09c7233e0d1cbbef4ae83dd0fb81e30", + "class_hash": "0x70a12fcb57b41160181aa0d794c982868d727dc3bae3fcbda4ccf9ccd60fd60", + "original_class_hash": "0x70a12fcb57b41160181aa0d794c982868d727dc3bae3fcbda4ccf9ccd60fd60", "abi": [ { "type": "impl", @@ -32285,26 +32103,26 @@ }, { "type": "impl", - "name": "ownerImpl", - "interface_name": "eternum::models::owner::Iowner" + "name": "ordersImpl", + "interface_name": "eternum::models::order::Iorders" }, { "type": "struct", - "name": "eternum::models::owner::Owner", + "name": "eternum::models::order::Orders", "members": [ { - "name": "entity_id", + "name": "order_id", "type": "core::integer::u32" }, { - "name": "address", - "type": "core::starknet::contract_address::ContractAddress" + "name": "hyperstructure_count", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::owner::Iowner", + "name": "eternum::models::order::Iorders", "items": [ { "type": "function", @@ -32312,7 +32130,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::owner::Owner" + "type": "eternum::models::order::Orders" } ], "outputs": [], @@ -32322,14 +32140,14 @@ }, { "type": "event", - "name": "eternum::models::owner::owner::Event", + "name": "eternum::models::order::orders::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Owner", - "qualified_path": "eternum::models::owner::owner", - "manifest_name": "eternum-Owner-7395b328" + "tag": "eternum-Orders", + "qualified_path": "eternum::models::order::orders", + "manifest_name": "eternum-Orders-4423b5ef" }, { "kind": "DojoModel", @@ -32340,18 +32158,13 @@ "key": true }, { - "name": "population", - "type": "u32", - "key": false - }, - { - "name": "capacity", - "type": "u32", + "name": "resource_types", + "type": "u256", "key": false } ], - "class_hash": "0x4544f38465d6ea7b422ec52214799c605d3f0722bc820bb87f68d8d985cc939", - "original_class_hash": "0x4544f38465d6ea7b422ec52214799c605d3f0722bc820bb87f68d8d985cc939", + "class_hash": "0x203f059bd2dcd4b0c44ff80bd9ca90341c56566819d52495b7d172c462f03ad", + "original_class_hash": "0x203f059bd2dcd4b0c44ff80bd9ca90341c56566819d52495b7d172c462f03ad", "abi": [ { "type": "impl", @@ -32717,30 +32530,40 @@ }, { "type": "impl", - "name": "populationImpl", - "interface_name": "eternum::models::population::Ipopulation" + "name": "owned_resources_trackerImpl", + "interface_name": "eternum::models::resources::Iowned_resources_tracker" }, { "type": "struct", - "name": "eternum::models::population::Population", + "name": "core::integer::u256", "members": [ { - "name": "entity_id", - "type": "core::integer::u32" + "name": "low", + "type": "core::integer::u128" }, { - "name": "population", + "name": "high", + "type": "core::integer::u128" + } + ] + }, + { + "type": "struct", + "name": "eternum::models::resources::OwnedResourcesTracker", + "members": [ + { + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "capacity", - "type": "core::integer::u32" + "name": "resource_types", + "type": "core::integer::u256" } ] }, { "type": "interface", - "name": "eternum::models::population::Ipopulation", + "name": "eternum::models::resources::Iowned_resources_tracker", "items": [ { "type": "function", @@ -32748,7 +32571,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::population::Population" + "type": "eternum::models::resources::OwnedResourcesTracker" } ], "outputs": [], @@ -32758,31 +32581,31 @@ }, { "type": "event", - "name": "eternum::models::population::population::Event", + "name": "eternum::models::resources::owned_resources_tracker::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Population", - "qualified_path": "eternum::models::population::population", - "manifest_name": "eternum-Population-28c60ba8" + "tag": "eternum-OwnedResourcesTracker", + "qualified_path": "eternum::models::resources::owned_resources_tracker", + "manifest_name": "eternum-OwnedResourcesTracker-660391c3" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "base_population", - "type": "u32", + "name": "address", + "type": "ContractAddress", "key": false } ], - "class_hash": "0x79e412a179637857fcb1eb1b95328946c0533fcdf98e174ef8e16639408c474", - "original_class_hash": "0x79e412a179637857fcb1eb1b95328946c0533fcdf98e174ef8e16639408c474", + "class_hash": "0xcb632c126afe3b481f00c96970daa4b09c7233e0d1cbbef4ae83dd0fb81e30", + "original_class_hash": "0xcb632c126afe3b481f00c96970daa4b09c7233e0d1cbbef4ae83dd0fb81e30", "abi": [ { "type": "impl", @@ -33148,26 +32971,26 @@ }, { "type": "impl", - "name": "population_configImpl", - "interface_name": "eternum::models::config::Ipopulation_config" + "name": "ownerImpl", + "interface_name": "eternum::models::owner::Iowner" }, { "type": "struct", - "name": "eternum::models::config::PopulationConfig", + "name": "eternum::models::owner::Owner", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "base_population", - "type": "core::integer::u32" + "name": "address", + "type": "core::starknet::contract_address::ContractAddress" } ] }, { "type": "interface", - "name": "eternum::models::config::Ipopulation_config", + "name": "eternum::models::owner::Iowner", "items": [ { "type": "function", @@ -33175,7 +32998,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::PopulationConfig" + "type": "eternum::models::owner::Owner" } ], "outputs": [], @@ -33185,14 +33008,14 @@ }, { "type": "event", - "name": "eternum::models::config::population_config::Event", + "name": "eternum::models::owner::owner::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-PopulationConfig", - "qualified_path": "eternum::models::config::population_config", - "manifest_name": "eternum-PopulationConfig-8cead3bb" + "tag": "eternum-Owner", + "qualified_path": "eternum::models::owner::owner", + "manifest_name": "eternum-Owner-7395b328" }, { "kind": "DojoModel", @@ -33203,18 +33026,18 @@ "key": true }, { - "name": "x", + "name": "population", "type": "u32", "key": false }, { - "name": "y", + "name": "capacity", "type": "u32", "key": false } ], - "class_hash": "0x3ac127612b62df864e3d3d4bd2e86216e3a23b8319626e38dfd11127a4affb1", - "original_class_hash": "0x3ac127612b62df864e3d3d4bd2e86216e3a23b8319626e38dfd11127a4affb1", + "class_hash": "0x4544f38465d6ea7b422ec52214799c605d3f0722bc820bb87f68d8d985cc939", + "original_class_hash": "0x4544f38465d6ea7b422ec52214799c605d3f0722bc820bb87f68d8d985cc939", "abi": [ { "type": "impl", @@ -33580,30 +33403,30 @@ }, { "type": "impl", - "name": "positionImpl", - "interface_name": "eternum::models::position::Iposition" + "name": "populationImpl", + "interface_name": "eternum::models::population::Ipopulation" }, { "type": "struct", - "name": "eternum::models::position::Position", + "name": "eternum::models::population::Population", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "x", + "name": "population", "type": "core::integer::u32" }, { - "name": "y", + "name": "capacity", "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::position::Iposition", + "name": "eternum::models::population::Ipopulation", "items": [ { "type": "function", @@ -33611,7 +33434,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::position::Position" + "type": "eternum::models::population::Population" } ], "outputs": [], @@ -33621,56 +33444,31 @@ }, { "type": "event", - "name": "eternum::models::position::position::Event", + "name": "eternum::models::population::population::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Position", - "qualified_path": "eternum::models::position::position", - "manifest_name": "eternum-Position-421d605b" + "tag": "eternum-Population", + "qualified_path": "eternum::models::population::population", + "manifest_name": "eternum-Population-28c60ba8" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "resource_type", - "type": "u8", - "key": true - }, - { - "name": "building_count", - "type": "u8", - "key": false - }, - { - "name": "production_rate", - "type": "u128", - "key": false - }, - { - "name": "consumption_rate", - "type": "u128", - "key": false - }, - { - "name": "last_updated_tick", - "type": "u64", - "key": false - }, - { - "name": "input_finish_tick", - "type": "u64", + "name": "base_population", + "type": "u32", "key": false } ], - "class_hash": "0x5888324fcb35eeeee69a7f61bb64e842b618be87d98933a69f41f6986a8825a", - "original_class_hash": "0x5888324fcb35eeeee69a7f61bb64e842b618be87d98933a69f41f6986a8825a", + "class_hash": "0x79e412a179637857fcb1eb1b95328946c0533fcdf98e174ef8e16639408c474", + "original_class_hash": "0x79e412a179637857fcb1eb1b95328946c0533fcdf98e174ef8e16639408c474", "abi": [ { "type": "impl", @@ -34036,46 +33834,26 @@ }, { "type": "impl", - "name": "productionImpl", - "interface_name": "eternum::models::production::Iproduction" + "name": "population_configImpl", + "interface_name": "eternum::models::config::Ipopulation_config" }, { "type": "struct", - "name": "eternum::models::production::Production", + "name": "eternum::models::config::PopulationConfig", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" - }, - { - "name": "building_count", - "type": "core::integer::u8" - }, - { - "name": "production_rate", - "type": "core::integer::u128" - }, - { - "name": "consumption_rate", - "type": "core::integer::u128" - }, - { - "name": "last_updated_tick", - "type": "core::integer::u64" - }, - { - "name": "input_finish_tick", - "type": "core::integer::u64" + "name": "base_population", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::production::Iproduction", + "name": "eternum::models::config::Ipopulation_config", "items": [ { "type": "function", @@ -34083,7 +33861,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::production::Production" + "type": "eternum::models::config::PopulationConfig" } ], "outputs": [], @@ -34093,41 +33871,36 @@ }, { "type": "event", - "name": "eternum::models::production::production::Event", + "name": "eternum::models::config::population_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Production", - "qualified_path": "eternum::models::production::production", - "manifest_name": "eternum-Production-30841685" + "tag": "eternum-PopulationConfig", + "qualified_path": "eternum::models::config::population_config", + "manifest_name": "eternum-PopulationConfig-8cead3bb" }, { "kind": "DojoModel", "members": [ { - "name": "resource_type", - "type": "u8", + "name": "entity_id", + "type": "ID", "key": true }, { - "name": "amount", - "type": "u128", - "key": false - }, - { - "name": "input_count", - "type": "u128", + "name": "x", + "type": "u32", "key": false }, { - "name": "output_count", - "type": "u128", + "name": "y", + "type": "u32", "key": false } ], - "class_hash": "0x1e40d5fceb2966b7f2fb3cbf724e91b32d0b29847634a5202dbda33a765140e", - "original_class_hash": "0x1e40d5fceb2966b7f2fb3cbf724e91b32d0b29847634a5202dbda33a765140e", + "class_hash": "0x3ac127612b62df864e3d3d4bd2e86216e3a23b8319626e38dfd11127a4affb1", + "original_class_hash": "0x3ac127612b62df864e3d3d4bd2e86216e3a23b8319626e38dfd11127a4affb1", "abi": [ { "type": "impl", @@ -34493,34 +34266,30 @@ }, { "type": "impl", - "name": "production_configImpl", - "interface_name": "eternum::models::config::Iproduction_config" + "name": "positionImpl", + "interface_name": "eternum::models::position::Iposition" }, { "type": "struct", - "name": "eternum::models::config::ProductionConfig", + "name": "eternum::models::position::Position", "members": [ { - "name": "resource_type", - "type": "core::integer::u8" - }, - { - "name": "amount", - "type": "core::integer::u128" + "name": "entity_id", + "type": "core::integer::u32" }, { - "name": "input_count", - "type": "core::integer::u128" + "name": "x", + "type": "core::integer::u32" }, { - "name": "output_count", - "type": "core::integer::u128" + "name": "y", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::config::Iproduction_config", + "name": "eternum::models::position::Iposition", "items": [ { "type": "function", @@ -34528,7 +34297,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::ProductionConfig" + "type": "eternum::models::position::Position" } ], "outputs": [], @@ -34538,41 +34307,56 @@ }, { "type": "event", - "name": "eternum::models::config::production_config::Event", + "name": "eternum::models::position::position::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ProductionConfig", - "qualified_path": "eternum::models::config::production_config", - "manifest_name": "eternum-ProductionConfig-58cf51ed" + "tag": "eternum-Position", + "qualified_path": "eternum::models::position::position", + "manifest_name": "eternum-Position-421d605b" }, { "kind": "DojoModel", "members": [ { - "name": "output_resource_type", - "type": "u8", + "name": "entity_id", + "type": "ID", "key": true }, { - "name": "index", + "name": "resource_type", "type": "u8", "key": true }, { - "name": "input_resource_type", + "name": "building_count", "type": "u8", "key": false }, { - "name": "input_resource_amount", + "name": "production_rate", "type": "u128", "key": false + }, + { + "name": "consumption_rate", + "type": "u128", + "key": false + }, + { + "name": "last_updated_tick", + "type": "u64", + "key": false + }, + { + "name": "input_finish_tick", + "type": "u64", + "key": false } ], - "class_hash": "0x614e4d2681d41b3a85242763beb13ea881b698f870f9f05b3ce6387e5cfb17d", - "original_class_hash": "0x614e4d2681d41b3a85242763beb13ea881b698f870f9f05b3ce6387e5cfb17d", + "class_hash": "0x5888324fcb35eeeee69a7f61bb64e842b618be87d98933a69f41f6986a8825a", + "original_class_hash": "0x5888324fcb35eeeee69a7f61bb64e842b618be87d98933a69f41f6986a8825a", "abi": [ { "type": "impl", @@ -34938,34 +34722,46 @@ }, { "type": "impl", - "name": "production_inputImpl", - "interface_name": "eternum::models::production::Iproduction_input" + "name": "productionImpl", + "interface_name": "eternum::models::production::Iproduction" }, { "type": "struct", - "name": "eternum::models::production::ProductionInput", + "name": "eternum::models::production::Production", "members": [ { - "name": "output_resource_type", - "type": "core::integer::u8" + "name": "entity_id", + "type": "core::integer::u32" }, { - "name": "index", + "name": "resource_type", "type": "core::integer::u8" }, { - "name": "input_resource_type", + "name": "building_count", "type": "core::integer::u8" }, { - "name": "input_resource_amount", + "name": "production_rate", "type": "core::integer::u128" + }, + { + "name": "consumption_rate", + "type": "core::integer::u128" + }, + { + "name": "last_updated_tick", + "type": "core::integer::u64" + }, + { + "name": "input_finish_tick", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::production::Iproduction_input", + "name": "eternum::models::production::Iproduction", "items": [ { "type": "function", @@ -34973,7 +34769,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::production::ProductionInput" + "type": "eternum::models::production::Production" } ], "outputs": [], @@ -34983,36 +34779,41 @@ }, { "type": "event", - "name": "eternum::models::production::production_input::Event", + "name": "eternum::models::production::production::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ProductionInput", - "qualified_path": "eternum::models::production::production_input", - "manifest_name": "eternum-ProductionInput-4aa7f2e2" + "tag": "eternum-Production", + "qualified_path": "eternum::models::production::production", + "manifest_name": "eternum-Production-30841685" }, { "kind": "DojoModel", "members": [ { - "name": "input_resource_type", + "name": "resource_type", "type": "u8", "key": true }, { - "name": "index", - "type": "u8", - "key": true + "name": "amount", + "type": "u128", + "key": false }, { - "name": "output_resource_type", - "type": "u8", + "name": "input_count", + "type": "u128", + "key": false + }, + { + "name": "output_count", + "type": "u128", "key": false } ], - "class_hash": "0x2e75cf512a3c4de702aa94604d01298a27cc5a289d7d80d9020f7bf38f3a464", - "original_class_hash": "0x2e75cf512a3c4de702aa94604d01298a27cc5a289d7d80d9020f7bf38f3a464", + "class_hash": "0x1e40d5fceb2966b7f2fb3cbf724e91b32d0b29847634a5202dbda33a765140e", + "original_class_hash": "0x1e40d5fceb2966b7f2fb3cbf724e91b32d0b29847634a5202dbda33a765140e", "abi": [ { "type": "impl", @@ -35378,30 +35179,34 @@ }, { "type": "impl", - "name": "production_outputImpl", - "interface_name": "eternum::models::production::Iproduction_output" + "name": "production_configImpl", + "interface_name": "eternum::models::config::Iproduction_config" }, { "type": "struct", - "name": "eternum::models::production::ProductionOutput", + "name": "eternum::models::config::ProductionConfig", "members": [ { - "name": "input_resource_type", + "name": "resource_type", "type": "core::integer::u8" }, { - "name": "index", - "type": "core::integer::u8" + "name": "amount", + "type": "core::integer::u128" }, { - "name": "output_resource_type", - "type": "core::integer::u8" + "name": "input_count", + "type": "core::integer::u128" + }, + { + "name": "output_count", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::production::Iproduction_output", + "name": "eternum::models::config::Iproduction_config", "items": [ { "type": "function", @@ -35409,7 +35214,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::production::ProductionOutput" + "type": "eternum::models::config::ProductionConfig" } ], "outputs": [], @@ -35419,36 +35224,31 @@ }, { "type": "event", - "name": "eternum::models::production::production_output::Event", + "name": "eternum::models::config::production_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ProductionOutput", - "qualified_path": "eternum::models::production::production_output", - "manifest_name": "eternum-ProductionOutput-3fcdac94" + "tag": "eternum-ProductionConfig", + "qualified_path": "eternum::models::config::production_config", + "manifest_name": "eternum-ProductionConfig-58cf51ed" }, { "kind": "DojoModel", "members": [ { - "name": "hyperstructure_entity_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "resource_type", - "type": "u8", - "key": true - }, - { - "name": "amount", - "type": "u128", + "name": "deadline_tick", + "type": "u64", "key": false } ], - "class_hash": "0x108235218feb79c91ab2d962b97a2e6c032129bbfd125d210942e5c282025ee", - "original_class_hash": "0x108235218feb79c91ab2d962b97a2e6c032129bbfd125d210942e5c282025ee", + "class_hash": "0x2d752662304df227f0b6f758c828c98b7012bc65a07edca586c4b4da583fe62", + "original_class_hash": "0x2d752662304df227f0b6f758c828c98b7012bc65a07edca586c4b4da583fe62", "abi": [ { "type": "impl", @@ -35814,30 +35614,26 @@ }, { "type": "impl", - "name": "progressImpl", - "interface_name": "eternum::models::hyperstructure::Iprogress" + "name": "production_deadlineImpl", + "interface_name": "eternum::models::production::Iproduction_deadline" }, { "type": "struct", - "name": "eternum::models::hyperstructure::Progress", + "name": "eternum::models::production::ProductionDeadline", "members": [ { - "name": "hyperstructure_entity_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" - }, - { - "name": "amount", - "type": "core::integer::u128" + "name": "deadline_tick", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::hyperstructure::Iprogress", + "name": "eternum::models::production::Iproduction_deadline", "items": [ { "type": "function", @@ -35845,7 +35641,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::hyperstructure::Progress" + "type": "eternum::models::production::ProductionDeadline" } ], "outputs": [], @@ -35855,31 +35651,41 @@ }, { "type": "event", - "name": "eternum::models::hyperstructure::progress::Event", + "name": "eternum::models::production::production_deadline::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Progress", - "qualified_path": "eternum::models::hyperstructure::progress", - "manifest_name": "eternum-Progress-87eb8002" + "tag": "eternum-ProductionDeadline", + "qualified_path": "eternum::models::production::production_deadline", + "manifest_name": "eternum-ProductionDeadline-11a9e189" }, { "kind": "DojoModel", "members": [ { - "name": "army_id", - "type": "ID", + "name": "output_resource_type", + "type": "u8", "key": true }, { - "name": "protectee_id", - "type": "ID", + "name": "index", + "type": "u8", + "key": true + }, + { + "name": "input_resource_type", + "type": "u8", + "key": false + }, + { + "name": "input_resource_amount", + "type": "u128", "key": false } ], - "class_hash": "0x5c87fcaac3db2f0f4bb317415cb01fde2ed30dd229e58b2c89ebd6b2f2f12a4", - "original_class_hash": "0x5c87fcaac3db2f0f4bb317415cb01fde2ed30dd229e58b2c89ebd6b2f2f12a4", + "class_hash": "0x614e4d2681d41b3a85242763beb13ea881b698f870f9f05b3ce6387e5cfb17d", + "original_class_hash": "0x614e4d2681d41b3a85242763beb13ea881b698f870f9f05b3ce6387e5cfb17d", "abi": [ { "type": "impl", @@ -36245,26 +36051,34 @@ }, { "type": "impl", - "name": "protecteeImpl", - "interface_name": "eternum::models::combat::Iprotectee" + "name": "production_inputImpl", + "interface_name": "eternum::models::production::Iproduction_input" }, { "type": "struct", - "name": "eternum::models::combat::Protectee", + "name": "eternum::models::production::ProductionInput", "members": [ { - "name": "army_id", - "type": "core::integer::u32" + "name": "output_resource_type", + "type": "core::integer::u8" }, { - "name": "protectee_id", - "type": "core::integer::u32" + "name": "index", + "type": "core::integer::u8" + }, + { + "name": "input_resource_type", + "type": "core::integer::u8" + }, + { + "name": "input_resource_amount", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::combat::Iprotectee", + "name": "eternum::models::production::Iproduction_input", "items": [ { "type": "function", @@ -36272,7 +36086,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::combat::Protectee" + "type": "eternum::models::production::ProductionInput" } ], "outputs": [], @@ -36282,31 +36096,36 @@ }, { "type": "event", - "name": "eternum::models::combat::protectee::Event", + "name": "eternum::models::production::production_input::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Protectee", - "qualified_path": "eternum::models::combat::protectee", - "manifest_name": "eternum-Protectee-6e671952" + "tag": "eternum-ProductionInput", + "qualified_path": "eternum::models::production::production_input", + "manifest_name": "eternum-ProductionInput-4aa7f2e2" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", - "type": "ID", + "name": "input_resource_type", + "type": "u8", "key": true }, { - "name": "army_id", - "type": "ID", + "name": "index", + "type": "u8", + "key": true + }, + { + "name": "output_resource_type", + "type": "u8", "key": false } ], - "class_hash": "0x14dee9755de66c42e7f54b899afeb65a1edda40a33a79945f0fbea6a13a617b", - "original_class_hash": "0x14dee9755de66c42e7f54b899afeb65a1edda40a33a79945f0fbea6a13a617b", + "class_hash": "0x2e75cf512a3c4de702aa94604d01298a27cc5a289d7d80d9020f7bf38f3a464", + "original_class_hash": "0x2e75cf512a3c4de702aa94604d01298a27cc5a289d7d80d9020f7bf38f3a464", "abi": [ { "type": "impl", @@ -36672,26 +36491,30 @@ }, { "type": "impl", - "name": "protectorImpl", - "interface_name": "eternum::models::combat::Iprotector" + "name": "production_outputImpl", + "interface_name": "eternum::models::production::Iproduction_output" }, { "type": "struct", - "name": "eternum::models::combat::Protector", + "name": "eternum::models::production::ProductionOutput", "members": [ { - "name": "entity_id", - "type": "core::integer::u32" + "name": "input_resource_type", + "type": "core::integer::u8" }, { - "name": "army_id", - "type": "core::integer::u32" + "name": "index", + "type": "core::integer::u8" + }, + { + "name": "output_resource_type", + "type": "core::integer::u8" } ] }, { "type": "interface", - "name": "eternum::models::combat::Iprotector", + "name": "eternum::models::production::Iproduction_output", "items": [ { "type": "function", @@ -36699,7 +36522,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::combat::Protector" + "type": "eternum::models::production::ProductionOutput" } ], "outputs": [], @@ -36709,31 +36532,36 @@ }, { "type": "event", - "name": "eternum::models::combat::protector::Event", + "name": "eternum::models::production::production_output::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Protector", - "qualified_path": "eternum::models::combat::protector", - "manifest_name": "eternum-Protector-177334e3" + "tag": "eternum-ProductionOutput", + "qualified_path": "eternum::models::production::production_output", + "manifest_name": "eternum-ProductionOutput-3fcdac94" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "hyperstructure_entity_id", "type": "ID", "key": true }, { - "name": "value", + "name": "resource_type", + "type": "u8", + "key": true + }, + { + "name": "amount", "type": "u128", "key": false } ], - "class_hash": "0x647a6ebed7dcc66f7a804a638ac53c50abc64133b3d57cfacf72b62e502a162", - "original_class_hash": "0x647a6ebed7dcc66f7a804a638ac53c50abc64133b3d57cfacf72b62e502a162", + "class_hash": "0x108235218feb79c91ab2d962b97a2e6c032129bbfd125d210942e5c282025ee", + "original_class_hash": "0x108235218feb79c91ab2d962b97a2e6c032129bbfd125d210942e5c282025ee", "abi": [ { "type": "impl", @@ -37099,26 +36927,30 @@ }, { "type": "impl", - "name": "quantityImpl", - "interface_name": "eternum::models::quantity::Iquantity" + "name": "progressImpl", + "interface_name": "eternum::models::hyperstructure::Iprogress" }, { "type": "struct", - "name": "eternum::models::quantity::Quantity", + "name": "eternum::models::hyperstructure::Progress", "members": [ { - "name": "entity_id", + "name": "hyperstructure_entity_id", "type": "core::integer::u32" }, { - "name": "value", + "name": "resource_type", + "type": "core::integer::u8" + }, + { + "name": "amount", "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::quantity::Iquantity", + "name": "eternum::models::hyperstructure::Iprogress", "items": [ { "type": "function", @@ -37126,7 +36958,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::quantity::Quantity" + "type": "eternum::models::hyperstructure::Progress" } ], "outputs": [], @@ -37136,31 +36968,31 @@ }, { "type": "event", - "name": "eternum::models::quantity::quantity::Event", + "name": "eternum::models::hyperstructure::progress::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Quantity", - "qualified_path": "eternum::models::quantity::quantity", - "manifest_name": "eternum-Quantity-3adcab42" + "tag": "eternum-Progress", + "qualified_path": "eternum::models::hyperstructure::progress", + "manifest_name": "eternum-Progress-87eb8002" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", - "type": "felt252", + "name": "army_id", + "type": "ID", "key": true }, { - "name": "count", - "type": "u128", + "name": "protectee_id", + "type": "ID", "key": false } ], - "class_hash": "0x2220d491d661ebb5dfaed6e3602c9791b289bd728fe7c2f909d48fd2a9b0604", - "original_class_hash": "0x2220d491d661ebb5dfaed6e3602c9791b289bd728fe7c2f909d48fd2a9b0604", + "class_hash": "0x5c87fcaac3db2f0f4bb317415cb01fde2ed30dd229e58b2c89ebd6b2f2f12a4", + "original_class_hash": "0x5c87fcaac3db2f0f4bb317415cb01fde2ed30dd229e58b2c89ebd6b2f2f12a4", "abi": [ { "type": "impl", @@ -37526,26 +37358,26 @@ }, { "type": "impl", - "name": "quantity_trackerImpl", - "interface_name": "eternum::models::quantity::Iquantity_tracker" + "name": "protecteeImpl", + "interface_name": "eternum::models::combat::Iprotectee" }, { "type": "struct", - "name": "eternum::models::quantity::QuantityTracker", + "name": "eternum::models::combat::Protectee", "members": [ { - "name": "entity_id", - "type": "core::felt252" + "name": "army_id", + "type": "core::integer::u32" }, { - "name": "count", - "type": "core::integer::u128" + "name": "protectee_id", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::quantity::Iquantity_tracker", + "name": "eternum::models::combat::Iprotectee", "items": [ { "type": "function", @@ -37553,7 +37385,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::quantity::QuantityTracker" + "type": "eternum::models::combat::Protectee" } ], "outputs": [], @@ -37563,14 +37395,14 @@ }, { "type": "event", - "name": "eternum::models::quantity::quantity_tracker::Event", + "name": "eternum::models::combat::protectee::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-QuantityTracker", - "qualified_path": "eternum::models::quantity::quantity_tracker", - "manifest_name": "eternum-QuantityTracker-1889ed7d" + "tag": "eternum-Protectee", + "qualified_path": "eternum::models::combat::protectee", + "manifest_name": "eternum-Protectee-6e671952" }, { "kind": "DojoModel", @@ -37581,53 +37413,13 @@ "key": true }, { - "name": "realm_id", + "name": "army_id", "type": "ID", "key": false - }, - { - "name": "resource_types_packed", - "type": "u128", - "key": false - }, - { - "name": "resource_types_count", - "type": "u8", - "key": false - }, - { - "name": "cities", - "type": "u8", - "key": false - }, - { - "name": "harbors", - "type": "u8", - "key": false - }, - { - "name": "rivers", - "type": "u8", - "key": false - }, - { - "name": "regions", - "type": "u8", - "key": false - }, - { - "name": "wonder", - "type": "u8", - "key": false - }, - { - "name": "order", - "type": "u8", - "key": false } ], - "class_hash": "0x52bcea2d0f21b18ccae2ae44fc190323441aa6c3a2f16ea19de835df54afef8", - "original_class_hash": "0x52bcea2d0f21b18ccae2ae44fc190323441aa6c3a2f16ea19de835df54afef8", + "class_hash": "0x14dee9755de66c42e7f54b899afeb65a1edda40a33a79945f0fbea6a13a617b", + "original_class_hash": "0x14dee9755de66c42e7f54b899afeb65a1edda40a33a79945f0fbea6a13a617b", "abi": [ { "type": "impl", @@ -37993,58 +37785,26 @@ }, { "type": "impl", - "name": "realmImpl", - "interface_name": "eternum::models::realm::Irealm" + "name": "protectorImpl", + "interface_name": "eternum::models::combat::Iprotector" }, { "type": "struct", - "name": "eternum::models::realm::Realm", + "name": "eternum::models::combat::Protector", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "realm_id", + "name": "army_id", "type": "core::integer::u32" - }, - { - "name": "resource_types_packed", - "type": "core::integer::u128" - }, - { - "name": "resource_types_count", - "type": "core::integer::u8" - }, - { - "name": "cities", - "type": "core::integer::u8" - }, - { - "name": "harbors", - "type": "core::integer::u8" - }, - { - "name": "rivers", - "type": "core::integer::u8" - }, - { - "name": "regions", - "type": "core::integer::u8" - }, - { - "name": "wonder", - "type": "core::integer::u8" - }, - { - "name": "order", - "type": "core::integer::u8" } ] }, { "type": "interface", - "name": "eternum::models::realm::Irealm", + "name": "eternum::models::combat::Iprotector", "items": [ { "type": "function", @@ -38052,7 +37812,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::realm::Realm" + "type": "eternum::models::combat::Protector" } ], "outputs": [], @@ -38062,36 +37822,31 @@ }, { "type": "event", - "name": "eternum::models::realm::realm::Event", + "name": "eternum::models::combat::protector::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Realm", - "qualified_path": "eternum::models::realm::realm", - "manifest_name": "eternum-Realm-68a0f35d" + "tag": "eternum-Protector", + "qualified_path": "eternum::models::combat::protector", + "manifest_name": "eternum-Protector-177334e3" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "detached_resource_id", - "type": "ID", - "key": false - }, - { - "name": "detached_resource_count", - "type": "u32", + "name": "value", + "type": "u128", "key": false } ], - "class_hash": "0x92a43c9c368570d80d7a167747b9606d95da18eb76d48f0d2d7ec31a8f96c7", - "original_class_hash": "0x92a43c9c368570d80d7a167747b9606d95da18eb76d48f0d2d7ec31a8f96c7", + "class_hash": "0x647a6ebed7dcc66f7a804a638ac53c50abc64133b3d57cfacf72b62e502a162", + "original_class_hash": "0x647a6ebed7dcc66f7a804a638ac53c50abc64133b3d57cfacf72b62e502a162", "abi": [ { "type": "impl", @@ -38457,30 +38212,26 @@ }, { "type": "impl", - "name": "realm_free_mint_configImpl", - "interface_name": "eternum::models::config::Irealm_free_mint_config" + "name": "quantityImpl", + "interface_name": "eternum::models::quantity::Iquantity" }, { "type": "struct", - "name": "eternum::models::config::RealmFreeMintConfig", + "name": "eternum::models::quantity::Quantity", "members": [ { - "name": "config_id", - "type": "core::integer::u32" - }, - { - "name": "detached_resource_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "detached_resource_count", - "type": "core::integer::u32" + "name": "value", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::config::Irealm_free_mint_config", + "name": "eternum::models::quantity::Iquantity", "items": [ { "type": "function", @@ -38488,7 +38239,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::RealmFreeMintConfig" + "type": "eternum::models::quantity::Quantity" } ], "outputs": [], @@ -38498,36 +38249,31 @@ }, { "type": "event", - "name": "eternum::models::config::realm_free_mint_config::Event", + "name": "eternum::models::quantity::quantity::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-RealmFreeMintConfig", - "qualified_path": "eternum::models::config::realm_free_mint_config", - "manifest_name": "eternum-RealmFreeMintConfig-767aa72c" + "tag": "eternum-Quantity", + "qualified_path": "eternum::models::quantity::quantity", + "manifest_name": "eternum-Quantity-3adcab42" }, { "kind": "DojoModel", "members": [ { "name": "entity_id", - "type": "ID", - "key": true - }, - { - "name": "resource_type", - "type": "u8", + "type": "felt252", "key": true }, { - "name": "balance", + "name": "count", "type": "u128", "key": false } ], - "class_hash": "0x12144ea5cd5d1f216e3ed3697924ed710d09be5882fef8fea901335d03ae50e", - "original_class_hash": "0x12144ea5cd5d1f216e3ed3697924ed710d09be5882fef8fea901335d03ae50e", + "class_hash": "0x2220d491d661ebb5dfaed6e3602c9791b289bd728fe7c2f909d48fd2a9b0604", + "original_class_hash": "0x2220d491d661ebb5dfaed6e3602c9791b289bd728fe7c2f909d48fd2a9b0604", "abi": [ { "type": "impl", @@ -38893,30 +38639,26 @@ }, { "type": "impl", - "name": "resourceImpl", - "interface_name": "eternum::models::resources::Iresource" + "name": "quantity_trackerImpl", + "interface_name": "eternum::models::quantity::Iquantity_tracker" }, { "type": "struct", - "name": "eternum::models::resources::Resource", + "name": "eternum::models::quantity::QuantityTracker", "members": [ { "name": "entity_id", - "type": "core::integer::u32" - }, - { - "name": "resource_type", - "type": "core::integer::u8" + "type": "core::felt252" }, { - "name": "balance", + "name": "count", "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::resources::Iresource", + "name": "eternum::models::quantity::Iquantity_tracker", "items": [ { "type": "function", @@ -38924,7 +38666,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::resources::Resource" + "type": "eternum::models::quantity::QuantityTracker" } ], "outputs": [], @@ -38934,41 +38676,71 @@ }, { "type": "event", - "name": "eternum::models::resources::resource::Event", + "name": "eternum::models::quantity::quantity_tracker::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Resource", - "qualified_path": "eternum::models::resources::resource", - "manifest_name": "eternum-Resource-6aa2c384" + "tag": "eternum-QuantityTracker", + "qualified_path": "eternum::models::quantity::quantity_tracker", + "manifest_name": "eternum-QuantityTracker-1889ed7d" }, { "kind": "DojoModel", "members": [ { - "name": "owner_entity_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "approved_entity_id", + "name": "realm_id", "type": "ID", - "key": true + "key": false }, { - "name": "resource_type", + "name": "resource_types_packed", + "type": "u128", + "key": false + }, + { + "name": "resource_types_count", "type": "u8", - "key": true + "key": false }, { - "name": "amount", - "type": "u128", + "name": "cities", + "type": "u8", + "key": false + }, + { + "name": "harbors", + "type": "u8", + "key": false + }, + { + "name": "rivers", + "type": "u8", + "key": false + }, + { + "name": "regions", + "type": "u8", + "key": false + }, + { + "name": "wonder", + "type": "u8", + "key": false + }, + { + "name": "order", + "type": "u8", "key": false } ], - "class_hash": "0x20570895c0fe40008c09b55942894a71cc9e527fa9c2f44929c39c2f170f83b", - "original_class_hash": "0x20570895c0fe40008c09b55942894a71cc9e527fa9c2f44929c39c2f170f83b", + "class_hash": "0x52bcea2d0f21b18ccae2ae44fc190323441aa6c3a2f16ea19de835df54afef8", + "original_class_hash": "0x52bcea2d0f21b18ccae2ae44fc190323441aa6c3a2f16ea19de835df54afef8", "abi": [ { "type": "impl", @@ -39334,34 +39106,58 @@ }, { "type": "impl", - "name": "resource_allowanceImpl", - "interface_name": "eternum::models::resources::Iresource_allowance" + "name": "realmImpl", + "interface_name": "eternum::models::realm::Irealm" }, { "type": "struct", - "name": "eternum::models::resources::ResourceAllowance", + "name": "eternum::models::realm::Realm", "members": [ { - "name": "owner_entity_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "approved_entity_id", + "name": "realm_id", "type": "core::integer::u32" }, { - "name": "resource_type", + "name": "resource_types_packed", + "type": "core::integer::u128" + }, + { + "name": "resource_types_count", "type": "core::integer::u8" }, { - "name": "amount", - "type": "core::integer::u128" + "name": "cities", + "type": "core::integer::u8" + }, + { + "name": "harbors", + "type": "core::integer::u8" + }, + { + "name": "rivers", + "type": "core::integer::u8" + }, + { + "name": "regions", + "type": "core::integer::u8" + }, + { + "name": "wonder", + "type": "core::integer::u8" + }, + { + "name": "order", + "type": "core::integer::u8" } ] }, { "type": "interface", - "name": "eternum::models::resources::Iresource_allowance", + "name": "eternum::models::realm::Irealm", "items": [ { "type": "function", @@ -39369,7 +39165,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::resources::ResourceAllowance" + "type": "eternum::models::realm::Realm" } ], "outputs": [], @@ -39379,41 +39175,36 @@ }, { "type": "event", - "name": "eternum::models::resources::resource_allowance::Event", + "name": "eternum::models::realm::realm::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ResourceAllowance", - "qualified_path": "eternum::models::resources::resource_allowance", - "manifest_name": "eternum-ResourceAllowance-18a7f402" + "tag": "eternum-Realm", + "qualified_path": "eternum::models::realm::realm", + "manifest_name": "eternum-Realm-68a0f35d" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "index", - "type": "u32", - "key": true - }, - { - "name": "resource_type", - "type": "u8", + "name": "detached_resource_id", + "type": "ID", "key": false }, { - "name": "amount", - "type": "u128", + "name": "detached_resource_count", + "type": "u32", "key": false } ], - "class_hash": "0x385ea6b1356d7244904ca73c73d6f0ab12fce89262ef4cc933d2473f0b79540", - "original_class_hash": "0x385ea6b1356d7244904ca73c73d6f0ab12fce89262ef4cc933d2473f0b79540", + "class_hash": "0x92a43c9c368570d80d7a167747b9606d95da18eb76d48f0d2d7ec31a8f96c7", + "original_class_hash": "0x92a43c9c368570d80d7a167747b9606d95da18eb76d48f0d2d7ec31a8f96c7", "abi": [ { "type": "impl", @@ -39779,34 +39570,30 @@ }, { "type": "impl", - "name": "resource_costImpl", - "interface_name": "eternum::models::resources::Iresource_cost" + "name": "realm_free_mint_configImpl", + "interface_name": "eternum::models::config::Irealm_free_mint_config" }, { "type": "struct", - "name": "eternum::models::resources::ResourceCost", + "name": "eternum::models::config::RealmFreeMintConfig", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "index", + "name": "detached_resource_id", "type": "core::integer::u32" }, { - "name": "resource_type", - "type": "core::integer::u8" - }, - { - "name": "amount", - "type": "core::integer::u128" + "name": "detached_resource_count", + "type": "core::integer::u32" } ] }, { "type": "interface", - "name": "eternum::models::resources::Iresource_cost", + "name": "eternum::models::config::Irealm_free_mint_config", "items": [ { "type": "function", @@ -39814,7 +39601,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::resources::ResourceCost" + "type": "eternum::models::config::RealmFreeMintConfig" } ], "outputs": [], @@ -39824,14 +39611,14 @@ }, { "type": "event", - "name": "eternum::models::resources::resource_cost::Event", + "name": "eternum::models::config::realm_free_mint_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ResourceCost", - "qualified_path": "eternum::models::resources::resource_cost", - "manifest_name": "eternum-ResourceCost-11ae7f37" + "tag": "eternum-RealmFreeMintConfig", + "qualified_path": "eternum::models::config::realm_free_mint_config", + "manifest_name": "eternum-RealmFreeMintConfig-767aa72c" }, { "kind": "DojoModel", @@ -39842,13 +39629,18 @@ "key": true }, { - "name": "release_at", - "type": "u64", + "name": "resource_type", + "type": "u8", + "key": true + }, + { + "name": "balance", + "type": "u128", "key": false } ], - "class_hash": "0x50f3653ee0d0a7a9a51471c39fa9d3731555a08946ebf0476509e4bdf019fcb", - "original_class_hash": "0x50f3653ee0d0a7a9a51471c39fa9d3731555a08946ebf0476509e4bdf019fcb", + "class_hash": "0x12144ea5cd5d1f216e3ed3697924ed710d09be5882fef8fea901335d03ae50e", + "original_class_hash": "0x12144ea5cd5d1f216e3ed3697924ed710d09be5882fef8fea901335d03ae50e", "abi": [ { "type": "impl", @@ -40214,26 +40006,30 @@ }, { "type": "impl", - "name": "resource_transfer_lockImpl", - "interface_name": "eternum::models::resources::Iresource_transfer_lock" + "name": "resourceImpl", + "interface_name": "eternum::models::resources::Iresource" }, { "type": "struct", - "name": "eternum::models::resources::ResourceTransferLock", + "name": "eternum::models::resources::Resource", "members": [ { "name": "entity_id", "type": "core::integer::u32" }, { - "name": "release_at", - "type": "core::integer::u64" + "name": "resource_type", + "type": "core::integer::u8" + }, + { + "name": "balance", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::resources::Iresource_transfer_lock", + "name": "eternum::models::resources::Iresource", "items": [ { "type": "function", @@ -40241,7 +40037,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::resources::ResourceTransferLock" + "type": "eternum::models::resources::Resource" } ], "outputs": [], @@ -40251,46 +40047,41 @@ }, { "type": "event", - "name": "eternum::models::resources::resource_transfer_lock::Event", + "name": "eternum::models::resources::resource::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-ResourceTransferLock", - "qualified_path": "eternum::models::resources::resource_transfer_lock", - "manifest_name": "eternum-ResourceTransferLock-6a7c4096" + "tag": "eternum-Resource", + "qualified_path": "eternum::models::resources::resource", + "manifest_name": "eternum-Resource-6aa2c384" }, { "kind": "DojoModel", "members": [ { - "name": "start_coord_x", - "type": "u32", - "key": true - }, - { - "name": "start_coord_y", - "type": "u32", + "name": "owner_entity_id", + "type": "ID", "key": true }, { - "name": "end_coord_x", - "type": "u32", + "name": "approved_entity_id", + "type": "ID", "key": true }, { - "name": "end_coord_y", - "type": "u32", + "name": "resource_type", + "type": "u8", "key": true }, { - "name": "usage_count", - "type": "u32", + "name": "amount", + "type": "u128", "key": false } ], - "class_hash": "0x6919caaa2edaedd7de7b430de4006a91c77305367ea24b339a2568590372410", - "original_class_hash": "0x6919caaa2edaedd7de7b430de4006a91c77305367ea24b339a2568590372410", + "class_hash": "0x20570895c0fe40008c09b55942894a71cc9e527fa9c2f44929c39c2f170f83b", + "original_class_hash": "0x20570895c0fe40008c09b55942894a71cc9e527fa9c2f44929c39c2f170f83b", "abi": [ { "type": "impl", @@ -40656,38 +40447,34 @@ }, { "type": "impl", - "name": "roadImpl", - "interface_name": "eternum::models::road::Iroad" + "name": "resource_allowanceImpl", + "interface_name": "eternum::models::resources::Iresource_allowance" }, { "type": "struct", - "name": "eternum::models::road::Road", + "name": "eternum::models::resources::ResourceAllowance", "members": [ { - "name": "start_coord_x", - "type": "core::integer::u32" - }, - { - "name": "start_coord_y", + "name": "owner_entity_id", "type": "core::integer::u32" }, { - "name": "end_coord_x", + "name": "approved_entity_id", "type": "core::integer::u32" }, { - "name": "end_coord_y", - "type": "core::integer::u32" + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "usage_count", - "type": "core::integer::u32" + "name": "amount", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::road::Iroad", + "name": "eternum::models::resources::Iresource_allowance", "items": [ { "type": "function", @@ -40695,7 +40482,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::road::Road" + "type": "eternum::models::resources::ResourceAllowance" } ], "outputs": [], @@ -40705,41 +40492,41 @@ }, { "type": "event", - "name": "eternum::models::road::road::Event", + "name": "eternum::models::resources::resource_allowance::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Road", - "qualified_path": "eternum::models::road::road", - "manifest_name": "eternum-Road-426df582" + "tag": "eternum-ResourceAllowance", + "qualified_path": "eternum::models::resources::resource_allowance", + "manifest_name": "eternum-ResourceAllowance-18a7f402" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "resource_cost_id", - "type": "ID", - "key": false + "name": "index", + "type": "u32", + "key": true }, { - "name": "resource_cost_count", - "type": "u32", + "name": "resource_type", + "type": "u8", "key": false }, { - "name": "speed_up_by", - "type": "u64", + "name": "amount", + "type": "u128", "key": false } ], - "class_hash": "0x2fb019cf7f41336c62cc9b892d63b417129eaeb73f8ad66e9407e2faf5f816e", - "original_class_hash": "0x2fb019cf7f41336c62cc9b892d63b417129eaeb73f8ad66e9407e2faf5f816e", + "class_hash": "0x385ea6b1356d7244904ca73c73d6f0ab12fce89262ef4cc933d2473f0b79540", + "original_class_hash": "0x385ea6b1356d7244904ca73c73d6f0ab12fce89262ef4cc933d2473f0b79540", "abi": [ { "type": "impl", @@ -41105,34 +40892,34 @@ }, { "type": "impl", - "name": "road_configImpl", - "interface_name": "eternum::models::config::Iroad_config" + "name": "resource_costImpl", + "interface_name": "eternum::models::resources::Iresource_cost" }, { "type": "struct", - "name": "eternum::models::config::RoadConfig", + "name": "eternum::models::resources::ResourceCost", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "resource_cost_id", + "name": "index", "type": "core::integer::u32" }, { - "name": "resource_cost_count", - "type": "core::integer::u32" + "name": "resource_type", + "type": "core::integer::u8" }, { - "name": "speed_up_by", - "type": "core::integer::u64" + "name": "amount", + "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::config::Iroad_config", + "name": "eternum::models::resources::Iresource_cost", "items": [ { "type": "function", @@ -41140,7 +40927,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::RoadConfig" + "type": "eternum::models::resources::ResourceCost" } ], "outputs": [], @@ -41150,41 +40937,31 @@ }, { "type": "event", - "name": "eternum::models::config::road_config::Event", + "name": "eternum::models::resources::resource_cost::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-RoadConfig", - "qualified_path": "eternum::models::config::road_config", - "manifest_name": "eternum-RoadConfig-424e8ddc" + "tag": "eternum-ResourceCost", + "qualified_path": "eternum::models::resources::resource_cost", + "manifest_name": "eternum-ResourceCost-11ae7f37" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", - "type": "ID", - "key": true - }, - { - "name": "speed_config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "entity_type", - "type": "ID", - "key": false - }, - { - "name": "sec_per_km", - "type": "u16", + "name": "release_at", + "type": "u64", "key": false } ], - "class_hash": "0xa20dbb003d2008919dc8a8a56d872f81c7d6743f1e18756cb68d228dac3efa", - "original_class_hash": "0xa20dbb003d2008919dc8a8a56d872f81c7d6743f1e18756cb68d228dac3efa", + "class_hash": "0x50f3653ee0d0a7a9a51471c39fa9d3731555a08946ebf0476509e4bdf019fcb", + "original_class_hash": "0x50f3653ee0d0a7a9a51471c39fa9d3731555a08946ebf0476509e4bdf019fcb", "abi": [ { "type": "impl", @@ -41550,34 +41327,26 @@ }, { "type": "impl", - "name": "speed_configImpl", - "interface_name": "eternum::models::config::Ispeed_config" + "name": "resource_transfer_lockImpl", + "interface_name": "eternum::models::resources::Iresource_transfer_lock" }, { "type": "struct", - "name": "eternum::models::config::SpeedConfig", + "name": "eternum::models::resources::ResourceTransferLock", "members": [ { - "name": "config_id", - "type": "core::integer::u32" - }, - { - "name": "speed_config_id", - "type": "core::integer::u32" - }, - { - "name": "entity_type", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "sec_per_km", - "type": "core::integer::u16" + "name": "release_at", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::config::Ispeed_config", + "name": "eternum::models::resources::Iresource_transfer_lock", "items": [ { "type": "function", @@ -41585,7 +41354,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::SpeedConfig" + "type": "eternum::models::resources::ResourceTransferLock" } ], "outputs": [], @@ -41595,36 +41364,41 @@ }, { "type": "event", - "name": "eternum::models::config::speed_config::Event", + "name": "eternum::models::resources::resource_transfer_lock::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-SpeedConfig", - "qualified_path": "eternum::models::config::speed_config", - "manifest_name": "eternum-SpeedConfig-1e31ed6d" + "tag": "eternum-ResourceTransferLock", + "qualified_path": "eternum::models::resources::resource_transfer_lock", + "manifest_name": "eternum-ResourceTransferLock-6a7c4096" }, { "kind": "DojoModel", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "amount", - "type": "u16", + "name": "speed_config_id", + "type": "ID", + "key": true + }, + { + "name": "entity_type", + "type": "ID", "key": false }, { - "name": "last_refill_tick", - "type": "u64", + "name": "sec_per_km", + "type": "u16", "key": false } ], - "class_hash": "0x276d64103df4cef7e0f9bd59fb406fd8acc35c99c278f33becefc0dcc640e31", - "original_class_hash": "0x276d64103df4cef7e0f9bd59fb406fd8acc35c99c278f33becefc0dcc640e31", + "class_hash": "0xa20dbb003d2008919dc8a8a56d872f81c7d6743f1e18756cb68d228dac3efa", + "original_class_hash": "0xa20dbb003d2008919dc8a8a56d872f81c7d6743f1e18756cb68d228dac3efa", "abi": [ { "type": "impl", @@ -41990,30 +41764,34 @@ }, { "type": "impl", - "name": "staminaImpl", - "interface_name": "eternum::models::stamina::Istamina" + "name": "speed_configImpl", + "interface_name": "eternum::models::config::Ispeed_config" }, { "type": "struct", - "name": "eternum::models::stamina::Stamina", + "name": "eternum::models::config::SpeedConfig", "members": [ { - "name": "entity_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "amount", - "type": "core::integer::u16" + "name": "speed_config_id", + "type": "core::integer::u32" }, { - "name": "last_refill_tick", - "type": "core::integer::u64" + "name": "entity_type", + "type": "core::integer::u32" + }, + { + "name": "sec_per_km", + "type": "core::integer::u16" } ] }, { "type": "interface", - "name": "eternum::models::stamina::Istamina", + "name": "eternum::models::config::Ispeed_config", "items": [ { "type": "function", @@ -42021,7 +41799,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::stamina::Stamina" + "type": "eternum::models::config::SpeedConfig" } ], "outputs": [], @@ -42031,36 +41809,36 @@ }, { "type": "event", - "name": "eternum::models::stamina::stamina::Event", + "name": "eternum::models::config::speed_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Stamina", - "qualified_path": "eternum::models::stamina::stamina", - "manifest_name": "eternum-Stamina-64093ed8" + "tag": "eternum-SpeedConfig", + "qualified_path": "eternum::models::config::speed_config", + "manifest_name": "eternum-SpeedConfig-1e31ed6d" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "ID", "key": true }, { - "name": "unit_type", - "type": "u8", - "key": true + "name": "amount", + "type": "u16", + "key": false }, { - "name": "max_stamina", - "type": "u16", + "name": "last_refill_tick", + "type": "u64", "key": false } ], - "class_hash": "0x146c13acba6a6e1a29289118ecab85721f682fcbda423a42900b7eedbf2f220", - "original_class_hash": "0x146c13acba6a6e1a29289118ecab85721f682fcbda423a42900b7eedbf2f220", + "class_hash": "0x276d64103df4cef7e0f9bd59fb406fd8acc35c99c278f33becefc0dcc640e31", + "original_class_hash": "0x276d64103df4cef7e0f9bd59fb406fd8acc35c99c278f33becefc0dcc640e31", "abi": [ { "type": "impl", @@ -42426,30 +42204,30 @@ }, { "type": "impl", - "name": "stamina_configImpl", - "interface_name": "eternum::models::config::Istamina_config" + "name": "staminaImpl", + "interface_name": "eternum::models::stamina::Istamina" }, { "type": "struct", - "name": "eternum::models::config::StaminaConfig", + "name": "eternum::models::stamina::Stamina", "members": [ { - "name": "config_id", + "name": "entity_id", "type": "core::integer::u32" }, { - "name": "unit_type", - "type": "core::integer::u8" + "name": "amount", + "type": "core::integer::u16" }, { - "name": "max_stamina", - "type": "core::integer::u16" + "name": "last_refill_tick", + "type": "core::integer::u64" } ] }, { "type": "interface", - "name": "eternum::models::config::Istamina_config", + "name": "eternum::models::stamina::Istamina", "items": [ { "type": "function", @@ -42457,7 +42235,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::StaminaConfig" + "type": "eternum::models::stamina::Stamina" } ], "outputs": [], @@ -42467,14 +42245,14 @@ }, { "type": "event", - "name": "eternum::models::config::stamina_config::Event", + "name": "eternum::models::stamina::stamina::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-StaminaConfig", - "qualified_path": "eternum::models::config::stamina_config", - "manifest_name": "eternum-StaminaConfig-b6eb17a7" + "tag": "eternum-Stamina", + "qualified_path": "eternum::models::stamina::stamina", + "manifest_name": "eternum-Stamina-64093ed8" }, { "kind": "DojoModel", @@ -42485,13 +42263,18 @@ "key": true }, { - "name": "amount_per_tick", + "name": "unit_type", + "type": "u8", + "key": true + }, + { + "name": "max_stamina", "type": "u16", "key": false } ], - "class_hash": "0x6c8d97d33190a4c6e6bc64c427824a4e493a2221309d5a5a60bbb9f6d22d128", - "original_class_hash": "0x6c8d97d33190a4c6e6bc64c427824a4e493a2221309d5a5a60bbb9f6d22d128", + "class_hash": "0x146c13acba6a6e1a29289118ecab85721f682fcbda423a42900b7eedbf2f220", + "original_class_hash": "0x146c13acba6a6e1a29289118ecab85721f682fcbda423a42900b7eedbf2f220", "abi": [ { "type": "impl", @@ -42857,26 +42640,30 @@ }, { "type": "impl", - "name": "stamina_refill_configImpl", - "interface_name": "eternum::models::config::Istamina_refill_config" + "name": "stamina_configImpl", + "interface_name": "eternum::models::config::Istamina_config" }, { "type": "struct", - "name": "eternum::models::config::StaminaRefillConfig", + "name": "eternum::models::config::StaminaConfig", "members": [ { "name": "config_id", "type": "core::integer::u32" }, { - "name": "amount_per_tick", + "name": "unit_type", + "type": "core::integer::u8" + }, + { + "name": "max_stamina", "type": "core::integer::u16" } ] }, { "type": "interface", - "name": "eternum::models::config::Istamina_refill_config", + "name": "eternum::models::config::Istamina_config", "items": [ { "type": "function", @@ -42884,7 +42671,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::StaminaRefillConfig" + "type": "eternum::models::config::StaminaConfig" } ], "outputs": [], @@ -42894,31 +42681,31 @@ }, { "type": "event", - "name": "eternum::models::config::stamina_refill_config::Event", + "name": "eternum::models::config::stamina_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-StaminaRefillConfig", - "qualified_path": "eternum::models::config::stamina_refill_config", - "manifest_name": "eternum-StaminaRefillConfig-4f63070f" + "tag": "eternum-StaminaConfig", + "qualified_path": "eternum::models::config::stamina_config", + "manifest_name": "eternum-StaminaConfig-b6eb17a7" }, { "kind": "DojoModel", "members": [ { - "name": "trade_id", + "name": "config_id", "type": "ID", "key": true }, { - "name": "value", - "type": "u128", + "name": "amount_per_tick", + "type": "u16", "key": false } ], - "class_hash": "0x16ccb72931523cbdd3144a679a2fc3c8bc391a53626c9efd6510444e3b223fa", - "original_class_hash": "0x16ccb72931523cbdd3144a679a2fc3c8bc391a53626c9efd6510444e3b223fa", + "class_hash": "0x6c8d97d33190a4c6e6bc64c427824a4e493a2221309d5a5a60bbb9f6d22d128", + "original_class_hash": "0x6c8d97d33190a4c6e6bc64c427824a4e493a2221309d5a5a60bbb9f6d22d128", "abi": [ { "type": "impl", @@ -43284,26 +43071,26 @@ }, { "type": "impl", - "name": "statusImpl", - "interface_name": "eternum::models::trade::Istatus" + "name": "stamina_refill_configImpl", + "interface_name": "eternum::models::config::Istamina_refill_config" }, { "type": "struct", - "name": "eternum::models::trade::Status", + "name": "eternum::models::config::StaminaRefillConfig", "members": [ { - "name": "trade_id", + "name": "config_id", "type": "core::integer::u32" }, { - "name": "value", - "type": "core::integer::u128" + "name": "amount_per_tick", + "type": "core::integer::u16" } ] }, { "type": "interface", - "name": "eternum::models::trade::Istatus", + "name": "eternum::models::config::Istamina_refill_config", "items": [ { "type": "function", @@ -43311,7 +43098,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::trade::Status" + "type": "eternum::models::config::StaminaRefillConfig" } ], "outputs": [], @@ -43321,31 +43108,31 @@ }, { "type": "event", - "name": "eternum::models::trade::status::Event", + "name": "eternum::models::config::stamina_refill_config::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-Status", - "qualified_path": "eternum::models::trade::status", - "manifest_name": "eternum-Status-508b6172" + "tag": "eternum-StaminaRefillConfig", + "qualified_path": "eternum::models::config::stamina_refill_config", + "manifest_name": "eternum-StaminaRefillConfig-4f63070f" }, { "kind": "DojoModel", "members": [ { - "name": "config_id", + "name": "trade_id", "type": "ID", "key": true }, { - "name": "weight_gram", + "name": "value", "type": "u128", "key": false } ], - "class_hash": "0x51d9c449986aee3af8c989d359ca5af040c2d02181e6b6e7547426a3b69e909", - "original_class_hash": "0x51d9c449986aee3af8c989d359ca5af040c2d02181e6b6e7547426a3b69e909", + "class_hash": "0x16ccb72931523cbdd3144a679a2fc3c8bc391a53626c9efd6510444e3b223fa", + "original_class_hash": "0x16ccb72931523cbdd3144a679a2fc3c8bc391a53626c9efd6510444e3b223fa", "abi": [ { "type": "impl", @@ -43711,26 +43498,26 @@ }, { "type": "impl", - "name": "storehouse_capacity_configImpl", - "interface_name": "eternum::models::config::Istorehouse_capacity_config" + "name": "statusImpl", + "interface_name": "eternum::models::trade::Istatus" }, { "type": "struct", - "name": "eternum::models::config::StorehouseCapacityConfig", + "name": "eternum::models::trade::Status", "members": [ { - "name": "config_id", + "name": "trade_id", "type": "core::integer::u32" }, { - "name": "weight_gram", + "name": "value", "type": "core::integer::u128" } ] }, { "type": "interface", - "name": "eternum::models::config::Istorehouse_capacity_config", + "name": "eternum::models::trade::Istatus", "items": [ { "type": "function", @@ -43738,7 +43525,7 @@ "inputs": [ { "name": "model", - "type": "eternum::models::config::StorehouseCapacityConfig" + "type": "eternum::models::trade::Status" } ], "outputs": [], @@ -43748,14 +43535,14 @@ }, { "type": "event", - "name": "eternum::models::config::storehouse_capacity_config::Event", + "name": "eternum::models::trade::status::Event", "kind": "enum", "variants": [] } ], - "tag": "eternum-StorehouseCapacityConfig", - "qualified_path": "eternum::models::config::storehouse_capacity_config", - "manifest_name": "eternum-StorehouseCapacityConfig-3a722892" + "tag": "eternum-Status", + "qualified_path": "eternum::models::trade::status", + "manifest_name": "eternum-Status-508b6172" }, { "kind": "DojoModel", diff --git a/contracts/manifests/prod/deployment/manifest.toml b/contracts/manifests/prod/deployment/manifest.toml index a4f9bff24..6cc496c0c 100644 --- a/contracts/manifests/prod/deployment/manifest.toml +++ b/contracts/manifests/prod/deployment/manifest.toml @@ -4,14 +4,14 @@ class_hash = "0xa349b743d361ce4567361475a89b84a386bb383448c6926954e5fe0b525597" original_class_hash = "0xa349b743d361ce4567361475a89b84a386bb383448c6926954e5fe0b525597" abi = "manifests/prod/deployment/abis/dojo-world.json" address = "0x6918fe8c1ba16bdc83b9790cd9168d730aa98a22c65164578ef99af1c8cbc76" -transaction_hash = "0x36eb50a275a787286682a6f0a1a8a7bc38599980a0a7946835f873dd894cc83" -block_number = 62 +transaction_hash = "0x34c9150488653bd5945598bd5416714d221addd139e9bd027a0e93ab052d64e" +block_number = 123 seed = "eternum" manifest_name = "dojo-world" [world.metadata] profile_name = "prod" -rpc_url = "https://api.cartridge.gg/x/eternum-37/katana/" +rpc_url = "https://api.cartridge.gg/x/eternum-chat/katana/" [base] kind = "Class" @@ -24,8 +24,8 @@ manifest_name = "dojo-base" [[contracts]] kind = "DojoContract" address = "0x23d9fda8b1ef4f322356e076fcfcd1ed5586e114730d073852cb2fb50ad73d0" -class_hash = "0x57baea9dcee3c73fcdd8e8142ac19a455838a50803a311f4d55a8fedffef08" -original_class_hash = "0x57baea9dcee3c73fcdd8e8142ac19a455838a50803a311f4d55a8fedffef08" +class_hash = "0x24f8e7b7cc6eb58f66ff106556f35bad3efda6f02acafbb3847faef025eb71f" +original_class_hash = "0x24f8e7b7cc6eb58f66ff106556f35bad3efda6f02acafbb3847faef025eb71f" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-bank_systems-85030190.json" reads = [] @@ -38,8 +38,8 @@ manifest_name = "eternum-bank_systems-85030190" [[contracts]] kind = "DojoContract" address = "0x7ed18691dfbacf174f2f0c80a92cf0cc6cc0a017f56331712d253d2efda6a0b" -class_hash = "0x13b5a37bf98601831c97d202d5c889285350235653d5ede6f4de0a5ca71086c" -original_class_hash = "0x13b5a37bf98601831c97d202d5c889285350235653d5ede6f4de0a5ca71086c" +class_hash = "0x574732996ab5073ff265b7d1bdf6f0cff168007270439c9ff9e3845c3275d2a" +original_class_hash = "0x574732996ab5073ff265b7d1bdf6f0cff168007270439c9ff9e3845c3275d2a" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-building_systems-4b0f3026.json" reads = [] @@ -57,8 +57,8 @@ manifest_name = "eternum-building_systems-4b0f3026" [[contracts]] kind = "DojoContract" address = "0x62015209a524b97052852f42d283fc0f67081bce90d04cdc03a951009f55a64" -class_hash = "0x217edc0f87413079de6197f814ba652afbeaf8a837b9b2dee720f6c2deb4140" -original_class_hash = "0x217edc0f87413079de6197f814ba652afbeaf8a837b9b2dee720f6c2deb4140" +class_hash = "0x4d31fa8a4936caa7a37e5dff96395bf92abcda517b2264f797e4035bed5db50" +original_class_hash = "0x4d31fa8a4936caa7a37e5dff96395bf92abcda517b2264f797e4035bed5db50" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-combat_systems-27f37676.json" reads = [] @@ -79,8 +79,8 @@ manifest_name = "eternum-combat_systems-27f37676" [[contracts]] kind = "DojoContract" address = "0x7a586a591ea4b5a3264e696076c5b801ea1d857f12455f1002f522e3b5a29b0" -class_hash = "0xfeef77e0f94d2431ef4af1172a972d4f2f74c3578a47529db1fb3c8b09da81" -original_class_hash = "0xfeef77e0f94d2431ef4af1172a972d4f2f74c3578a47529db1fb3c8b09da81" +class_hash = "0x1867b7e047270188114fca6283a36a200f4c394a4ec9c6c4cfe00e146227c83" +original_class_hash = "0x1867b7e047270188114fca6283a36a200f4c394a4ec9c6c4cfe00e146227c83" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-config_systems-5f8c7cdc.json" reads = [] @@ -99,7 +99,6 @@ systems = [ "set_stamina_refill_config", "set_leveling_config", "set_production_config", - "set_road_config", "set_speed_config", "set_hyperstructure_config", "set_bank_config", @@ -108,15 +107,14 @@ systems = [ "set_population_config", "set_building_config", "set_mercenaries_config", - "set_storehouse_capacity_config", ] manifest_name = "eternum-config_systems-5f8c7cdc" [[contracts]] kind = "DojoContract" address = "0x4d4800dc89edbdb3a526503582730375e78418f094d8175a4d1910326bf615f" -class_hash = "0x5f23e61dee1fbf600fb57342dd3c258971adab5fdf39bf3ca8913040a7dcb10" -original_class_hash = "0x5f23e61dee1fbf600fb57342dd3c258971adab5fdf39bf3ca8913040a7dcb10" +class_hash = "0x3d34c4f65b2d71321a673540732c9854209b2585535656f9c3a292f3fe73eee" +original_class_hash = "0x3d34c4f65b2d71321a673540732c9854209b2585535656f9c3a292f3fe73eee" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-dev_bank_systems-7a630ec9.json" reads = [] @@ -129,8 +127,8 @@ manifest_name = "eternum-dev_bank_systems-7a630ec9" [[contracts]] kind = "DojoContract" address = "0x2fa49f8ffee6ad0a66a783af6bb747ee860862b7579a40102e23ee82359c019" -class_hash = "0x3f1b8b1470f743a5eb1a47ffb3fc29b4330d9862bd69075ed487c0f869c2c89" -original_class_hash = "0x3f1b8b1470f743a5eb1a47ffb3fc29b4330d9862bd69075ed487c0f869c2c89" +class_hash = "0x7cbaf8b08ff3e3c0bba390aad562fb65d86a8958f147cb56f6018b1d3f2baf8" +original_class_hash = "0x7cbaf8b08ff3e3c0bba390aad562fb65d86a8958f147cb56f6018b1d3f2baf8" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-dev_resource_systems-9f04ac8a.json" reads = [] @@ -178,8 +176,8 @@ manifest_name = "eternum-guild_systems-38e127d4" [[contracts]] kind = "DojoContract" address = "0x3689fe179d2b3f245f177214a9a9e745087936fcc80a2add8b17a3a411c6078" -class_hash = "0x7cacb256e6b46a850e9eab92245b02ab104bae4def05cb4fb0cc4c60810d35f" -original_class_hash = "0x7cacb256e6b46a850e9eab92245b02ab104bae4def05cb4fb0cc4c60810d35f" +class_hash = "0x244001a404ca3863c67421bfc75333c080ffb381cde1d083388431d4e2865b4" +original_class_hash = "0x244001a404ca3863c67421bfc75333c080ffb381cde1d083388431d4e2865b4" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-hyperstructure_systems-3660009a.json" reads = [] @@ -195,8 +193,8 @@ manifest_name = "eternum-hyperstructure_systems-3660009a" [[contracts]] kind = "DojoContract" address = "0x33880f09a32670cb3de1502dab021c1c8f7c3368fa5a4f29fea7ef9c3fd64a8" -class_hash = "0xfbc4287d5c268386905d4889c4c889ef5255e4e8db07b851d52833c17e997" -original_class_hash = "0xfbc4287d5c268386905d4889c4c889ef5255e4e8db07b851d52833c17e997" +class_hash = "0x43c34c37eeb98e6bd76093d74972a7c7bc3335744daeddf3f7acd6db562173e" +original_class_hash = "0x43c34c37eeb98e6bd76093d74972a7c7bc3335744daeddf3f7acd6db562173e" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-leveling_systems-5606a1c3.json" reads = [] @@ -209,8 +207,8 @@ manifest_name = "eternum-leveling_systems-5606a1c3" [[contracts]] kind = "DojoContract" address = "0x1bb5522c954f263822875b3be43a36540a37e597196284b5f0160722ccac40f" -class_hash = "0x7219bfa89b09bbe2ccdec3199e8b143ba40609a23ee6a4ba727e9f65bb56fc1" -original_class_hash = "0x7219bfa89b09bbe2ccdec3199e8b143ba40609a23ee6a4ba727e9f65bb56fc1" +class_hash = "0x6f9d35ddfa713d2db0151ec89d09241f96b9d3a3ee01c61c6e35dca72f04aea" +original_class_hash = "0x6f9d35ddfa713d2db0151ec89d09241f96b9d3a3ee01c61c6e35dca72f04aea" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-liquidity_systems-337d668f.json" reads = [] @@ -223,8 +221,8 @@ manifest_name = "eternum-liquidity_systems-337d668f" [[contracts]] kind = "DojoContract" address = "0x15c0cb2e324e4c5cd88c66f259bfc339cfd28eea9c2d9275fa83ef63d771bee" -class_hash = "0x57b65d685359b934760012e48670e5ec57b2d51e56cdb411be9c2740de6de2b" -original_class_hash = "0x57b65d685359b934760012e48670e5ec57b2d51e56cdb411be9c2740de6de2b" +class_hash = "0x13ff2645f86df007dc6e868598843ba1dd40f3f068856cf63c767e82ba0ce9c" +original_class_hash = "0x13ff2645f86df007dc6e868598843ba1dd40f3f068856cf63c767e82ba0ce9c" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-map_systems-5431b122.json" reads = [] @@ -254,8 +252,8 @@ manifest_name = "eternum-name_systems-bbb2e543" [[contracts]] kind = "DojoContract" address = "0x3eab010b114ef9167679721f082578bedc8e03afa98c3659bfdd141f20530a4" -class_hash = "0x50df594ad328d06a48bf41eb646d420621d251a7107b4475ddbf0e33daf25a1" -original_class_hash = "0x50df594ad328d06a48bf41eb646d420621d251a7107b4475ddbf0e33daf25a1" +class_hash = "0x78da6eabc04ce6d32097ec506dda683f55b04d45215c797e23954f7684df282" +original_class_hash = "0x78da6eabc04ce6d32097ec506dda683f55b04d45215c797e23954f7684df282" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-realm_systems-2b08f0da.json" reads = [] @@ -268,8 +266,8 @@ manifest_name = "eternum-realm_systems-2b08f0da" [[contracts]] kind = "DojoContract" address = "0x58e07e699e1e07684e84c3f792b02dbcade89e2f69546d5eb4b4c35f5ad934d" -class_hash = "0x1b8c9118490dc6fb228e40072923c86f26936ba0ef67237c20ecb33d53ce3ea" -original_class_hash = "0x1b8c9118490dc6fb228e40072923c86f26936ba0ef67237c20ecb33d53ce3ea" +class_hash = "0x182632994e3020c07162aa7cb54ecb95916d469c75de398bb5daa0957d7541e" +original_class_hash = "0x182632994e3020c07162aa7cb54ecb95916d469c75de398bb5daa0957d7541e" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-resource_systems-59b73d5a.json" reads = [] @@ -283,25 +281,11 @@ systems = [ ] manifest_name = "eternum-resource_systems-59b73d5a" -[[contracts]] -kind = "DojoContract" -address = "0x4c0fc2d5f71557c87906c5115e286da197f281122f03d6b958554ff369472c5" -class_hash = "0x165bb5690fde19001a287723299eb2832c728174d0e1968162551a133eef4ea" -original_class_hash = "0x165bb5690fde19001a287723299eb2832c728174d0e1968162551a133eef4ea" -base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" -abi = "manifests/prod/deployment/abis/contracts/eternum-road_systems-61d8f9c9.json" -reads = [] -writes = [] -init_calldata = [] -tag = "eternum-road_systems" -systems = ["create"] -manifest_name = "eternum-road_systems-61d8f9c9" - [[contracts]] kind = "DojoContract" address = "0x7648901aed56a98105f6085a0e80c75a4cce6786233b58066c9782fbd58470d" -class_hash = "0x84e352317f2ce38482355971ac6946204d4902746363b3251dedc0bbd72fb1" -original_class_hash = "0x84e352317f2ce38482355971ac6946204d4902746363b3251dedc0bbd72fb1" +class_hash = "0x635b6b87e32693f968207a7ee8409dbea4bde979eb51c2014d18ab7cb7ad672" +original_class_hash = "0x635b6b87e32693f968207a7ee8409dbea4bde979eb51c2014d18ab7cb7ad672" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-swap_systems-216e8d44.json" reads = [] @@ -314,8 +298,8 @@ manifest_name = "eternum-swap_systems-216e8d44" [[contracts]] kind = "DojoContract" address = "0x5dca037560ad6652aca06a4f284d5e5fdc79990aad8beb9be5d520c6ced885b" -class_hash = "0x1306a4bc4d4cd9acc1f36afba111f8b8c0a5dbc31278c1e78ade566588a37d1" -original_class_hash = "0x1306a4bc4d4cd9acc1f36afba111f8b8c0a5dbc31278c1e78ade566588a37d1" +class_hash = "0x231839db3a926a292b4c1a69201984c9bfc921a85200fc8cd19b5d6fba177b3" +original_class_hash = "0x231839db3a926a292b4c1a69201984c9bfc921a85200fc8cd19b5d6fba177b3" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-trade_systems-7f6765dd.json" reads = [] @@ -332,8 +316,8 @@ manifest_name = "eternum-trade_systems-7f6765dd" [[contracts]] kind = "DojoContract" address = "0x70327cdb9650f8b24ed7fc7f77a7412186afa78077421cb41b3bf6fbad67494" -class_hash = "0x46a6bf02b734e01b7722e7c9b9a224c7719780895393e1376c81bc83dc4111e" -original_class_hash = "0x46a6bf02b734e01b7722e7c9b9a224c7719780895393e1376c81bc83dc4111e" +class_hash = "0x71c09f0cd8e0ea009a1cde569b3bb28052333237125e26b86c0271cfac154d4" +original_class_hash = "0x71c09f0cd8e0ea009a1cde569b3bb28052333237125e26b86c0271cfac154d4" base_class_hash = "0x2427dd10a58850ac9a5ca6ce04b7771b05330fd18f2e481831ad903b969e6b2" abi = "manifests/prod/deployment/abis/contracts/eternum-travel_systems-4ec72d4c.json" reads = [] @@ -1159,12 +1143,12 @@ key = false [[models]] kind = "DojoModel" -class_hash = "0x7abb7049c7589f4a99ae83b9f3433745a5eaf8d80537e782ecf35949da59158" -original_class_hash = "0x7abb7049c7589f4a99ae83b9f3433745a5eaf8d80537e782ecf35949da59158" -abi = "manifests/prod/deployment/abis/models/eternum-Capacity-27d77858.json" -tag = "eternum-Capacity" -qualified_path = "eternum::models::capacity::capacity" -manifest_name = "eternum-Capacity-27d77858" +class_hash = "0x1c872eae51ebc794cd2209e7848f2866079673b9511ef064612e20432d6f282" +original_class_hash = "0x1c872eae51ebc794cd2209e7848f2866079673b9511ef064612e20432d6f282" +abi = "manifests/prod/deployment/abis/models/eternum-CapacityCategory-268dbecc.json" +tag = "eternum-CapacityCategory" +qualified_path = "eternum::models::capacity::capacity_category" +manifest_name = "eternum-CapacityCategory-268dbecc" [[models.members]] name = "entity_id" @@ -1172,34 +1156,24 @@ type = "ID" key = true [[models.members]] -name = "weight_gram" -type = "u128" +name = "category" +type = "CapacityConfigCategory" key = false [[models]] kind = "DojoModel" -class_hash = "0x6214a189285820e02d4f9b1d702fc5ad0f4141be8c7c5f385596e3882e30a47" -original_class_hash = "0x6214a189285820e02d4f9b1d702fc5ad0f4141be8c7c5f385596e3882e30a47" +class_hash = "0x59897890b030fb893af71ca82fbd4170f03dad09e464c3bc58971f14a89367" +original_class_hash = "0x59897890b030fb893af71ca82fbd4170f03dad09e464c3bc58971f14a89367" abi = "manifests/prod/deployment/abis/models/eternum-CapacityConfig-620df1a7.json" tag = "eternum-CapacityConfig" qualified_path = "eternum::models::config::capacity_config" manifest_name = "eternum-CapacityConfig-620df1a7" [[models.members]] -name = "config_id" -type = "ID" -key = true - -[[models.members]] -name = "carry_capacity_config_id" -type = "ID" +name = "category" +type = "CapacityConfigCategory" key = true -[[models.members]] -name = "entity_type" -type = "ID" -key = false - [[models.members]] name = "weight_gram" type = "u128" @@ -1392,6 +1366,35 @@ name = "entity_id" type = "ID" key = false +[[models]] +kind = "DojoModel" +class_hash = "0x2887e0c383185a0f7c8bfd9cec199674bf5f887e2ffaf47e80c8e0d2a8c8c42" +original_class_hash = "0x2887e0c383185a0f7c8bfd9cec199674bf5f887e2ffaf47e80c8e0d2a8c8c42" +abi = "manifests/prod/deployment/abis/models/eternum-FragmentMineDiscovered-50864feb.json" +tag = "eternum-FragmentMineDiscovered" +qualified_path = "eternum::systems::map::contracts::map_systems::fragment_mine_discovered" +manifest_name = "eternum-FragmentMineDiscovered-50864feb" + +[[models.members]] +name = "entity_owner_id" +type = "ID" +key = true + +[[models.members]] +name = "mine_entity_id" +type = "ID" +key = true + +[[models.members]] +name = "production_deadline_tick" +type = "u64" +key = true + +[[models.members]] +name = "discovered_at" +type = "u64" +key = false + [[models]] kind = "DojoModel" class_hash = "0x49c8e797e75b458b6c599b2a6adac16d8e2c57dec23b220a3ce9a730a024e61" @@ -1509,28 +1512,33 @@ key = false [[models]] kind = "DojoModel" -class_hash = "0x434157285de7631f7c799ea01e0c4b90eec277f4f99fe373403e5a40b1a7830" -original_class_hash = "0x434157285de7631f7c799ea01e0c4b90eec277f4f99fe373403e5a40b1a7830" +class_hash = "0x590aa9c91d3f0211072cdf79aed8466143db269f213d11d28cefb2ab22bcb6" +original_class_hash = "0x590aa9c91d3f0211072cdf79aed8466143db269f213d11d28cefb2ab22bcb6" abi = "manifests/prod/deployment/abis/models/eternum-HyperstructureCoOwnersChange-73c7a6d4.json" tag = "eternum-HyperstructureCoOwnersChange" qualified_path = "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_co_owners_change" manifest_name = "eternum-HyperstructureCoOwnersChange-73c7a6d4" [[models.members]] -name = "hyperstructure_entity_id" +name = "id" type = "ID" key = true [[models.members]] -name = "timestamp" -type = "u64" -key = false +name = "hyperstructure_entity_id" +type = "ID" +key = true [[models.members]] name = "co_owners" type = "Span<(ContractAddress, u16)>" key = false +[[models.members]] +name = "timestamp" +type = "u64" +key = false + [[models]] kind = "DojoModel" class_hash = "0x3d652949de690cd8a5c1ccc771f43608e266e901d0cb2b4d20d0a947ecdc73d" @@ -1552,23 +1560,62 @@ key = false [[models]] kind = "DojoModel" -class_hash = "0x61a744dc91e569f85f697305bdd4f5f022e0575877727b5c128d34252eea6c5" -original_class_hash = "0x61a744dc91e569f85f697305bdd4f5f022e0575877727b5c128d34252eea6c5" +class_hash = "0x2a63759152575e9a36473ace95c2a4407a060071a1a7f359436cfd8a1c5d779" +original_class_hash = "0x2a63759152575e9a36473ace95c2a4407a060071a1a7f359436cfd8a1c5d779" +abi = "manifests/prod/deployment/abis/models/eternum-HyperstructureContribution-3716a74e.json" +tag = "eternum-HyperstructureContribution" +qualified_path = "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_contribution" +manifest_name = "eternum-HyperstructureContribution-3716a74e" + +[[models.members]] +name = "id" +type = "ID" +key = true + +[[models.members]] +name = "hyperstructure_entity_id" +type = "ID" +key = true + +[[models.members]] +name = "contributor_entity_id" +type = "ID" +key = false + +[[models.members]] +name = "contributions" +type = "Span<(u8, u128)>" +key = false + +[[models.members]] +name = "timestamp" +type = "u64" +key = false + +[[models]] +kind = "DojoModel" +class_hash = "0x300f8ebbd1c764b0da865d21cd1af3719282fb55ecd9b4555af1e794e23048" +original_class_hash = "0x300f8ebbd1c764b0da865d21cd1af3719282fb55ecd9b4555af1e794e23048" abi = "manifests/prod/deployment/abis/models/eternum-HyperstructureFinished-4b0440d5.json" tag = "eternum-HyperstructureFinished" qualified_path = "eternum::systems::hyperstructure::contracts::hyperstructure_systems::hyperstructure_finished" manifest_name = "eternum-HyperstructureFinished-4b0440d5" [[models.members]] -name = "hyperstructure_entity_id" +name = "id" type = "ID" key = true [[models.members]] -name = "id" +name = "hyperstructure_entity_id" type = "ID" key = true +[[models.members]] +name = "contributor_entity_id" +type = "ID" +key = false + [[models.members]] name = "timestamp" type = "u64" @@ -2219,6 +2266,25 @@ name = "output_count" type = "u128" key = false +[[models]] +kind = "DojoModel" +class_hash = "0x2d752662304df227f0b6f758c828c98b7012bc65a07edca586c4b4da583fe62" +original_class_hash = "0x2d752662304df227f0b6f758c828c98b7012bc65a07edca586c4b4da583fe62" +abi = "manifests/prod/deployment/abis/models/eternum-ProductionDeadline-11a9e189.json" +tag = "eternum-ProductionDeadline" +qualified_path = "eternum::models::production::production_deadline" +manifest_name = "eternum-ProductionDeadline-11a9e189" + +[[models.members]] +name = "entity_id" +type = "ID" +key = true + +[[models.members]] +name = "deadline_tick" +type = "u64" +key = false + [[models]] kind = "DojoModel" class_hash = "0x614e4d2681d41b3a85242763beb13ea881b698f870f9f05b3ce6387e5cfb17d" @@ -2556,69 +2622,6 @@ name = "release_at" type = "u64" key = false -[[models]] -kind = "DojoModel" -class_hash = "0x6919caaa2edaedd7de7b430de4006a91c77305367ea24b339a2568590372410" -original_class_hash = "0x6919caaa2edaedd7de7b430de4006a91c77305367ea24b339a2568590372410" -abi = "manifests/prod/deployment/abis/models/eternum-Road-426df582.json" -tag = "eternum-Road" -qualified_path = "eternum::models::road::road" -manifest_name = "eternum-Road-426df582" - -[[models.members]] -name = "start_coord_x" -type = "u32" -key = true - -[[models.members]] -name = "start_coord_y" -type = "u32" -key = true - -[[models.members]] -name = "end_coord_x" -type = "u32" -key = true - -[[models.members]] -name = "end_coord_y" -type = "u32" -key = true - -[[models.members]] -name = "usage_count" -type = "u32" -key = false - -[[models]] -kind = "DojoModel" -class_hash = "0x2fb019cf7f41336c62cc9b892d63b417129eaeb73f8ad66e9407e2faf5f816e" -original_class_hash = "0x2fb019cf7f41336c62cc9b892d63b417129eaeb73f8ad66e9407e2faf5f816e" -abi = "manifests/prod/deployment/abis/models/eternum-RoadConfig-424e8ddc.json" -tag = "eternum-RoadConfig" -qualified_path = "eternum::models::config::road_config" -manifest_name = "eternum-RoadConfig-424e8ddc" - -[[models.members]] -name = "config_id" -type = "ID" -key = true - -[[models.members]] -name = "resource_cost_id" -type = "ID" -key = false - -[[models.members]] -name = "resource_cost_count" -type = "u32" -key = false - -[[models.members]] -name = "speed_up_by" -type = "u64" -key = false - [[models]] kind = "DojoModel" class_hash = "0xa20dbb003d2008919dc8a8a56d872f81c7d6743f1e18756cb68d228dac3efa" @@ -2734,25 +2737,6 @@ name = "value" type = "u128" key = false -[[models]] -kind = "DojoModel" -class_hash = "0x51d9c449986aee3af8c989d359ca5af040c2d02181e6b6e7547426a3b69e909" -original_class_hash = "0x51d9c449986aee3af8c989d359ca5af040c2d02181e6b6e7547426a3b69e909" -abi = "manifests/prod/deployment/abis/models/eternum-StorehouseCapacityConfig-3a722892.json" -tag = "eternum-StorehouseCapacityConfig" -qualified_path = "eternum::models::config::storehouse_capacity_config" -manifest_name = "eternum-StorehouseCapacityConfig-3a722892" - -[[models.members]] -name = "config_id" -type = "ID" -key = true - -[[models.members]] -name = "weight_gram" -type = "u128" -key = false - [[models]] kind = "DojoModel" class_hash = "0x5e599733e0a1ba3cc2e38a6435fd362c2ebfd1f04a1566591e394ebc90cca60" diff --git a/contracts/scripts/env_variables.sh b/contracts/scripts/env_variables.sh index 635f0d0eb..21696f6ae 100755 --- a/contracts/scripts/env_variables.sh +++ b/contracts/scripts/env_variables.sh @@ -11,9 +11,9 @@ KATANA_TOML_PATH="./manifests/dev/deployment/manifest.toml" if [[ ! -z "$1" ]]; then if [[ "$1" == "prod" ]]; then echo "is prod" - STARKNET_RPC_URL="https://api.cartridge.gg/x/eternum-37/katana/" - DOJO_ACCOUNT_ADDRESS="0xac5b6dcf77ccf3412c5161c095b3db80b703461c71f66637c830786b0600da" - DOJO_PRIVATE_KEY="0x78a5bf59b234910abf592a3e923093c5afe0db6e5d10d6ff32e32d4d2a890f9" + STARKNET_RPC_URL="https://api.cartridge.gg/x/eternum-chat/katana/" + DOJO_ACCOUNT_ADDRESS="0x8da9668c371967fed1218e0682ba9c7a84fbac8ed5ddcd6e7f7ac020644acd" + DOJO_PRIVATE_KEY="0x62d981a8e5f9e51e0e189b8385c6312fe9ac07f7ce421ffed70aa2240a7159" SOZO_WORLD="0x6918fe8c1ba16bdc83b9790cd9168d730aa98a22c65164578ef99af1c8cbc76" KATANA_TOML_PATH="./manifests/prod/deployment/manifest.toml" elif [[ "$1" != "dev" ]]; then diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1884b2045..e5a5a1d61 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,26 +14,26 @@ importers: specifier: workspace:^ version: link:../sdk/packages/eternum '@dojoengine/core': - specifier: 1.0.0-alpha.12 - version: 1.0.0-alpha.12(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4) + specifier: 1.0.0-alpha.13 + version: 1.0.0-alpha.13(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4) '@dojoengine/create-burner': - specifier: 1.0.0-alpha.12 - version: 1.0.0-alpha.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4) + specifier: 1.0.0-alpha.13 + version: 1.0.0-alpha.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4) '@dojoengine/react': - specifier: 1.0.0-alpha.12 - version: 1.0.0-alpha.12(@types/node@20.14.13)(@types/react@18.2.74)(@vitest/ui@2.0.2(vitest@2.0.5))(jsdom@24.1.0)(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(type-fest@0.21.3)(typescript@5.4.4)(zod@3.23.8) + specifier: 1.0.0-alpha.13 + version: 1.0.0-alpha.13(@types/node@20.14.13)(@types/react@18.2.74)(@vitest/ui@2.0.2(vitest@2.0.5))(jsdom@24.1.0)(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(type-fest@0.21.3)(typescript@5.4.4)(zod@3.23.8) '@dojoengine/recs': specifier: ^2.0.13 version: 2.0.13(typescript@5.4.4)(zod@3.23.8) '@dojoengine/state': - specifier: 1.0.0-alpha.12 - version: 1.0.0-alpha.12(@types/node@20.14.13)(@types/react@18.2.74)(@vitest/ui@2.0.2(vitest@2.0.5))(jsdom@24.1.0)(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8) + specifier: 1.0.0-alpha.13 + version: 1.0.0-alpha.13(@types/node@20.14.13)(@types/react@18.2.74)(@vitest/ui@2.0.2(vitest@2.0.5))(jsdom@24.1.0)(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8) '@dojoengine/torii-client': - specifier: 1.0.0-alpha.12 - version: 1.0.0-alpha.12 + specifier: 1.0.0-alpha.13 + version: 1.0.0-alpha.13 '@dojoengine/utils': - specifier: 1.0.0-alpha.12 - version: 1.0.0-alpha.12(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8) + specifier: 1.0.0-alpha.13 + version: 1.0.0-alpha.13(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8) '@headlessui/react': specifier: ^1.7.18 version: 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -934,15 +934,21 @@ packages: peerDependencies: starknet: 6.11.0 - '@dojoengine/create-burner@1.0.0-alpha.12': - resolution: {integrity: sha512-+kXiu1iwif/P9RlG/+jmZDFiS3Xz0wLINZx3+pv7jKcG2Vuxxxdiq4YfHlgAnHXQVvGbeVf/PLD7MCgdMbCiPA==} + '@dojoengine/core@1.0.0-alpha.13': + resolution: {integrity: sha512-kFPT59P8symJ5jLxIABgImL7OkPbeERMWVMO5bAvqHkAuCH20O495Wmjeg3dUJ8cGWhkPBoDEWbxAmcYtkBewA==} + hasBin: true + peerDependencies: + starknet: 6.11.0 + + '@dojoengine/create-burner@1.0.0-alpha.13': + resolution: {integrity: sha512-HMOYmQmAmJJfn74iQg1DZ/UGnW848viTmYeBcerNkZgH4bFWKZqf0W8N3IN2W677t/0Vuw+Dr1OGAm153BeNXA==} peerDependencies: react: ^18.2.0 react-dom: ^18.2.0 starknet: 6.11.0 - '@dojoengine/react@1.0.0-alpha.12': - resolution: {integrity: sha512-F98t/QFGsksqWysCf4TZksOoZiC3+dhnc9j9f++JGp3I5VKcvQ9EKDbdXLXNoSRtCYr106hwjZsXpH36/gJMfQ==} + '@dojoengine/react@1.0.0-alpha.13': + resolution: {integrity: sha512-rNrmw9cM/7YxlT2AdSZNpi6AcE6ui4ti3X87MDnuVQv+z1Lls6gOJIQdSJhSIM2nv+Wq6xWYNaKjerwKZERFjg==} peerDependencies: react: ^18.2.0 starknet: 6.11.0 @@ -951,19 +957,19 @@ packages: '@dojoengine/recs@2.0.13': resolution: {integrity: sha512-Cgz4Unlnk2FSDoFTYKrJexX/KiSYPMFMxftxQkC+9LUKS5yNGkgFQM7xu4/L1HvpDAenL7NjUmH6ynRAS7Iifw==} - '@dojoengine/state@1.0.0-alpha.12': - resolution: {integrity: sha512-6tXncIQqmtDoGVkwf/MV32Hrju9I7DHkwo+XGnCtGdk3pue1Q83247DmXqTqRHorvENpEWd9psY5gbK1ekQ90Q==} + '@dojoengine/state@1.0.0-alpha.13': + resolution: {integrity: sha512-fKaDcnRDVMceBoem+bdyTzKp5CoWZZcKF+qC4GHFYh/9wkA/evVvIsMGqx1kBoIn7TM5VzDXEWCOwmV9Fx0dDg==} peerDependencies: starknet: 6.11.0 - '@dojoengine/torii-client@1.0.0-alpha.12': - resolution: {integrity: sha512-6tDgHq9F7S7VvztV9YyB53Ntj2n7C0VuaRCQF70kFP+M8yigIEzJVFR0grojq9vGlKSfg1OQVhqWCYtk4lfypA==} + '@dojoengine/torii-client@1.0.0-alpha.13': + resolution: {integrity: sha512-ZFZjrMKLAwRIQ8hCxokaLmx/bcPXMmqNbqeS46/ooK199spFMTjVdzA6V4cLUF9n7HjWfxWHWlYd0HT3Kt2hsQ==} - '@dojoengine/torii-wasm@1.0.0-alpha.12': - resolution: {integrity: sha512-GiPlaJkSqjpCzN42xv6F0zv1UJLUcIthiwU8LQYU82DCVqKkODvd/ad0YH00PQ2pB/ILEiMvoJQUQXP108yFqQ==} + '@dojoengine/torii-wasm@1.0.0-alpha.13': + resolution: {integrity: sha512-6lbU1DVEBGuSwcevLWyzgdHfXRPpMGb2SfHv/nROSbO4NGPSvLnBD+G3EvgfernxLpM6iBu/iJuvUow5G/G0XQ==} - '@dojoengine/utils@1.0.0-alpha.12': - resolution: {integrity: sha512-l2+mFzDYZwTZsCqkmmu07ImN25qzTjQ7rTOz5UzCrrPkb1tQMBvK8137Ufict5ABBIvZyOExS6QVYKe++Bu5YQ==} + '@dojoengine/utils@1.0.0-alpha.13': + resolution: {integrity: sha512-f/s+eungz3PyqN0jxxzKjH19yls57QmP9EkQiitVMQhOdekBOwNJSw9rl+sbfyNH5fXY7Eb0AEw7boQYxjN9Rg==} peerDependencies: starknet: 6.11.0 @@ -7014,9 +7020,19 @@ snapshots: - typescript - utf-8-validate - '@dojoengine/create-burner@1.0.0-alpha.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)': + '@dojoengine/core@1.0.0-alpha.13(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)': + dependencies: + '@dojoengine/recs': 2.0.13(typescript@5.4.4)(zod@3.23.8) + starknet: 6.7.0(encoding@0.1.13) + zod: 3.23.8 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + + '@dojoengine/create-burner@1.0.0-alpha.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)': dependencies: - '@dojoengine/core': 1.0.0-alpha.12(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4) + '@dojoengine/core': 1.0.0-alpha.13(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4) '@scure/bip32': 1.4.0 '@starknet-react/core': 2.3.0(get-starknet-core@3.3.2(starknet@6.7.0(encoding@0.1.13)))(react@18.3.1)(starknet@6.7.0(encoding@0.1.13)) encoding: 0.1.13 @@ -7030,12 +7046,12 @@ snapshots: - typescript - utf-8-validate - '@dojoengine/react@1.0.0-alpha.12(@types/node@20.14.13)(@types/react@18.2.74)(@vitest/ui@2.0.2(vitest@2.0.5))(jsdom@24.1.0)(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(type-fest@0.21.3)(typescript@5.4.4)(zod@3.23.8)': + '@dojoengine/react@1.0.0-alpha.13(@types/node@20.14.13)(@types/react@18.2.74)(@vitest/ui@2.0.2(vitest@2.0.5))(jsdom@24.1.0)(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(type-fest@0.21.3)(typescript@5.4.4)(zod@3.23.8)': dependencies: '@dojoengine/recs': 2.0.13(typescript@5.4.4)(zod@3.23.8) - '@dojoengine/state': 1.0.0-alpha.12(@types/node@20.14.13)(@types/react@18.2.74)(@vitest/ui@2.0.2(vitest@2.0.5))(jsdom@24.1.0)(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8) - '@dojoengine/torii-client': 1.0.0-alpha.12 - '@dojoengine/utils': 1.0.0-alpha.12(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8) + '@dojoengine/state': 1.0.0-alpha.13(@types/node@20.14.13)(@types/react@18.2.74)(@vitest/ui@2.0.2(vitest@2.0.5))(jsdom@24.1.0)(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8) + '@dojoengine/torii-client': 1.0.0-alpha.13 + '@dojoengine/utils': 1.0.0-alpha.13(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8) '@latticexyz/utils': 2.0.12 encoding: 0.1.13 fast-deep-equal: 3.1.3 @@ -7079,10 +7095,10 @@ snapshots: - utf-8-validate - zod - '@dojoengine/state@1.0.0-alpha.12(@types/node@20.14.13)(@types/react@18.2.74)(@vitest/ui@2.0.2(vitest@2.0.5))(jsdom@24.1.0)(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8)': + '@dojoengine/state@1.0.0-alpha.13(@types/node@20.14.13)(@types/react@18.2.74)(@vitest/ui@2.0.2(vitest@2.0.5))(jsdom@24.1.0)(react@18.3.1)(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8)': dependencies: '@dojoengine/recs': 2.0.13(typescript@5.4.4)(zod@3.23.8) - '@dojoengine/torii-client': 1.0.0-alpha.12 + '@dojoengine/torii-client': 1.0.0-alpha.13 '@latticexyz/utils': 2.0.12 starknet: 6.7.0(encoding@0.1.13) vitest: 1.6.0(@types/node@20.14.13)(@vitest/ui@2.0.2(vitest@2.0.5))(jsdom@24.1.0) @@ -7109,14 +7125,14 @@ snapshots: - utf-8-validate - zod - '@dojoengine/torii-client@1.0.0-alpha.12': + '@dojoengine/torii-client@1.0.0-alpha.13': dependencies: - '@dojoengine/torii-wasm': 1.0.0-alpha.12 + '@dojoengine/torii-wasm': 1.0.0-alpha.13 typescript: 5.5.4 - '@dojoengine/torii-wasm@1.0.0-alpha.12': {} + '@dojoengine/torii-wasm@1.0.0-alpha.13': {} - '@dojoengine/utils@1.0.0-alpha.12(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8)': + '@dojoengine/utils@1.0.0-alpha.13(starknet@6.7.0(encoding@0.1.13))(typescript@5.4.4)(zod@3.23.8)': dependencies: '@dojoengine/recs': 2.0.13(typescript@5.4.4)(zod@3.23.8) '@latticexyz/utils': 2.0.12 diff --git a/rust-bot/Cargo.lock b/rust-bot/Cargo.lock index 37bfbfa51..120bad1ed 100644 --- a/rust-bot/Cargo.lock +++ b/rust-bot/Cargo.lock @@ -2435,8 +2435,8 @@ dependencies = [ [[package]] name = "dojo-lang" -version = "1.0.0-alpha.11" -source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.11#fbff45b249e2b931f5007edf2d526beef7dc553f" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" dependencies = [ "anyhow", "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.3.2)", @@ -2486,8 +2486,8 @@ dependencies = [ [[package]] name = "dojo-types" -version = "1.0.0-alpha.11" -source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.11#fbff45b249e2b931f5007edf2d526beef7dc553f" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" dependencies = [ "cainome 0.2.3 (git+https://github.com/cartridge-gg/cainome?tag=v0.3.2)", "crypto-bigint", @@ -2504,13 +2504,12 @@ dependencies = [ [[package]] name = "dojo-utils" -version = "1.0.0-alpha.11" -source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.11#fbff45b249e2b931f5007edf2d526beef7dc553f" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" dependencies = [ "anyhow", "futures", "reqwest 0.12.7", - "rpassword", "starknet 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tokio", @@ -2518,8 +2517,8 @@ dependencies = [ [[package]] name = "dojo-world" -version = "1.0.0-alpha.11" -source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.11#fbff45b249e2b931f5007edf2d526beef7dc553f" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" dependencies = [ "anyhow", "async-trait", @@ -9045,8 +9044,8 @@ dependencies = [ [[package]] name = "sozo-ops" -version = "1.0.0-alpha.11" -source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.11#fbff45b249e2b931f5007edf2d526beef7dc553f" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" dependencies = [ "anyhow", "async-trait", @@ -9085,7 +9084,6 @@ dependencies = [ "serde_json", "serde_with 2.3.3", "smol_str", - "sozo-walnut", "starknet 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "starknet-crypto 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", @@ -9095,27 +9093,6 @@ dependencies = [ "url", ] -[[package]] -name = "sozo-walnut" -version = "1.0.0-alpha.11" -source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.11#fbff45b249e2b931f5007edf2d526beef7dc553f" -dependencies = [ - "anyhow", - "console", - "dojo-world", - "futures", - "reqwest 0.12.7", - "scarb", - "scarb-ui", - "serde", - "serde_json", - "starknet 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror", - "url", - "urlencoding", - "walkdir", -] - [[package]] name = "spin" version = "0.5.2" @@ -10514,8 +10491,8 @@ checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d" [[package]] name = "torii-client" -version = "1.0.0-alpha.11" -source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.11#fbff45b249e2b931f5007edf2d526beef7dc553f" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" dependencies = [ "async-trait", "crypto-bigint", @@ -10543,8 +10520,8 @@ dependencies = [ [[package]] name = "torii-core" -version = "1.0.0-alpha.11" -source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.11#fbff45b249e2b931f5007edf2d526beef7dc553f" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" dependencies = [ "anyhow", "async-trait", @@ -10580,8 +10557,8 @@ dependencies = [ [[package]] name = "torii-grpc" -version = "1.0.0-alpha.11" -source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.11#fbff45b249e2b931f5007edf2d526beef7dc553f" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" dependencies = [ "bytes", "crypto-bigint", @@ -10621,8 +10598,8 @@ dependencies = [ [[package]] name = "torii-relay" -version = "1.0.0-alpha.11" -source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.11#fbff45b249e2b931f5007edf2d526beef7dc553f" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" dependencies = [ "anyhow", "async-trait", diff --git a/rust-bot/Cargo.toml b/rust-bot/Cargo.toml index 3e6243ab0..90f05f204 100644 --- a/rust-bot/Cargo.toml +++ b/rust-bot/Cargo.toml @@ -18,13 +18,13 @@ toml = { version = "0.7", default-features = false, features = ["parse", "displa starknet = "0.11.0" starknet-crypto = "0.7.0" starknet-types-core = "~0.1.4" -dojo-types = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.11" } -torii-client = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.11" } +dojo-types = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.9" } +torii-client = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.9" } torii-grpc = { git = "https://github.com/dojoengine/dojo", features = [ "client", -], tag = "v1.0.0-alpha.11" } -torii-relay = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.11" } -dojo-world = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.11" } +], tag = "v1.0.0-alpha.9" } +torii-relay = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.9" } +dojo-world = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.9" } cainome = { git = "https://github.com/cartridge-gg/cainome" } cairo-lang-filesystem = "=2.7.0" diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 30c8db6cc..9d3edac0d 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -7,17 +7,17 @@ echo "Build contracts..." sozo --profile prod build echo "Deleting previous indexer and network..." -slot deployments delete eternum-37 torii -slot deployments delete eternum-37 katana +slot deployments delete eternum-chat torii +slot deployments delete eternum-chat katana echo "Deploying world to Realms L3..." -slot deployments create --tier rare eternum-37 katana --version v1.0.0-alpha.11 --invoke-max-steps 25000000 --disable-fee true --block-time 1000 +slot deployments create eternum-chat katana --version v1.0.0-alpha.9 --invoke-max-steps 25000000 --disable-fee true --block-time 1000 echo "Migrating world..." sozo --profile prod migrate apply echo "Setting up remote indexer on slot..." -slot deployments create --tier rare eternum-37 torii --version v1.0.0-alpha.11 --world 0x6918fe8c1ba16bdc83b9790cd9168d730aa98a22c65164578ef99af1c8cbc76 --rpc https://api.cartridge.gg/x/eternum-37/katana --start-block 0 --index-pending true +slot deployments create eternum-chat torii --version v1.0.0-alpha.9 --world 0x6918fe8c1ba16bdc83b9790cd9168d730aa98a22c65164578ef99af1c8cbc76 --rpc https://api.cartridge.gg/x/eternum-chat/katana --start-block 0 --index-pending true --allowed-origins "*" echo "Setting up config..." ./scripts/set_writer.sh --interval 1 --mode prod