From f5921c9130a5171669b485784cc29399a454d409 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Wed, 26 Jun 2024 17:07:16 -0500
Subject: [PATCH 01/14] added bytes32 playerId
---
packages/contracts/mud.config.ts | 23 +-
.../contracts/out/IWorld.sol/IWorld.abi.json | 36 +-
.../out/IWorld.sol/IWorld.abi.json.d.ts | 36 +-
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
packages/contracts/src/codegen/index.sol | 2 +
.../src/codegen/tables/CombatEncounter.sol | 48 +-
.../src/codegen/tables/EntitiesAtPosition.sol | 513 ++++++++++++++++++
.../contracts/src/codegen/tables/Position.sol | 336 ++++++++++++
.../src/codegen/world/ICharacterSystem.sol | 2 +
.../src/codegen/world/ICombatSystem.sol | 4 +-
.../contracts/src/systems/CharacterSystem.sol | 5 +
.../contracts/src/systems/CombatSystem.sol | 4 +-
packages/contracts/src/systems/MobSystem.sol | 2 +
packages/contracts/test/CharacterSystem.t.sol | 16 +-
packages/contracts/worlds.json | 2 +-
15 files changed, 965 insertions(+), 66 deletions(-)
create mode 100644 packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
create mode 100644 packages/contracts/src/codegen/tables/Position.sol
diff --git a/packages/contracts/mud.config.ts b/packages/contracts/mud.config.ts
index c57a22c85..e0d465a02 100644
--- a/packages/contracts/mud.config.ts
+++ b/packages/contracts/mud.config.ts
@@ -134,7 +134,7 @@ export default defineWorld({
// array of monsterIds if pve playerIds if pvp
defenders: "bytes32[]",
// array of playerIds
- attackers: "uint256[]",
+ attackers: "bytes32[]",
},
key: ["encounterId"],
},
@@ -156,6 +156,27 @@ export default defineWorld({
arbitraryData: "bytes",
},
},
+ /**
+ * The position of an entity.
+ */
+ Position: {
+ key: ["matchEntity", "entity"],
+ schema: {
+ matchEntity: "bytes32",
+ entity: "bytes32",
+ x: "int32",
+ y: "int32",
+ },
+ },
+ EntitiesAtPosition: {
+ key: ["matchEntity", "x", "y"],
+ schema: {
+ matchEntity: "bytes32",
+ x: "int32",
+ y: "int32",
+ entities: "bytes32[]",
+ },
+ },
/**
* UltimateDominion settings:
* - locked - If true, game settings are locked.
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index eabf4ee44..648c5bdce 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -96,8 +96,8 @@
},
{
"name": "attackers",
- "type": "uint256[]",
- "internalType": "uint256[]"
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
"name": "defenders",
@@ -166,19 +166,6 @@
"outputs": [],
"stateMutability": "nonpayable"
},
- {
- "type": "function",
- "name": "UD__createSkill",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "nonpayable"
- },
{
"type": "function",
"name": "UD__enterGame",
@@ -555,6 +542,25 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getPlayerEntityId",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getPythProvider",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index c5a4cc2ed..02b0ee7c6 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -96,8 +96,8 @@ declare const abi: [
},
{
"name": "attackers",
- "type": "uint256[]",
- "internalType": "uint256[]"
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
"name": "defenders",
@@ -166,19 +166,6 @@ declare const abi: [
"outputs": [],
"stateMutability": "nonpayable"
},
- {
- "type": "function",
- "name": "UD__createSkill",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "nonpayable"
- },
{
"type": "function",
"name": "UD__enterGame",
@@ -555,6 +542,25 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getPlayerEntityId",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getPythProvider",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index e698719f1..302b53996 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"uint256[]","internalType":"uint256[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createSkill","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getCharacterStats","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CharacterStatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"damageTaken","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"damage","type":"uint256","internalType":"uint256"},{"name":"speed","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD__checkRequirements(uint256,uint256)":"79fdcdee","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,uint256[],bytes32[])":"54763054","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__createSkill()":"8993c4e1","UD__enterGame(uint256)":"cc0f1ab7","UD__equipItems(uint256,uint256[])":"c686667a","UD__getCharacterStats(uint256)":"e1ecef13","UD__getCharacterToken()":"49d8cf02","UD__getClass(uint256)":"5758128c","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(uint256)":"8bc01bf0","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(uint256)":"622834d0","UD__getMonsterStats(uint256)":"91b22373","UD__getName(uint256)":"cf36b62e","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(uint256)":"ef89f17a","UD__getPythProvider()":"e24cefd9","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(uint256,uint256)":"b80057db","UD__issueStarterItems(uint256)":"ce2d5a9a","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__rollStats(bytes32,uint256,uint8)":"1cf705d7","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__unequipItem(uint256,uint256)":"ca3caa8c","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"attackers\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__createSkill\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"speed\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xfdd2eab59d2236c9dea22424159f6a2183bc6a801b57915487f0696537e089e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba516e48c246749f8e0885e15f02d945dd0fdf6588a0d83e3002b7f3247fd6bc\",\"dweb:/ipfs/QmdUo8LuP6NobHUCKjT2Bg9hpz64JnLyo6WGMU4Y9sSDKN\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6\",\"dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4\",\"dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6\",\"dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0xff0a6e9e6e34d739d3260d2e0ef2db0190dfb6eed6acf9b5e631228a35c37c42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bc2c8f088539657ffc555483e094d771ca60e12eb211af1fd5fc5d58d4fac74\",\"dweb:/ipfs/Qmd7PuyowVmPhRWoFQQMRaTihnn9iFQsaKQQRjTaW99eYP\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf\",\"dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xb0d27dd67d9ea10ef835a91c9f1f264107dc2a4cdbeb5531049a5006704cc991\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89727edf1e326df28d8c42d231d46df10a285ea2fdf7b73fe19f21c0901c22b\",\"dweb:/ipfs/QmeRQ4nkXiuh1DSWuGCrC5inRejZKhDZLwtNZn8ai1bV88\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x70caf9c80ea6c72b8f5bb5262f5fc4e8733ebc249c24b7dfb5c881f7b85dab9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3d1ef91292b619f37f8ad93ab9d3cb8e45b91674ab1edee5a7fc1c5d071a0c3\",\"dweb:/ipfs/QmNP2royisUVREpoqfYK1a2hhYodd6iS39yhYpvAPJnG4H\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x1795d0914aa67a81ffcf51328b6eeb9a5359692cd58122047354cf2b9be9c44e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ddc8d7780fd47d6981aa6324e545814f37ff3fb2be2b27e1e5aed97b15f225\",\"dweb:/ipfs/Qmcv98XaSvzK9fijokfySYEMDtyxu8RKp1mT9S2fDvJYoA\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134\",\"dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018\",\"dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256[]","name":"attackers","type":"uint256[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"UD__createSkill","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCharacterStats","outputs":[{"internalType":"struct CharacterStatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"int256","name":"damageTaken","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"damage","type":"uint256"},{"internalType":"uint256","name":"speed","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xfdd2eab59d2236c9dea22424159f6a2183bc6a801b57915487f0696537e089e5","urls":["bzz-raw://ba516e48c246749f8e0885e15f02d945dd0fdf6588a0d83e3002b7f3247fd6bc","dweb:/ipfs/QmdUo8LuP6NobHUCKjT2Bg9hpz64JnLyo6WGMU4Y9sSDKN"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8","urls":["bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6","dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627","urls":["bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4","dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7","urls":["bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6","dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0xff0a6e9e6e34d739d3260d2e0ef2db0190dfb6eed6acf9b5e631228a35c37c42","urls":["bzz-raw://2bc2c8f088539657ffc555483e094d771ca60e12eb211af1fd5fc5d58d4fac74","dweb:/ipfs/Qmd7PuyowVmPhRWoFQQMRaTihnn9iFQsaKQQRjTaW99eYP"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad","urls":["bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf","dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xb0d27dd67d9ea10ef835a91c9f1f264107dc2a4cdbeb5531049a5006704cc991","urls":["bzz-raw://e89727edf1e326df28d8c42d231d46df10a285ea2fdf7b73fe19f21c0901c22b","dweb:/ipfs/QmeRQ4nkXiuh1DSWuGCrC5inRejZKhDZLwtNZn8ai1bV88"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x70caf9c80ea6c72b8f5bb5262f5fc4e8733ebc249c24b7dfb5c881f7b85dab9d","urls":["bzz-raw://c3d1ef91292b619f37f8ad93ab9d3cb8e45b91674ab1edee5a7fc1c5d071a0c3","dweb:/ipfs/QmNP2royisUVREpoqfYK1a2hhYodd6iS39yhYpvAPJnG4H"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x1795d0914aa67a81ffcf51328b6eeb9a5359692cd58122047354cf2b9be9c44e","urls":["bzz-raw://75ddc8d7780fd47d6981aa6324e545814f37ff3fb2be2b27e1e5aed97b15f225","dweb:/ipfs/Qmcv98XaSvzK9fijokfySYEMDtyxu8RKp1mT9S2fDvJYoA"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad","urls":["bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134","dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d","urls":["bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018","dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e","urls":["bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8","dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"],"license":"MIT"}},"version":1},"id":196}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getCharacterStats","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CharacterStatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"damageTaken","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"damage","type":"uint256","internalType":"uint256"},{"name":"speed","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD__checkRequirements(uint256,uint256)":"79fdcdee","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__enterGame(uint256)":"cc0f1ab7","UD__equipItems(uint256,uint256[])":"c686667a","UD__getCharacterStats(uint256)":"e1ecef13","UD__getCharacterToken()":"49d8cf02","UD__getClass(uint256)":"5758128c","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(uint256)":"8bc01bf0","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(uint256)":"622834d0","UD__getMonsterStats(uint256)":"91b22373","UD__getName(uint256)":"cf36b62e","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(uint256)":"ef89f17a","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(uint256,uint256)":"b80057db","UD__issueStarterItems(uint256)":"ce2d5a9a","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__rollStats(bytes32,uint256,uint8)":"1cf705d7","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__unequipItem(uint256,uint256)":"ca3caa8c","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"speed\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389\",\"dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6\",\"dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4\",\"dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6\",\"dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf\",\"dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0x43eb94841eacaef9cb8aba62912067fb8f7c5ee687160adfc711215218bcb18f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c613ae7dcbd9947525fedc76fca8583c8c6b7f62535bcb44a090929ef57a0da7\",\"dweb:/ipfs/QmXTz9ZQuVdhbiUXZ5HXB8qGAC6CKXzCvNPziPoceAf18J\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0x8edcb956a896382c81067a57d79302c9ff8b03cf0e3c3556e00302695cf88f8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb028678c184e6d282bf5157571db9574f74e9a4f6757cf19396dc4b9795d97\",\"dweb:/ipfs/Qmak45JrZw4AJiB4ZnWCCCpSC3UPUgwCe14kHLxKF6mr1q\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x12eb8260d5b7bd513e164c9b6950d850ed659702646bbb3860829b9258733508\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64a84ac75d94ba2cd229ee0d83d26a5c377faa781dd823e097d86439cf85a911\",\"dweb:/ipfs/QmWkLTLnv8FcjByeps3RPegPNWrcRoyvAaUiKunjuJPjKZ\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede\",\"dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x1795d0914aa67a81ffcf51328b6eeb9a5359692cd58122047354cf2b9be9c44e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ddc8d7780fd47d6981aa6324e545814f37ff3fb2be2b27e1e5aed97b15f225\",\"dweb:/ipfs/Qmcv98XaSvzK9fijokfySYEMDtyxu8RKp1mT9S2fDvJYoA\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134\",\"dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018\",\"dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCharacterStats","outputs":[{"internalType":"struct CharacterStatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"int256","name":"damageTaken","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"damage","type":"uint256"},{"internalType":"uint256","name":"speed","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359","urls":["bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389","dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8","urls":["bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6","dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627","urls":["bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4","dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7","urls":["bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6","dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad","urls":["bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf","dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0x43eb94841eacaef9cb8aba62912067fb8f7c5ee687160adfc711215218bcb18f","urls":["bzz-raw://c613ae7dcbd9947525fedc76fca8583c8c6b7f62535bcb44a090929ef57a0da7","dweb:/ipfs/QmXTz9ZQuVdhbiUXZ5HXB8qGAC6CKXzCvNPziPoceAf18J"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0x8edcb956a896382c81067a57d79302c9ff8b03cf0e3c3556e00302695cf88f8b","urls":["bzz-raw://feb028678c184e6d282bf5157571db9574f74e9a4f6757cf19396dc4b9795d97","dweb:/ipfs/Qmak45JrZw4AJiB4ZnWCCCpSC3UPUgwCe14kHLxKF6mr1q"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x12eb8260d5b7bd513e164c9b6950d850ed659702646bbb3860829b9258733508","urls":["bzz-raw://64a84ac75d94ba2cd229ee0d83d26a5c377faa781dd823e097d86439cf85a911","dweb:/ipfs/QmWkLTLnv8FcjByeps3RPegPNWrcRoyvAaUiKunjuJPjKZ"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69","urls":["bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede","dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x1795d0914aa67a81ffcf51328b6eeb9a5359692cd58122047354cf2b9be9c44e","urls":["bzz-raw://75ddc8d7780fd47d6981aa6324e545814f37ff3fb2be2b27e1e5aed97b15f225","dweb:/ipfs/Qmcv98XaSvzK9fijokfySYEMDtyxu8RKp1mT9S2fDvJYoA"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad","urls":["bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134","dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d","urls":["bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018","dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e","urls":["bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8","dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"],"license":"MIT"}},"version":1},"id":198}
\ No newline at end of file
diff --git a/packages/contracts/src/codegen/index.sol b/packages/contracts/src/codegen/index.sol
index a0e96dbb8..ef53c9ada 100644
--- a/packages/contracts/src/codegen/index.sol
+++ b/packages/contracts/src/codegen/index.sol
@@ -18,4 +18,6 @@ import { NameExists } from "./tables/NameExists.sol";
import { CombatEncounter, CombatEncounterData } from "./tables/CombatEncounter.sol";
import { MobEntity, MobEntityData } from "./tables/MobEntity.sol";
import { RandomNumbers, RandomNumbersData } from "./tables/RandomNumbers.sol";
+import { Position, PositionData } from "./tables/Position.sol";
+import { EntitiesAtPosition } from "./tables/EntitiesAtPosition.sol";
import { UltimateDominionConfig, UltimateDominionConfigData } from "./tables/UltimateDominionConfig.sol";
diff --git a/packages/contracts/src/codegen/tables/CombatEncounter.sol b/packages/contracts/src/codegen/tables/CombatEncounter.sol
index 7d2494409..261547160 100644
--- a/packages/contracts/src/codegen/tables/CombatEncounter.sol
+++ b/packages/contracts/src/codegen/tables/CombatEncounter.sol
@@ -26,7 +26,7 @@ struct CombatEncounterData {
uint256 currentTurn;
uint256 maxTurns;
bytes32[] defenders;
- uint256[] attackers;
+ bytes32[] attackers;
}
library CombatEncounter {
@@ -38,8 +38,8 @@ library CombatEncounter {
// Hex-encoded key schema of (bytes32)
Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, uint256, uint256, uint256, uint256, bytes32[], uint256[])
- Schema constant _valueSchema = Schema.wrap(0x00810502001f1f1f1fc181000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, uint256, uint256, uint256, uint256, bytes32[], bytes32[])
+ Schema constant _valueSchema = Schema.wrap(0x00810502001f1f1f1fc1c1000000000000000000000000000000000000000000);
/**
* @notice Get the table's key field names.
@@ -454,29 +454,29 @@ library CombatEncounter {
/**
* @notice Get attackers.
*/
- function getAttackers(bytes32 encounterId) internal view returns (uint256[] memory attackers) {
+ function getAttackers(bytes32 encounterId) internal view returns (bytes32[] memory attackers) {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = encounterId;
bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
}
/**
* @notice Get attackers.
*/
- function _getAttackers(bytes32 encounterId) internal view returns (uint256[] memory attackers) {
+ function _getAttackers(bytes32 encounterId) internal view returns (bytes32[] memory attackers) {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = encounterId;
bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
}
/**
* @notice Set attackers.
*/
- function setAttackers(bytes32 encounterId, uint256[] memory attackers) internal {
+ function setAttackers(bytes32 encounterId, bytes32[] memory attackers) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = encounterId;
@@ -486,7 +486,7 @@ library CombatEncounter {
/**
* @notice Set attackers.
*/
- function _setAttackers(bytes32 encounterId, uint256[] memory attackers) internal {
+ function _setAttackers(bytes32 encounterId, bytes32[] memory attackers) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = encounterId;
@@ -523,13 +523,13 @@ library CombatEncounter {
* @notice Get an item of attackers.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (uint256) {
+ function getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = encounterId;
unchecked {
bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
+ return (bytes32(_blob));
}
}
@@ -537,20 +537,20 @@ library CombatEncounter {
* @notice Get an item of attackers.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function _getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (uint256) {
+ function _getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = encounterId;
unchecked {
bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
+ return (bytes32(_blob));
}
}
/**
* @notice Push an element to attackers.
*/
- function pushAttackers(bytes32 encounterId, uint256 _element) internal {
+ function pushAttackers(bytes32 encounterId, bytes32 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = encounterId;
@@ -560,7 +560,7 @@ library CombatEncounter {
/**
* @notice Push an element to attackers.
*/
- function _pushAttackers(bytes32 encounterId, uint256 _element) internal {
+ function _pushAttackers(bytes32 encounterId, bytes32 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = encounterId;
@@ -590,7 +590,7 @@ library CombatEncounter {
/**
* @notice Update an element of attackers at `_index`.
*/
- function updateAttackers(bytes32 encounterId, uint256 _index, uint256 _element) internal {
+ function updateAttackers(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = encounterId;
@@ -603,7 +603,7 @@ library CombatEncounter {
/**
* @notice Update an element of attackers at `_index`.
*/
- function _updateAttackers(bytes32 encounterId, uint256 _index, uint256 _element) internal {
+ function _updateAttackers(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = encounterId;
@@ -654,7 +654,7 @@ library CombatEncounter {
uint256 currentTurn,
uint256 maxTurns,
bytes32[] memory defenders,
- uint256[] memory attackers
+ bytes32[] memory attackers
) internal {
bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
@@ -678,7 +678,7 @@ library CombatEncounter {
uint256 currentTurn,
uint256 maxTurns,
bytes32[] memory defenders,
- uint256[] memory attackers
+ bytes32[] memory attackers
) internal {
bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
@@ -760,7 +760,7 @@ library CombatEncounter {
function decodeDynamic(
EncodedLengths _encodedLengths,
bytes memory _blob
- ) internal pure returns (bytes32[] memory defenders, uint256[] memory attackers) {
+ ) internal pure returns (bytes32[] memory defenders, bytes32[] memory attackers) {
uint256 _start;
uint256 _end;
unchecked {
@@ -772,7 +772,7 @@ library CombatEncounter {
unchecked {
_end += _encodedLengths.atIndex(1);
}
- attackers = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
+ attackers = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
}
/**
@@ -831,7 +831,7 @@ library CombatEncounter {
*/
function encodeLengths(
bytes32[] memory defenders,
- uint256[] memory attackers
+ bytes32[] memory attackers
) internal pure returns (EncodedLengths _encodedLengths) {
// Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
unchecked {
@@ -843,7 +843,7 @@ library CombatEncounter {
* @notice Tightly pack dynamic (variable length) data using this table's schema.
* @return The dynamic data, encoded into a sequence of bytes.
*/
- function encodeDynamic(bytes32[] memory defenders, uint256[] memory attackers) internal pure returns (bytes memory) {
+ function encodeDynamic(bytes32[] memory defenders, bytes32[] memory attackers) internal pure returns (bytes memory) {
return abi.encodePacked(EncodeArray.encode((defenders)), EncodeArray.encode((attackers)));
}
@@ -860,7 +860,7 @@ library CombatEncounter {
uint256 currentTurn,
uint256 maxTurns,
bytes32[] memory defenders,
- uint256[] memory attackers
+ bytes32[] memory attackers
) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
diff --git a/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol b/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
new file mode 100644
index 000000000..c9102d102
--- /dev/null
+++ b/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
@@ -0,0 +1,513 @@
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.8.24;
+
+/* Autogenerated file. Do not edit manually. */
+
+// Import store internals
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+
+library EntitiesAtPosition {
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "EntitiesAtPositi", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000456e7469746965734174506f73697469);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32, int32, int32)
+ Schema constant _keySchema = Schema.wrap(0x002803005f232300000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bytes32[])
+ Schema constant _valueSchema = Schema.wrap(0x00000001c1000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](3);
+ keyNames[0] = "matchEntity";
+ keyNames[1] = "x";
+ keyNames[2] = "y";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "entities";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function getEntities(bytes32 matchEntity, int32 x, int32 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function _getEntities(bytes32 matchEntity, int32 x, int32 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function get(bytes32 matchEntity, int32 x, int32 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function _get(bytes32 matchEntity, int32 x, int32 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function setEntities(bytes32 matchEntity, int32 x, int32 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function _setEntities(bytes32 matchEntity, int32 x, int32 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function set(bytes32 matchEntity, int32 x, int32 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function _set(bytes32 matchEntity, int32 x, int32 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function lengthEntities(bytes32 matchEntity, int32 x, int32 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function _lengthEntities(bytes32 matchEntity, int32 x, int32 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function length(bytes32 matchEntity, int32 x, int32 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function _length(bytes32 matchEntity, int32 x, int32 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemEntities(bytes32 matchEntity, int32 x, int32 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemEntities(bytes32 matchEntity, int32 x, int32 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItem(bytes32 matchEntity, int32 x, int32 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItem(bytes32 matchEntity, int32 x, int32 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function pushEntities(bytes32 matchEntity, int32 x, int32 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function _pushEntities(bytes32 matchEntity, int32 x, int32 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function push(bytes32 matchEntity, int32 x, int32 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function _push(bytes32 matchEntity, int32 x, int32 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function popEntities(bytes32 matchEntity, int32 x, int32 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function _popEntities(bytes32 matchEntity, int32 x, int32 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function pop(bytes32 matchEntity, int32 x, int32 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function _pop(bytes32 matchEntity, int32 x, int32 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function updateEntities(bytes32 matchEntity, int32 x, int32 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function _updateEntities(bytes32 matchEntity, int32 x, int32 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function update(bytes32 matchEntity, int32 x, int32 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function _update(bytes32 matchEntity, int32 x, int32 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 matchEntity, int32 x, int32 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 matchEntity, int32 x, int32 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes32[] memory entities) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(entities.length * 32);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes32[] memory entities) internal pure returns (bytes memory) {
+ return abi.encodePacked(EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(bytes32[] memory entities) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(entities);
+ bytes memory _dynamicData = encodeDynamic(entities);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 matchEntity, int32 x, int32 y) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](3);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = bytes32(uint256(int256(x)));
+ _keyTuple[2] = bytes32(uint256(int256(y)));
+
+ return _keyTuple;
+ }
+}
diff --git a/packages/contracts/src/codegen/tables/Position.sol b/packages/contracts/src/codegen/tables/Position.sol
new file mode 100644
index 000000000..23bf468db
--- /dev/null
+++ b/packages/contracts/src/codegen/tables/Position.sol
@@ -0,0 +1,336 @@
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.8.24;
+
+/* Autogenerated file. Do not edit manually. */
+
+// Import store internals
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+
+struct PositionData {
+ int32 x;
+ int32 y;
+}
+
+library Position {
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Position", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000506f736974696f6e0000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0008020004040000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32, bytes32)
+ Schema constant _keySchema = Schema.wrap(0x004002005f5f0000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (int32, int32)
+ Schema constant _valueSchema = Schema.wrap(0x0008020023230000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](2);
+ keyNames[0] = "matchEntity";
+ keyNames[1] = "entity";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "x";
+ fieldNames[1] = "y";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get x.
+ */
+ function getX(bytes32 matchEntity, bytes32 entity) internal view returns (int32 x) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (int32(uint32(bytes4(_blob))));
+ }
+
+ /**
+ * @notice Get x.
+ */
+ function _getX(bytes32 matchEntity, bytes32 entity) internal view returns (int32 x) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (int32(uint32(bytes4(_blob))));
+ }
+
+ /**
+ * @notice Set x.
+ */
+ function setX(bytes32 matchEntity, bytes32 entity, int32 x) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set x.
+ */
+ function _setX(bytes32 matchEntity, bytes32 entity, int32 x) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get y.
+ */
+ function getY(bytes32 matchEntity, bytes32 entity) internal view returns (int32 y) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int32(uint32(bytes4(_blob))));
+ }
+
+ /**
+ * @notice Get y.
+ */
+ function _getY(bytes32 matchEntity, bytes32 entity) internal view returns (int32 y) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int32(uint32(bytes4(_blob))));
+ }
+
+ /**
+ * @notice Set y.
+ */
+ function setY(bytes32 matchEntity, bytes32 entity, int32 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set y.
+ */
+ function _setY(bytes32 matchEntity, bytes32 entity, int32 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 matchEntity, bytes32 entity) internal view returns (PositionData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 matchEntity, bytes32 entity) internal view returns (PositionData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 matchEntity, bytes32 entity, int32 x, int32 y) internal {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 matchEntity, bytes32 entity, int32 x, int32 y) internal {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 matchEntity, bytes32 entity, PositionData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.x, _table.y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 matchEntity, bytes32 entity, PositionData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.x, _table.y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (int32 x, int32 y) {
+ x = (int32(uint32(Bytes.getBytes4(_blob, 0))));
+
+ y = (int32(uint32(Bytes.getBytes4(_blob, 4))));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths,
+ bytes memory
+ ) internal pure returns (PositionData memory _table) {
+ (_table.x, _table.y) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 matchEntity, bytes32 entity) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 matchEntity, bytes32 entity) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(int32 x, int32 y) internal pure returns (bytes memory) {
+ return abi.encodePacked(x, y);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(int32 x, int32 y) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 matchEntity, bytes32 entity) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = matchEntity;
+ _keyTuple[1] = entity;
+
+ return _keyTuple;
+ }
+}
diff --git a/packages/contracts/src/codegen/world/ICharacterSystem.sol b/packages/contracts/src/codegen/world/ICharacterSystem.sol
index fd4fb36cc..59e1bc200 100644
--- a/packages/contracts/src/codegen/world/ICharacterSystem.sol
+++ b/packages/contracts/src/codegen/world/ICharacterSystem.sol
@@ -16,6 +16,8 @@ interface ICharacterSystem {
function UD__getClass(uint256 characterId) external view returns (Classes _class);
+ function UD__getPlayerEntityId(uint256 characterId) external view returns (bytes32);
+
function UD__mintCharacter(
address account,
bytes32 name,
diff --git a/packages/contracts/src/codegen/world/ICombatSystem.sol b/packages/contracts/src/codegen/world/ICombatSystem.sol
index 934593608..a4380ac7d 100644
--- a/packages/contracts/src/codegen/world/ICombatSystem.sol
+++ b/packages/contracts/src/codegen/world/ICombatSystem.sol
@@ -13,9 +13,7 @@ import { EncounterType } from "@codegen/common.sol";
interface ICombatSystem {
function UD__createMatch(
EncounterType encounterType,
- uint256[] memory attackers,
+ bytes32[] memory attackers,
bytes32[] memory defenders
) external returns (bytes32);
-
- function UD__createSkill() external returns (uint256);
}
diff --git a/packages/contracts/src/systems/CharacterSystem.sol b/packages/contracts/src/systems/CharacterSystem.sol
index b7e5c32b6..3e7b30cbc 100644
--- a/packages/contracts/src/systems/CharacterSystem.sol
+++ b/packages/contracts/src/systems/CharacterSystem.sol
@@ -51,6 +51,11 @@ contract CharacterSystem is System {
characterToken = IERC721Mintable(UltimateDominionConfig.getCharacterToken());
}
+ function getPlayerEntityId(uint256 characterId) public view returns (bytes32) {
+ address ownerAddress = _characterToken().ownerOf(characterId);
+ return bytes32(uint256(uint160(ownerAddress)) << 88 | characterId);
+ }
+
function mintCharacter(address account, bytes32 name, string memory tokenUri)
public
returns (uint256 characterId)
diff --git a/packages/contracts/src/systems/CombatSystem.sol b/packages/contracts/src/systems/CombatSystem.sol
index cc7874aa1..7a24a7e9b 100644
--- a/packages/contracts/src/systems/CombatSystem.sol
+++ b/packages/contracts/src/systems/CombatSystem.sol
@@ -14,7 +14,7 @@ import {DEFAULT_MAX_TURNS} from "../../constants.sol";
contract CombatSystem is System {
// in pvp the attackers are always players and the defenders are always mobs since there is no aggro system
- function createMatch(EncounterType encounterType, uint256[] memory attackers, bytes32[] memory defenders)
+ function createMatch(EncounterType encounterType, bytes32[] memory attackers, bytes32[] memory defenders)
public
returns (bytes32)
{
@@ -32,6 +32,4 @@ contract CombatSystem is System {
CombatEncounter.set(encounterId, combatData);
return encounterId;
}
-
- function createSkill() public returns (uint256) {}
}
diff --git a/packages/contracts/src/systems/MobSystem.sol b/packages/contracts/src/systems/MobSystem.sol
index 599bdf211..a9af00fbf 100644
--- a/packages/contracts/src/systems/MobSystem.sol
+++ b/packages/contracts/src/systems/MobSystem.sol
@@ -29,6 +29,8 @@ contract MobSystem is System {
}
}
+ // function spawnMob(uint256 mobId)
+
function getNpcStats(uint256 mobId) public view returns (NPCStats memory) {
MobsData memory mobData = Mobs.get(mobId);
require(mobData.mobType == MobType.NPC, "MobSystem: Wrong Mob Type");
diff --git a/packages/contracts/test/CharacterSystem.t.sol b/packages/contracts/test/CharacterSystem.t.sol
index 3859f375a..1b0429205 100644
--- a/packages/contracts/test/CharacterSystem.t.sol
+++ b/packages/contracts/test/CharacterSystem.t.sol
@@ -16,9 +16,7 @@ contract Test_CharacterSystem is SetUp, GasReporter {
assertEq(alicesCharacterId, 2);
assertEq(characterToken.ownerOf(1), alice);
assertEq(characterToken.balanceOf(alice), 2);
- assertEq(
- IERC721Metadata(address(characterToken)).tokenURI(alicesCharacterId), "ipfs://test_Character_URI"
- );
+ assertEq(IERC721Metadata(address(characterToken)).tokenURI(alicesCharacterId), "ipfs://test_Character_URI");
endGasReport();
}
@@ -60,4 +58,16 @@ contract Test_CharacterSystem is SetUp, GasReporter {
endGasReport();
}
+
+ function test_getPlayerEntity() public {
+ uint256 fees = entropy.getFee(address(1));
+ vm.startPrank(alice);
+ world.UD__rollStats{value: fees}(alicesRandomness, alicesCharacterId, Classes.Rogue);
+ world.UD__enterGame(alicesCharacterId);
+
+ address ownerAddress = characterToken.ownerOf(alicesCharacterId);
+ bytes32 playerEntityId = bytes32(uint256(uint160(ownerAddress)) << 88 | alicesCharacterId);
+
+ assertEq(world.UD__getPlayerEntityId(alicesCharacterId), playerEntityId);
+ }
}
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index 84c687907..82bee8260 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0x8e31c48fd7540e10121a136e4153e0bd11309eaa"
+ "address": "0xc25a83b9ac83de05ab1960058ad8a02d95c5f4a2"
},
"84532": {
"address": "0xeafba96222596ac92cd335b0adfc1c2f50357571",
From 86111e9190d49a42157b082feb553522cc896ff4 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Wed, 26 Jun 2024 19:17:41 -0500
Subject: [PATCH 02/14] you can now get the token id from the characterId"
---
packages/contracts/mud.config.ts | 6 +-
.../contracts/out/IWorld.sol/IWorld.abi.json | 73 +++---
.../out/IWorld.sol/IWorld.abi.json.d.ts | 73 +++---
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
.../src/codegen/tables/CharacterEquipment.sol | 208 +++++++++---------
.../src/codegen/tables/CharacterStats.sol | 136 ++++++------
.../src/codegen/tables/Characters.sol | 104 ++++-----
.../src/codegen/world/ICharacterSystem.sol | 20 +-
.../src/codegen/world/IItemsSystem.sol | 10 +-
.../contracts/src/systems/CharacterSystem.sol | 46 ++--
.../contracts/src/systems/ItemsSystem.sol | 14 +-
packages/contracts/src/systems/RngSystem.sol | 136 ++++++------
packages/contracts/test/CharacterSystem.t.sol | 17 +-
packages/contracts/test/SetUp.sol | 15 +-
packages/contracts/worlds.json | 2 +-
15 files changed, 458 insertions(+), 404 deletions(-)
diff --git a/packages/contracts/mud.config.ts b/packages/contracts/mud.config.ts
index e0d465a02..efe4ebfe4 100644
--- a/packages/contracts/mud.config.ts
+++ b/packages/contracts/mud.config.ts
@@ -28,8 +28,8 @@ export default defineWorld({
Characters: {
key: ["characterId"],
schema: {
+ characterId: "bytes32",
owner: "address",
- characterId: "uint256",
class: "Classes",
name: "bytes32",
locked: "bool",
@@ -38,7 +38,7 @@ export default defineWorld({
CharacterStats: {
key: ["characterId"],
schema: {
- characterId: "uint256",
+ characterId: "bytes32",
strength: "uint256",
agility: "uint256",
intelligence: "uint256",
@@ -69,7 +69,7 @@ export default defineWorld({
CharacterEquipment: {
key: ["characterId"],
schema: {
- characterId: "uint256",
+ characterId: "bytes32",
equippedArmor: "uint256[]",
equippedWeapons: "uint256[]",
equippedSpells: "uint256[]",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index 648c5bdce..b64e6fc5a 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -5,8 +5,8 @@
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "itemId",
@@ -172,8 +172,8 @@
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [],
@@ -185,8 +185,8 @@
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "itemIds",
@@ -203,8 +203,8 @@
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [
@@ -263,14 +263,33 @@
},
{
"type": "function",
- "name": "UD__getClass",
+ "name": "UD__getCharacterTokenId",
"inputs": [
{
"name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
"type": "uint256",
"internalType": "uint256"
}
],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getClass",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
"outputs": [
{
"name": "_class",
@@ -318,8 +337,8 @@
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [
@@ -474,8 +493,8 @@
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [
@@ -529,8 +548,8 @@
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [
@@ -547,14 +566,14 @@
"name": "UD__getPlayerEntityId",
"inputs": [
{
- "name": "characterId",
+ "name": "characterTokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
- "name": "",
+ "name": "characterId",
"type": "bytes32",
"internalType": "bytes32"
}
@@ -640,8 +659,8 @@
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "itemId",
@@ -664,8 +683,8 @@
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [],
@@ -694,8 +713,8 @@
"outputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"stateMutability": "nonpayable"
@@ -711,8 +730,8 @@
},
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "class",
@@ -770,8 +789,8 @@
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "itemId",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index 02b0ee7c6..5dbd04275 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -5,8 +5,8 @@ declare const abi: [
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "itemId",
@@ -172,8 +172,8 @@ declare const abi: [
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [],
@@ -185,8 +185,8 @@ declare const abi: [
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "itemIds",
@@ -203,8 +203,8 @@ declare const abi: [
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [
@@ -263,14 +263,33 @@ declare const abi: [
},
{
"type": "function",
- "name": "UD__getClass",
+ "name": "UD__getCharacterTokenId",
"inputs": [
{
"name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
"type": "uint256",
"internalType": "uint256"
}
],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getClass",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
"outputs": [
{
"name": "_class",
@@ -318,8 +337,8 @@ declare const abi: [
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [
@@ -474,8 +493,8 @@ declare const abi: [
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [
@@ -529,8 +548,8 @@ declare const abi: [
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [
@@ -547,14 +566,14 @@ declare const abi: [
"name": "UD__getPlayerEntityId",
"inputs": [
{
- "name": "characterId",
+ "name": "characterTokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
- "name": "",
+ "name": "characterId",
"type": "bytes32",
"internalType": "bytes32"
}
@@ -640,8 +659,8 @@ declare const abi: [
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "itemId",
@@ -664,8 +683,8 @@ declare const abi: [
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [],
@@ -694,8 +713,8 @@ declare const abi: [
"outputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"stateMutability": "nonpayable"
@@ -711,8 +730,8 @@ declare const abi: [
},
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "class",
@@ -770,8 +789,8 @@ declare const abi: [
"inputs": [
{
"name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "itemId",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index 302b53996..167a1ca60 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getCharacterStats","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CharacterStatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"damageTaken","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"damage","type":"uint256","internalType":"uint256"},{"name":"speed","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD__checkRequirements(uint256,uint256)":"79fdcdee","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__enterGame(uint256)":"cc0f1ab7","UD__equipItems(uint256,uint256[])":"c686667a","UD__getCharacterStats(uint256)":"e1ecef13","UD__getCharacterToken()":"49d8cf02","UD__getClass(uint256)":"5758128c","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(uint256)":"8bc01bf0","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(uint256)":"622834d0","UD__getMonsterStats(uint256)":"91b22373","UD__getName(uint256)":"cf36b62e","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(uint256)":"ef89f17a","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(uint256,uint256)":"b80057db","UD__issueStarterItems(uint256)":"ce2d5a9a","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__rollStats(bytes32,uint256,uint8)":"1cf705d7","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__unequipItem(uint256,uint256)":"ca3caa8c","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"speed\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389\",\"dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6\",\"dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4\",\"dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6\",\"dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf\",\"dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0x43eb94841eacaef9cb8aba62912067fb8f7c5ee687160adfc711215218bcb18f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c613ae7dcbd9947525fedc76fca8583c8c6b7f62535bcb44a090929ef57a0da7\",\"dweb:/ipfs/QmXTz9ZQuVdhbiUXZ5HXB8qGAC6CKXzCvNPziPoceAf18J\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0x8edcb956a896382c81067a57d79302c9ff8b03cf0e3c3556e00302695cf88f8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb028678c184e6d282bf5157571db9574f74e9a4f6757cf19396dc4b9795d97\",\"dweb:/ipfs/Qmak45JrZw4AJiB4ZnWCCCpSC3UPUgwCe14kHLxKF6mr1q\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x12eb8260d5b7bd513e164c9b6950d850ed659702646bbb3860829b9258733508\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64a84ac75d94ba2cd229ee0d83d26a5c377faa781dd823e097d86439cf85a911\",\"dweb:/ipfs/QmWkLTLnv8FcjByeps3RPegPNWrcRoyvAaUiKunjuJPjKZ\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede\",\"dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x1795d0914aa67a81ffcf51328b6eeb9a5359692cd58122047354cf2b9be9c44e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ddc8d7780fd47d6981aa6324e545814f37ff3fb2be2b27e1e5aed97b15f225\",\"dweb:/ipfs/Qmcv98XaSvzK9fijokfySYEMDtyxu8RKp1mT9S2fDvJYoA\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134\",\"dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018\",\"dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCharacterStats","outputs":[{"internalType":"struct CharacterStatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"int256","name":"damageTaken","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"damage","type":"uint256"},{"internalType":"uint256","name":"speed","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359","urls":["bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389","dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8","urls":["bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6","dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627","urls":["bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4","dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7","urls":["bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6","dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad","urls":["bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf","dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0x43eb94841eacaef9cb8aba62912067fb8f7c5ee687160adfc711215218bcb18f","urls":["bzz-raw://c613ae7dcbd9947525fedc76fca8583c8c6b7f62535bcb44a090929ef57a0da7","dweb:/ipfs/QmXTz9ZQuVdhbiUXZ5HXB8qGAC6CKXzCvNPziPoceAf18J"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0x8edcb956a896382c81067a57d79302c9ff8b03cf0e3c3556e00302695cf88f8b","urls":["bzz-raw://feb028678c184e6d282bf5157571db9574f74e9a4f6757cf19396dc4b9795d97","dweb:/ipfs/Qmak45JrZw4AJiB4ZnWCCCpSC3UPUgwCe14kHLxKF6mr1q"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x12eb8260d5b7bd513e164c9b6950d850ed659702646bbb3860829b9258733508","urls":["bzz-raw://64a84ac75d94ba2cd229ee0d83d26a5c377faa781dd823e097d86439cf85a911","dweb:/ipfs/QmWkLTLnv8FcjByeps3RPegPNWrcRoyvAaUiKunjuJPjKZ"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69","urls":["bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede","dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x1795d0914aa67a81ffcf51328b6eeb9a5359692cd58122047354cf2b9be9c44e","urls":["bzz-raw://75ddc8d7780fd47d6981aa6324e545814f37ff3fb2be2b27e1e5aed97b15f225","dweb:/ipfs/Qmcv98XaSvzK9fijokfySYEMDtyxu8RKp1mT9S2fDvJYoA"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad","urls":["bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134","dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d","urls":["bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018","dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e","urls":["bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8","dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"],"license":"MIT"}},"version":1},"id":198}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getCharacterStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CharacterStatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"damageTaken","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"damage","type":"uint256","internalType":"uint256"},{"name":"speed","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__getCharacterStats(bytes32)":"8538665d","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(uint256)":"622834d0","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"speed\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389\",\"dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec\",\"dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0x2bc09d6f9c6354fac9454e3082dfb9cf2f493fb6d6742ef55a7099600bd33161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8851d022d93d16df1f6c0a7ec8f3c8b67b813b9f6b1a77cda19b62b555c5c9a1\",\"dweb:/ipfs/QmaUAo51a5w8DHiM6zBPnR87ZXMnTtixEC51oAcxLhxj8s\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf\",\"dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0x43eb94841eacaef9cb8aba62912067fb8f7c5ee687160adfc711215218bcb18f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c613ae7dcbd9947525fedc76fca8583c8c6b7f62535bcb44a090929ef57a0da7\",\"dweb:/ipfs/QmXTz9ZQuVdhbiUXZ5HXB8qGAC6CKXzCvNPziPoceAf18J\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0x8edcb956a896382c81067a57d79302c9ff8b03cf0e3c3556e00302695cf88f8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb028678c184e6d282bf5157571db9574f74e9a4f6757cf19396dc4b9795d97\",\"dweb:/ipfs/Qmak45JrZw4AJiB4ZnWCCCpSC3UPUgwCe14kHLxKF6mr1q\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x63825ac5c6a38e9f42ef6225da480497e8dfe4fb6b6e4d19eb054453f9292ab5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b552d145b3c135947ded635c18791a03dc279583ea10c88659afa061a22d6cd2\",\"dweb:/ipfs/QmStGcntq7BhxnwSduxVCCme2aE5HRPvPZteGg1vLodssh\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede\",\"dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db\",\"dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134\",\"dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018\",\"dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterStats","outputs":[{"internalType":"struct CharacterStatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"int256","name":"damageTaken","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"damage","type":"uint256"},{"internalType":"uint256","name":"speed","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359","urls":["bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389","dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6","urls":["bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec","dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0x2bc09d6f9c6354fac9454e3082dfb9cf2f493fb6d6742ef55a7099600bd33161","urls":["bzz-raw://8851d022d93d16df1f6c0a7ec8f3c8b67b813b9f6b1a77cda19b62b555c5c9a1","dweb:/ipfs/QmaUAo51a5w8DHiM6zBPnR87ZXMnTtixEC51oAcxLhxj8s"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad","urls":["bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf","dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0x43eb94841eacaef9cb8aba62912067fb8f7c5ee687160adfc711215218bcb18f","urls":["bzz-raw://c613ae7dcbd9947525fedc76fca8583c8c6b7f62535bcb44a090929ef57a0da7","dweb:/ipfs/QmXTz9ZQuVdhbiUXZ5HXB8qGAC6CKXzCvNPziPoceAf18J"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0x8edcb956a896382c81067a57d79302c9ff8b03cf0e3c3556e00302695cf88f8b","urls":["bzz-raw://feb028678c184e6d282bf5157571db9574f74e9a4f6757cf19396dc4b9795d97","dweb:/ipfs/Qmak45JrZw4AJiB4ZnWCCCpSC3UPUgwCe14kHLxKF6mr1q"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x63825ac5c6a38e9f42ef6225da480497e8dfe4fb6b6e4d19eb054453f9292ab5","urls":["bzz-raw://b552d145b3c135947ded635c18791a03dc279583ea10c88659afa061a22d6cd2","dweb:/ipfs/QmStGcntq7BhxnwSduxVCCme2aE5HRPvPZteGg1vLodssh"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69","urls":["bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede","dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce","urls":["bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db","dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad","urls":["bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134","dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d","urls":["bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018","dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e","urls":["bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8","dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"],"license":"MIT"}},"version":1},"id":198}
\ No newline at end of file
diff --git a/packages/contracts/src/codegen/tables/CharacterEquipment.sol b/packages/contracts/src/codegen/tables/CharacterEquipment.sol
index fd4f4f416..7b27ec7cb 100644
--- a/packages/contracts/src/codegen/tables/CharacterEquipment.sol
+++ b/packages/contracts/src/codegen/tables/CharacterEquipment.sol
@@ -29,8 +29,8 @@ library CharacterEquipment {
FieldLayout constant _fieldLayout =
FieldLayout.wrap(0x0000000300000000000000000000000000000000000000000000000000000000);
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
// Hex-encoded value schema of (uint256[], uint256[], uint256[])
Schema constant _valueSchema = Schema.wrap(0x0000000381818100000000000000000000000000000000000000000000000000);
@@ -71,9 +71,9 @@ library CharacterEquipment {
/**
* @notice Get equippedArmor.
*/
- function getEquippedArmor(uint256 characterId) internal view returns (uint256[] memory equippedArmor) {
+ function getEquippedArmor(bytes32 characterId) internal view returns (uint256[] memory equippedArmor) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
@@ -82,9 +82,9 @@ library CharacterEquipment {
/**
* @notice Get equippedArmor.
*/
- function _getEquippedArmor(uint256 characterId) internal view returns (uint256[] memory equippedArmor) {
+ function _getEquippedArmor(bytes32 characterId) internal view returns (uint256[] memory equippedArmor) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
@@ -93,9 +93,9 @@ library CharacterEquipment {
/**
* @notice Set equippedArmor.
*/
- function setEquippedArmor(uint256 characterId, uint256[] memory equippedArmor) internal {
+ function setEquippedArmor(bytes32 characterId, uint256[] memory equippedArmor) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((equippedArmor)));
}
@@ -103,9 +103,9 @@ library CharacterEquipment {
/**
* @notice Set equippedArmor.
*/
- function _setEquippedArmor(uint256 characterId, uint256[] memory equippedArmor) internal {
+ function _setEquippedArmor(bytes32 characterId, uint256[] memory equippedArmor) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((equippedArmor)));
}
@@ -113,9 +113,9 @@ library CharacterEquipment {
/**
* @notice Get the length of equippedArmor.
*/
- function lengthEquippedArmor(uint256 characterId) internal view returns (uint256) {
+ function lengthEquippedArmor(bytes32 characterId) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
unchecked {
@@ -126,9 +126,9 @@ library CharacterEquipment {
/**
* @notice Get the length of equippedArmor.
*/
- function _lengthEquippedArmor(uint256 characterId) internal view returns (uint256) {
+ function _lengthEquippedArmor(bytes32 characterId) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
unchecked {
@@ -140,9 +140,9 @@ library CharacterEquipment {
* @notice Get an item of equippedArmor.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function getItemEquippedArmor(uint256 characterId, uint256 _index) internal view returns (uint256) {
+ function getItemEquippedArmor(bytes32 characterId, uint256 _index) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
@@ -154,9 +154,9 @@ library CharacterEquipment {
* @notice Get an item of equippedArmor.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function _getItemEquippedArmor(uint256 characterId, uint256 _index) internal view returns (uint256) {
+ function _getItemEquippedArmor(bytes32 characterId, uint256 _index) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
@@ -167,9 +167,9 @@ library CharacterEquipment {
/**
* @notice Push an element to equippedArmor.
*/
- function pushEquippedArmor(uint256 characterId, uint256 _element) internal {
+ function pushEquippedArmor(bytes32 characterId, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
}
@@ -177,9 +177,9 @@ library CharacterEquipment {
/**
* @notice Push an element to equippedArmor.
*/
- function _pushEquippedArmor(uint256 characterId, uint256 _element) internal {
+ function _pushEquippedArmor(bytes32 characterId, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
}
@@ -187,9 +187,9 @@ library CharacterEquipment {
/**
* @notice Pop an element from equippedArmor.
*/
- function popEquippedArmor(uint256 characterId) internal {
+ function popEquippedArmor(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
}
@@ -197,9 +197,9 @@ library CharacterEquipment {
/**
* @notice Pop an element from equippedArmor.
*/
- function _popEquippedArmor(uint256 characterId) internal {
+ function _popEquippedArmor(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
}
@@ -207,9 +207,9 @@ library CharacterEquipment {
/**
* @notice Update an element of equippedArmor at `_index`.
*/
- function updateEquippedArmor(uint256 characterId, uint256 _index, uint256 _element) internal {
+ function updateEquippedArmor(bytes32 characterId, uint256 _index, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _encoded = abi.encodePacked((_element));
@@ -220,9 +220,9 @@ library CharacterEquipment {
/**
* @notice Update an element of equippedArmor at `_index`.
*/
- function _updateEquippedArmor(uint256 characterId, uint256 _index, uint256 _element) internal {
+ function _updateEquippedArmor(bytes32 characterId, uint256 _index, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _encoded = abi.encodePacked((_element));
@@ -233,9 +233,9 @@ library CharacterEquipment {
/**
* @notice Get equippedWeapons.
*/
- function getEquippedWeapons(uint256 characterId) internal view returns (uint256[] memory equippedWeapons) {
+ function getEquippedWeapons(bytes32 characterId) internal view returns (uint256[] memory equippedWeapons) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
@@ -244,9 +244,9 @@ library CharacterEquipment {
/**
* @notice Get equippedWeapons.
*/
- function _getEquippedWeapons(uint256 characterId) internal view returns (uint256[] memory equippedWeapons) {
+ function _getEquippedWeapons(bytes32 characterId) internal view returns (uint256[] memory equippedWeapons) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
@@ -255,9 +255,9 @@ library CharacterEquipment {
/**
* @notice Set equippedWeapons.
*/
- function setEquippedWeapons(uint256 characterId, uint256[] memory equippedWeapons) internal {
+ function setEquippedWeapons(bytes32 characterId, uint256[] memory equippedWeapons) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((equippedWeapons)));
}
@@ -265,9 +265,9 @@ library CharacterEquipment {
/**
* @notice Set equippedWeapons.
*/
- function _setEquippedWeapons(uint256 characterId, uint256[] memory equippedWeapons) internal {
+ function _setEquippedWeapons(bytes32 characterId, uint256[] memory equippedWeapons) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((equippedWeapons)));
}
@@ -275,9 +275,9 @@ library CharacterEquipment {
/**
* @notice Get the length of equippedWeapons.
*/
- function lengthEquippedWeapons(uint256 characterId) internal view returns (uint256) {
+ function lengthEquippedWeapons(bytes32 characterId) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
unchecked {
@@ -288,9 +288,9 @@ library CharacterEquipment {
/**
* @notice Get the length of equippedWeapons.
*/
- function _lengthEquippedWeapons(uint256 characterId) internal view returns (uint256) {
+ function _lengthEquippedWeapons(bytes32 characterId) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
unchecked {
@@ -302,9 +302,9 @@ library CharacterEquipment {
* @notice Get an item of equippedWeapons.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function getItemEquippedWeapons(uint256 characterId, uint256 _index) internal view returns (uint256) {
+ function getItemEquippedWeapons(bytes32 characterId, uint256 _index) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
@@ -316,9 +316,9 @@ library CharacterEquipment {
* @notice Get an item of equippedWeapons.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function _getItemEquippedWeapons(uint256 characterId, uint256 _index) internal view returns (uint256) {
+ function _getItemEquippedWeapons(bytes32 characterId, uint256 _index) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
@@ -329,9 +329,9 @@ library CharacterEquipment {
/**
* @notice Push an element to equippedWeapons.
*/
- function pushEquippedWeapons(uint256 characterId, uint256 _element) internal {
+ function pushEquippedWeapons(bytes32 characterId, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
}
@@ -339,9 +339,9 @@ library CharacterEquipment {
/**
* @notice Push an element to equippedWeapons.
*/
- function _pushEquippedWeapons(uint256 characterId, uint256 _element) internal {
+ function _pushEquippedWeapons(bytes32 characterId, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
}
@@ -349,9 +349,9 @@ library CharacterEquipment {
/**
* @notice Pop an element from equippedWeapons.
*/
- function popEquippedWeapons(uint256 characterId) internal {
+ function popEquippedWeapons(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
}
@@ -359,9 +359,9 @@ library CharacterEquipment {
/**
* @notice Pop an element from equippedWeapons.
*/
- function _popEquippedWeapons(uint256 characterId) internal {
+ function _popEquippedWeapons(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
}
@@ -369,9 +369,9 @@ library CharacterEquipment {
/**
* @notice Update an element of equippedWeapons at `_index`.
*/
- function updateEquippedWeapons(uint256 characterId, uint256 _index, uint256 _element) internal {
+ function updateEquippedWeapons(bytes32 characterId, uint256 _index, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _encoded = abi.encodePacked((_element));
@@ -382,9 +382,9 @@ library CharacterEquipment {
/**
* @notice Update an element of equippedWeapons at `_index`.
*/
- function _updateEquippedWeapons(uint256 characterId, uint256 _index, uint256 _element) internal {
+ function _updateEquippedWeapons(bytes32 characterId, uint256 _index, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _encoded = abi.encodePacked((_element));
@@ -395,9 +395,9 @@ library CharacterEquipment {
/**
* @notice Get equippedSpells.
*/
- function getEquippedSpells(uint256 characterId) internal view returns (uint256[] memory equippedSpells) {
+ function getEquippedSpells(bytes32 characterId) internal view returns (uint256[] memory equippedSpells) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 2);
return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
@@ -406,9 +406,9 @@ library CharacterEquipment {
/**
* @notice Get equippedSpells.
*/
- function _getEquippedSpells(uint256 characterId) internal view returns (uint256[] memory equippedSpells) {
+ function _getEquippedSpells(bytes32 characterId) internal view returns (uint256[] memory equippedSpells) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 2);
return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
@@ -417,9 +417,9 @@ library CharacterEquipment {
/**
* @notice Set equippedSpells.
*/
- function setEquippedSpells(uint256 characterId, uint256[] memory equippedSpells) internal {
+ function setEquippedSpells(bytes32 characterId, uint256[] memory equippedSpells) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setDynamicField(_tableId, _keyTuple, 2, EncodeArray.encode((equippedSpells)));
}
@@ -427,9 +427,9 @@ library CharacterEquipment {
/**
* @notice Set equippedSpells.
*/
- function _setEquippedSpells(uint256 characterId, uint256[] memory equippedSpells) internal {
+ function _setEquippedSpells(bytes32 characterId, uint256[] memory equippedSpells) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setDynamicField(_tableId, _keyTuple, 2, EncodeArray.encode((equippedSpells)));
}
@@ -437,9 +437,9 @@ library CharacterEquipment {
/**
* @notice Get the length of equippedSpells.
*/
- function lengthEquippedSpells(uint256 characterId) internal view returns (uint256) {
+ function lengthEquippedSpells(bytes32 characterId) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 2);
unchecked {
@@ -450,9 +450,9 @@ library CharacterEquipment {
/**
* @notice Get the length of equippedSpells.
*/
- function _lengthEquippedSpells(uint256 characterId) internal view returns (uint256) {
+ function _lengthEquippedSpells(bytes32 characterId) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 2);
unchecked {
@@ -464,9 +464,9 @@ library CharacterEquipment {
* @notice Get an item of equippedSpells.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function getItemEquippedSpells(uint256 characterId, uint256 _index) internal view returns (uint256) {
+ function getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
@@ -478,9 +478,9 @@ library CharacterEquipment {
* @notice Get an item of equippedSpells.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function _getItemEquippedSpells(uint256 characterId, uint256 _index) internal view returns (uint256) {
+ function _getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (uint256) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
@@ -491,9 +491,9 @@ library CharacterEquipment {
/**
* @notice Push an element to equippedSpells.
*/
- function pushEquippedSpells(uint256 characterId, uint256 _element) internal {
+ function pushEquippedSpells(bytes32 characterId, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 2, abi.encodePacked((_element)));
}
@@ -501,9 +501,9 @@ library CharacterEquipment {
/**
* @notice Push an element to equippedSpells.
*/
- function _pushEquippedSpells(uint256 characterId, uint256 _element) internal {
+ function _pushEquippedSpells(bytes32 characterId, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.pushToDynamicField(_tableId, _keyTuple, 2, abi.encodePacked((_element)));
}
@@ -511,9 +511,9 @@ library CharacterEquipment {
/**
* @notice Pop an element from equippedSpells.
*/
- function popEquippedSpells(uint256 characterId) internal {
+ function popEquippedSpells(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 2, 32);
}
@@ -521,9 +521,9 @@ library CharacterEquipment {
/**
* @notice Pop an element from equippedSpells.
*/
- function _popEquippedSpells(uint256 characterId) internal {
+ function _popEquippedSpells(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.popFromDynamicField(_tableId, _keyTuple, 2, 32);
}
@@ -531,9 +531,9 @@ library CharacterEquipment {
/**
* @notice Update an element of equippedSpells at `_index`.
*/
- function updateEquippedSpells(uint256 characterId, uint256 _index, uint256 _element) internal {
+ function updateEquippedSpells(bytes32 characterId, uint256 _index, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _encoded = abi.encodePacked((_element));
@@ -544,9 +544,9 @@ library CharacterEquipment {
/**
* @notice Update an element of equippedSpells at `_index`.
*/
- function _updateEquippedSpells(uint256 characterId, uint256 _index, uint256 _element) internal {
+ function _updateEquippedSpells(bytes32 characterId, uint256 _index, uint256 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
unchecked {
bytes memory _encoded = abi.encodePacked((_element));
@@ -557,9 +557,9 @@ library CharacterEquipment {
/**
* @notice Get the full data.
*/
- function get(uint256 characterId) internal view returns (CharacterEquipmentData memory _table) {
+ function get(bytes32 characterId) internal view returns (CharacterEquipmentData memory _table) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
_tableId,
@@ -572,9 +572,9 @@ library CharacterEquipment {
/**
* @notice Get the full data.
*/
- function _get(uint256 characterId) internal view returns (CharacterEquipmentData memory _table) {
+ function _get(bytes32 characterId) internal view returns (CharacterEquipmentData memory _table) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
_tableId,
@@ -588,7 +588,7 @@ library CharacterEquipment {
* @notice Set the full data using individual values.
*/
function set(
- uint256 characterId,
+ bytes32 characterId,
uint256[] memory equippedArmor,
uint256[] memory equippedWeapons,
uint256[] memory equippedSpells
@@ -598,7 +598,7 @@ library CharacterEquipment {
bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
}
@@ -607,7 +607,7 @@ library CharacterEquipment {
* @notice Set the full data using individual values.
*/
function _set(
- uint256 characterId,
+ bytes32 characterId,
uint256[] memory equippedArmor,
uint256[] memory equippedWeapons,
uint256[] memory equippedSpells
@@ -617,7 +617,7 @@ library CharacterEquipment {
bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
}
@@ -625,13 +625,13 @@ library CharacterEquipment {
/**
* @notice Set the full data using the data struct.
*/
- function set(uint256 characterId, CharacterEquipmentData memory _table) internal {
+ function set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
bytes memory _staticData;
EncodedLengths _encodedLengths = encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
}
@@ -639,13 +639,13 @@ library CharacterEquipment {
/**
* @notice Set the full data using the data struct.
*/
- function _set(uint256 characterId, CharacterEquipmentData memory _table) internal {
+ function _set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
bytes memory _staticData;
EncodedLengths _encodedLengths = encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
}
@@ -701,9 +701,9 @@ library CharacterEquipment {
/**
* @notice Delete all data for given keys.
*/
- function deleteRecord(uint256 characterId) internal {
+ function deleteRecord(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.deleteRecord(_tableId, _keyTuple);
}
@@ -711,9 +711,9 @@ library CharacterEquipment {
/**
* @notice Delete all data for given keys.
*/
- function _deleteRecord(uint256 characterId) internal {
+ function _deleteRecord(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
}
@@ -775,9 +775,9 @@ library CharacterEquipment {
/**
* @notice Encode keys as a bytes32 array using this table's field layout.
*/
- function encodeKeyTuple(uint256 characterId) internal pure returns (bytes32[] memory) {
+ function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
return _keyTuple;
}
diff --git a/packages/contracts/src/codegen/tables/CharacterStats.sol b/packages/contracts/src/codegen/tables/CharacterStats.sol
index 02d166b8b..a1184148c 100644
--- a/packages/contracts/src/codegen/tables/CharacterStats.sol
+++ b/packages/contracts/src/codegen/tables/CharacterStats.sol
@@ -32,8 +32,8 @@ library CharacterStats {
FieldLayout constant _fieldLayout =
FieldLayout.wrap(0x00c0060020202020202000000000000000000000000000000000000000000000);
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
// Hex-encoded value schema of (uint256, uint256, uint256, uint256, int256, uint256)
Schema constant _valueSchema = Schema.wrap(0x00c006001f1f1f1f3f1f00000000000000000000000000000000000000000000);
@@ -77,9 +77,9 @@ library CharacterStats {
/**
* @notice Get strength.
*/
- function getStrength(uint256 characterId) internal view returns (uint256 strength) {
+ function getStrength(bytes32 characterId) internal view returns (uint256 strength) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -88,9 +88,9 @@ library CharacterStats {
/**
* @notice Get strength.
*/
- function _getStrength(uint256 characterId) internal view returns (uint256 strength) {
+ function _getStrength(bytes32 characterId) internal view returns (uint256 strength) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -99,9 +99,9 @@ library CharacterStats {
/**
* @notice Set strength.
*/
- function setStrength(uint256 characterId, uint256 strength) internal {
+ function setStrength(bytes32 characterId, uint256 strength) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
}
@@ -109,9 +109,9 @@ library CharacterStats {
/**
* @notice Set strength.
*/
- function _setStrength(uint256 characterId, uint256 strength) internal {
+ function _setStrength(bytes32 characterId, uint256 strength) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
}
@@ -119,9 +119,9 @@ library CharacterStats {
/**
* @notice Get agility.
*/
- function getAgility(uint256 characterId) internal view returns (uint256 agility) {
+ function getAgility(bytes32 characterId) internal view returns (uint256 agility) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -130,9 +130,9 @@ library CharacterStats {
/**
* @notice Get agility.
*/
- function _getAgility(uint256 characterId) internal view returns (uint256 agility) {
+ function _getAgility(bytes32 characterId) internal view returns (uint256 agility) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -141,9 +141,9 @@ library CharacterStats {
/**
* @notice Set agility.
*/
- function setAgility(uint256 characterId, uint256 agility) internal {
+ function setAgility(bytes32 characterId, uint256 agility) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
}
@@ -151,9 +151,9 @@ library CharacterStats {
/**
* @notice Set agility.
*/
- function _setAgility(uint256 characterId, uint256 agility) internal {
+ function _setAgility(bytes32 characterId, uint256 agility) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
}
@@ -161,9 +161,9 @@ library CharacterStats {
/**
* @notice Get intelligence.
*/
- function getIntelligence(uint256 characterId) internal view returns (uint256 intelligence) {
+ function getIntelligence(bytes32 characterId) internal view returns (uint256 intelligence) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -172,9 +172,9 @@ library CharacterStats {
/**
* @notice Get intelligence.
*/
- function _getIntelligence(uint256 characterId) internal view returns (uint256 intelligence) {
+ function _getIntelligence(bytes32 characterId) internal view returns (uint256 intelligence) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -183,9 +183,9 @@ library CharacterStats {
/**
* @notice Set intelligence.
*/
- function setIntelligence(uint256 characterId, uint256 intelligence) internal {
+ function setIntelligence(bytes32 characterId, uint256 intelligence) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intelligence)), _fieldLayout);
}
@@ -193,9 +193,9 @@ library CharacterStats {
/**
* @notice Set intelligence.
*/
- function _setIntelligence(uint256 characterId, uint256 intelligence) internal {
+ function _setIntelligence(bytes32 characterId, uint256 intelligence) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intelligence)), _fieldLayout);
}
@@ -203,9 +203,9 @@ library CharacterStats {
/**
* @notice Get hitPoints.
*/
- function getHitPoints(uint256 characterId) internal view returns (uint256 hitPoints) {
+ function getHitPoints(bytes32 characterId) internal view returns (uint256 hitPoints) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -214,9 +214,9 @@ library CharacterStats {
/**
* @notice Get hitPoints.
*/
- function _getHitPoints(uint256 characterId) internal view returns (uint256 hitPoints) {
+ function _getHitPoints(bytes32 characterId) internal view returns (uint256 hitPoints) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -225,9 +225,9 @@ library CharacterStats {
/**
* @notice Set hitPoints.
*/
- function setHitPoints(uint256 characterId, uint256 hitPoints) internal {
+ function setHitPoints(bytes32 characterId, uint256 hitPoints) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hitPoints)), _fieldLayout);
}
@@ -235,9 +235,9 @@ library CharacterStats {
/**
* @notice Set hitPoints.
*/
- function _setHitPoints(uint256 characterId, uint256 hitPoints) internal {
+ function _setHitPoints(bytes32 characterId, uint256 hitPoints) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hitPoints)), _fieldLayout);
}
@@ -245,9 +245,9 @@ library CharacterStats {
/**
* @notice Get damageTaken.
*/
- function getDamageTaken(uint256 characterId) internal view returns (int256 damageTaken) {
+ function getDamageTaken(bytes32 characterId) internal view returns (int256 damageTaken) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
return (int256(uint256(bytes32(_blob))));
@@ -256,9 +256,9 @@ library CharacterStats {
/**
* @notice Get damageTaken.
*/
- function _getDamageTaken(uint256 characterId) internal view returns (int256 damageTaken) {
+ function _getDamageTaken(bytes32 characterId) internal view returns (int256 damageTaken) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
return (int256(uint256(bytes32(_blob))));
@@ -267,9 +267,9 @@ library CharacterStats {
/**
* @notice Set damageTaken.
*/
- function setDamageTaken(uint256 characterId, int256 damageTaken) internal {
+ function setDamageTaken(bytes32 characterId, int256 damageTaken) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((damageTaken)), _fieldLayout);
}
@@ -277,9 +277,9 @@ library CharacterStats {
/**
* @notice Set damageTaken.
*/
- function _setDamageTaken(uint256 characterId, int256 damageTaken) internal {
+ function _setDamageTaken(bytes32 characterId, int256 damageTaken) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((damageTaken)), _fieldLayout);
}
@@ -287,9 +287,9 @@ library CharacterStats {
/**
* @notice Get experience.
*/
- function getExperience(uint256 characterId) internal view returns (uint256 experience) {
+ function getExperience(bytes32 characterId) internal view returns (uint256 experience) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -298,9 +298,9 @@ library CharacterStats {
/**
* @notice Get experience.
*/
- function _getExperience(uint256 characterId) internal view returns (uint256 experience) {
+ function _getExperience(bytes32 characterId) internal view returns (uint256 experience) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -309,9 +309,9 @@ library CharacterStats {
/**
* @notice Set experience.
*/
- function setExperience(uint256 characterId, uint256 experience) internal {
+ function setExperience(bytes32 characterId, uint256 experience) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((experience)), _fieldLayout);
}
@@ -319,9 +319,9 @@ library CharacterStats {
/**
* @notice Set experience.
*/
- function _setExperience(uint256 characterId, uint256 experience) internal {
+ function _setExperience(bytes32 characterId, uint256 experience) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((experience)), _fieldLayout);
}
@@ -329,9 +329,9 @@ library CharacterStats {
/**
* @notice Get the full data.
*/
- function get(uint256 characterId) internal view returns (CharacterStatsData memory _table) {
+ function get(bytes32 characterId) internal view returns (CharacterStatsData memory _table) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
_tableId,
@@ -344,9 +344,9 @@ library CharacterStats {
/**
* @notice Get the full data.
*/
- function _get(uint256 characterId) internal view returns (CharacterStatsData memory _table) {
+ function _get(bytes32 characterId) internal view returns (CharacterStatsData memory _table) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
_tableId,
@@ -360,7 +360,7 @@ library CharacterStats {
* @notice Set the full data using individual values.
*/
function set(
- uint256 characterId,
+ bytes32 characterId,
uint256 strength,
uint256 agility,
uint256 intelligence,
@@ -374,7 +374,7 @@ library CharacterStats {
bytes memory _dynamicData;
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
}
@@ -383,7 +383,7 @@ library CharacterStats {
* @notice Set the full data using individual values.
*/
function _set(
- uint256 characterId,
+ bytes32 characterId,
uint256 strength,
uint256 agility,
uint256 intelligence,
@@ -397,7 +397,7 @@ library CharacterStats {
bytes memory _dynamicData;
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
}
@@ -405,7 +405,7 @@ library CharacterStats {
/**
* @notice Set the full data using the data struct.
*/
- function set(uint256 characterId, CharacterStatsData memory _table) internal {
+ function set(bytes32 characterId, CharacterStatsData memory _table) internal {
bytes memory _staticData = encodeStatic(
_table.strength,
_table.agility,
@@ -419,7 +419,7 @@ library CharacterStats {
bytes memory _dynamicData;
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
}
@@ -427,7 +427,7 @@ library CharacterStats {
/**
* @notice Set the full data using the data struct.
*/
- function _set(uint256 characterId, CharacterStatsData memory _table) internal {
+ function _set(bytes32 characterId, CharacterStatsData memory _table) internal {
bytes memory _staticData = encodeStatic(
_table.strength,
_table.agility,
@@ -441,7 +441,7 @@ library CharacterStats {
bytes memory _dynamicData;
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
}
@@ -500,9 +500,9 @@ library CharacterStats {
/**
* @notice Delete all data for given keys.
*/
- function deleteRecord(uint256 characterId) internal {
+ function deleteRecord(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.deleteRecord(_tableId, _keyTuple);
}
@@ -510,9 +510,9 @@ library CharacterStats {
/**
* @notice Delete all data for given keys.
*/
- function _deleteRecord(uint256 characterId) internal {
+ function _deleteRecord(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
}
@@ -557,9 +557,9 @@ library CharacterStats {
/**
* @notice Encode keys as a bytes32 array using this table's field layout.
*/
- function encodeKeyTuple(uint256 characterId) internal pure returns (bytes32[] memory) {
+ function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
return _keyTuple;
}
diff --git a/packages/contracts/src/codegen/tables/Characters.sol b/packages/contracts/src/codegen/tables/Characters.sol
index fd23cd773..94e544067 100644
--- a/packages/contracts/src/codegen/tables/Characters.sol
+++ b/packages/contracts/src/codegen/tables/Characters.sol
@@ -33,8 +33,8 @@ library Characters {
FieldLayout constant _fieldLayout =
FieldLayout.wrap(0x0036040014012001000000000000000000000000000000000000000000000000);
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
// Hex-encoded value schema of (address, uint8, bytes32, bool)
Schema constant _valueSchema = Schema.wrap(0x0036040061005f60000000000000000000000000000000000000000000000000);
@@ -76,9 +76,9 @@ library Characters {
/**
* @notice Get owner.
*/
- function getOwner(uint256 characterId) internal view returns (address owner) {
+ function getOwner(bytes32 characterId) internal view returns (address owner) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (address(bytes20(_blob)));
@@ -87,9 +87,9 @@ library Characters {
/**
* @notice Get owner.
*/
- function _getOwner(uint256 characterId) internal view returns (address owner) {
+ function _getOwner(bytes32 characterId) internal view returns (address owner) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (address(bytes20(_blob)));
@@ -98,9 +98,9 @@ library Characters {
/**
* @notice Set owner.
*/
- function setOwner(uint256 characterId, address owner) internal {
+ function setOwner(bytes32 characterId, address owner) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((owner)), _fieldLayout);
}
@@ -108,9 +108,9 @@ library Characters {
/**
* @notice Set owner.
*/
- function _setOwner(uint256 characterId, address owner) internal {
+ function _setOwner(bytes32 characterId, address owner) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((owner)), _fieldLayout);
}
@@ -118,9 +118,9 @@ library Characters {
/**
* @notice Get class.
*/
- function getClass(uint256 characterId) internal view returns (Classes class) {
+ function getClass(bytes32 characterId) internal view returns (Classes class) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
return Classes(uint8(bytes1(_blob)));
@@ -129,9 +129,9 @@ library Characters {
/**
* @notice Get class.
*/
- function _getClass(uint256 characterId) internal view returns (Classes class) {
+ function _getClass(bytes32 characterId) internal view returns (Classes class) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
return Classes(uint8(bytes1(_blob)));
@@ -140,9 +140,9 @@ library Characters {
/**
* @notice Set class.
*/
- function setClass(uint256 characterId, Classes class) internal {
+ function setClass(bytes32 characterId, Classes class) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked(uint8(class)), _fieldLayout);
}
@@ -150,9 +150,9 @@ library Characters {
/**
* @notice Set class.
*/
- function _setClass(uint256 characterId, Classes class) internal {
+ function _setClass(bytes32 characterId, Classes class) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked(uint8(class)), _fieldLayout);
}
@@ -160,9 +160,9 @@ library Characters {
/**
* @notice Get name.
*/
- function getName(uint256 characterId) internal view returns (bytes32 name) {
+ function getName(bytes32 characterId) internal view returns (bytes32 name) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
return (bytes32(_blob));
@@ -171,9 +171,9 @@ library Characters {
/**
* @notice Get name.
*/
- function _getName(uint256 characterId) internal view returns (bytes32 name) {
+ function _getName(bytes32 characterId) internal view returns (bytes32 name) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
return (bytes32(_blob));
@@ -182,9 +182,9 @@ library Characters {
/**
* @notice Set name.
*/
- function setName(uint256 characterId, bytes32 name) internal {
+ function setName(bytes32 characterId, bytes32 name) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((name)), _fieldLayout);
}
@@ -192,9 +192,9 @@ library Characters {
/**
* @notice Set name.
*/
- function _setName(uint256 characterId, bytes32 name) internal {
+ function _setName(bytes32 characterId, bytes32 name) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((name)), _fieldLayout);
}
@@ -202,9 +202,9 @@ library Characters {
/**
* @notice Get locked.
*/
- function getLocked(uint256 characterId) internal view returns (bool locked) {
+ function getLocked(bytes32 characterId) internal view returns (bool locked) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
return (_toBool(uint8(bytes1(_blob))));
@@ -213,9 +213,9 @@ library Characters {
/**
* @notice Get locked.
*/
- function _getLocked(uint256 characterId) internal view returns (bool locked) {
+ function _getLocked(bytes32 characterId) internal view returns (bool locked) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
return (_toBool(uint8(bytes1(_blob))));
@@ -224,9 +224,9 @@ library Characters {
/**
* @notice Set locked.
*/
- function setLocked(uint256 characterId, bool locked) internal {
+ function setLocked(bytes32 characterId, bool locked) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((locked)), _fieldLayout);
}
@@ -234,9 +234,9 @@ library Characters {
/**
* @notice Set locked.
*/
- function _setLocked(uint256 characterId, bool locked) internal {
+ function _setLocked(bytes32 characterId, bool locked) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((locked)), _fieldLayout);
}
@@ -244,9 +244,9 @@ library Characters {
/**
* @notice Get the full data.
*/
- function get(uint256 characterId) internal view returns (CharactersData memory _table) {
+ function get(bytes32 characterId) internal view returns (CharactersData memory _table) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
_tableId,
@@ -259,9 +259,9 @@ library Characters {
/**
* @notice Get the full data.
*/
- function _get(uint256 characterId) internal view returns (CharactersData memory _table) {
+ function _get(bytes32 characterId) internal view returns (CharactersData memory _table) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
_tableId,
@@ -274,14 +274,14 @@ library Characters {
/**
* @notice Set the full data using individual values.
*/
- function set(uint256 characterId, address owner, Classes class, bytes32 name, bool locked) internal {
+ function set(bytes32 characterId, address owner, Classes class, bytes32 name, bool locked) internal {
bytes memory _staticData = encodeStatic(owner, class, name, locked);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
}
@@ -289,14 +289,14 @@ library Characters {
/**
* @notice Set the full data using individual values.
*/
- function _set(uint256 characterId, address owner, Classes class, bytes32 name, bool locked) internal {
+ function _set(bytes32 characterId, address owner, Classes class, bytes32 name, bool locked) internal {
bytes memory _staticData = encodeStatic(owner, class, name, locked);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
}
@@ -304,14 +304,14 @@ library Characters {
/**
* @notice Set the full data using the data struct.
*/
- function set(uint256 characterId, CharactersData memory _table) internal {
+ function set(bytes32 characterId, CharactersData memory _table) internal {
bytes memory _staticData = encodeStatic(_table.owner, _table.class, _table.name, _table.locked);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
}
@@ -319,14 +319,14 @@ library Characters {
/**
* @notice Set the full data using the data struct.
*/
- function _set(uint256 characterId, CharactersData memory _table) internal {
+ function _set(bytes32 characterId, CharactersData memory _table) internal {
bytes memory _staticData = encodeStatic(_table.owner, _table.class, _table.name, _table.locked);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
}
@@ -363,9 +363,9 @@ library Characters {
/**
* @notice Delete all data for given keys.
*/
- function deleteRecord(uint256 characterId) internal {
+ function deleteRecord(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreSwitch.deleteRecord(_tableId, _keyTuple);
}
@@ -373,9 +373,9 @@ library Characters {
/**
* @notice Delete all data for given keys.
*/
- function _deleteRecord(uint256 characterId) internal {
+ function _deleteRecord(bytes32 characterId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
}
@@ -411,9 +411,9 @@ library Characters {
/**
* @notice Encode keys as a bytes32 array using this table's field layout.
*/
- function encodeKeyTuple(uint256 characterId) internal pure returns (bytes32[] memory) {
+ function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = characterId;
return _keyTuple;
}
diff --git a/packages/contracts/src/codegen/world/ICharacterSystem.sol b/packages/contracts/src/codegen/world/ICharacterSystem.sol
index 59e1bc200..fbfc1ae27 100644
--- a/packages/contracts/src/codegen/world/ICharacterSystem.sol
+++ b/packages/contracts/src/codegen/world/ICharacterSystem.sol
@@ -12,27 +12,29 @@ import { CharacterStatsData } from "@codegen/index.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface ICharacterSystem {
- function UD__getName(uint256 characterId) external view returns (bytes32 _name);
+ function UD__getName(bytes32 characterId) external view returns (bytes32 _name);
- function UD__getClass(uint256 characterId) external view returns (Classes _class);
+ function UD__getClass(bytes32 characterId) external view returns (Classes _class);
- function UD__getPlayerEntityId(uint256 characterId) external view returns (bytes32);
+ function UD__getPlayerEntityId(uint256 characterTokenId) external view returns (bytes32 characterId);
+
+ function UD__getCharacterTokenId(bytes32 characterId) external view returns (uint256);
function UD__mintCharacter(
address account,
bytes32 name,
string memory tokenUri
- ) external returns (uint256 characterId);
+ ) external returns (bytes32 characterId);
- function UD__rollStats(bytes32 userRandomNumber, uint256 characterId, Classes class) external payable;
+ function UD__rollStats(bytes32 userRandomNumber, bytes32 characterId, Classes class) external payable;
- function UD__enterGame(uint256 characterId) external;
+ function UD__enterGame(bytes32 characterId) external;
function UD__getCurrentLevel(uint256 experience) external view returns (uint256 currentLevel);
- function UD__getOwner(uint256 characterId) external view returns (address);
+ function UD__getOwner(bytes32 characterId) external view returns (address);
- function UD__getExperience(uint256 characterId) external view returns (uint256);
+ function UD__getExperience(bytes32 characterId) external view returns (uint256);
- function UD__getCharacterStats(uint256 characterId) external view returns (CharacterStatsData memory);
+ function UD__getCharacterStats(bytes32 characterId) external view returns (CharacterStatsData memory);
}
diff --git a/packages/contracts/src/codegen/world/IItemsSystem.sol b/packages/contracts/src/codegen/world/IItemsSystem.sol
index 28503336e..137e2b128 100644
--- a/packages/contracts/src/codegen/world/IItemsSystem.sol
+++ b/packages/contracts/src/codegen/world/IItemsSystem.sol
@@ -26,17 +26,17 @@ interface IItemsSystem {
string[] memory itemMetadataURIs
) external;
- function UD__equipItems(uint256 characterId, uint256[] memory itemIds) external;
+ function UD__equipItems(bytes32 characterId, uint256[] memory itemIds) external;
- function UD__isEquipped(uint256 characterId, uint256 itemId) external view returns (bool _isEquipped);
+ function UD__isEquipped(bytes32 characterId, uint256 itemId) external view returns (bool _isEquipped);
- function UD__checkRequirements(uint256 characterId, uint256 itemId) external view returns (bool);
+ function UD__checkRequirements(bytes32 characterId, uint256 itemId) external view returns (bool);
- function UD__unequipItem(uint256 characterId, uint256 itemId) external returns (bool success);
+ function UD__unequipItem(bytes32 characterId, uint256 itemId) external returns (bool success);
function UD__getTotalSupply(uint256 tokenId) external view returns (uint256 _supply);
- function UD__issueStarterItems(uint256 characterId) external;
+ function UD__issueStarterItems(bytes32 characterId) external;
function UD__setTokenUri(uint256 tokenId, string memory tokenUri) external;
diff --git a/packages/contracts/src/systems/CharacterSystem.sol b/packages/contracts/src/systems/CharacterSystem.sol
index 3e7b30cbc..cefc20a53 100644
--- a/packages/contracts/src/systems/CharacterSystem.sol
+++ b/packages/contracts/src/systems/CharacterSystem.sol
@@ -35,11 +35,11 @@ import {_erc721SystemId, _erc1155SystemId, _itemsSystemId} from "../utils.sol";
import {GOLD_NAMESPACE, CHARACTERS_NAMESPACE, WORLD_NAMESPACE, ITEMS_NAMESPACE} from "../../constants.sol";
contract CharacterSystem is System {
- function getName(uint256 characterId) public view returns (bytes32 _name) {
+ function getName(bytes32 characterId) public view returns (bytes32 _name) {
_name = Characters.getName(characterId);
}
- function getClass(uint256 characterId) public view returns (Classes _class) {
+ function getClass(bytes32 characterId) public view returns (Classes _class) {
_class = Characters.getClass(characterId);
}
@@ -51,30 +51,40 @@ contract CharacterSystem is System {
characterToken = IERC721Mintable(UltimateDominionConfig.getCharacterToken());
}
- function getPlayerEntityId(uint256 characterId) public view returns (bytes32) {
- address ownerAddress = _characterToken().ownerOf(characterId);
- return bytes32(uint256(uint160(ownerAddress)) << 88 | characterId);
+ function getPlayerEntityId(uint256 characterTokenId) public view returns (bytes32 characterId) {
+ address ownerAddress = _characterToken().ownerOf(characterTokenId);
+ characterId = bytes32(uint256(uint160(ownerAddress)) << 88 | characterTokenId);
}
+ function getCharacterTokenId(bytes32 characterId) public view returns (uint256) {
+ return (uint256(uint88(uint256(characterId))));
+ }
+ /**
+ * @param account the address of the account that will own the character
+ * @param name the keccack256 hash of the characters name to check for duplicates
+ * @param tokenUri the token uri to be set for the character token
+ * @return characterId the bytes32 character id combination of the owner address and the tokenId
+ */
+
function mintCharacter(address account, bytes32 name, string memory tokenUri)
public
- returns (uint256 characterId)
+ returns (bytes32 characterId)
{
- characterId = _incrementCharacterCounter();
- // _characterToken().mint(account, characterId);
+ uint256 characterTokenId = _incrementCharacterCounter();
+ require(characterTokenId < type(uint88).max, "CHARACATERS: Max characters reached");
IWorld(_world()).call(
- _erc721SystemId(CHARACTERS_NAMESPACE), abi.encodeCall(IERC721Mintable.mint, (account, characterId))
+ _erc721SystemId(CHARACTERS_NAMESPACE), abi.encodeCall(IERC721Mintable.mint, (account, characterTokenId))
);
-
+ characterId = getPlayerEntityId(characterTokenId);
Characters.setOwner(characterId, account);
require(!NameExists.getValue(name), "Name already exists");
NameExists.setValue(name, true);
Characters.setName(characterId, name);
- _setTokenURI(characterId, tokenUri);
+ _setTokenURI(characterTokenId, tokenUri);
}
- function rollStats(bytes32 userRandomNumber, uint256 characterId, Classes class) public payable {
+ function rollStats(bytes32 userRandomNumber, bytes32 characterId, Classes class) public payable {
require(!Characters.getLocked(characterId), "you have already accepted this character");
require(_isOwner(characterId), "Not your Character.");
RngRequestType requestType = RngRequestType.CharacterStats;
@@ -83,7 +93,7 @@ contract CharacterSystem is System {
SystemSwitch.call(abi.encodeCall(IRngSystem.getRng, (userRandomNumber, requestType, abi.encode(characterId))));
}
- function enterGame(uint256 characterId) public {
+ function enterGame(bytes32 characterId) public {
require(_isOwner(characterId), "not your character");
require(!Characters.getLocked(characterId), "you have entered the game");
@@ -125,15 +135,15 @@ contract CharacterSystem is System {
return IERC20System(UltimateDominionConfig.getGoldToken());
}
- function _isOwner(uint256 characterId) internal view returns (bool) {
+ function _isOwner(bytes32 characterId) internal view returns (bool) {
return _msgSender() == Characters.getOwner(characterId);
}
- function getOwner(uint256 characterId) public view returns (address) {
+ function getOwner(bytes32 characterId) public view returns (address) {
return Characters.getOwner(characterId);
}
- function issueGold(uint256 characterId, uint256 amount) internal {
+ function issueGold(bytes32 characterId, uint256 amount) internal {
_gold().mint(getOwner(characterId), amount);
}
@@ -141,11 +151,11 @@ contract CharacterSystem is System {
return WorldResourceIdLib.encodeNamespace(CHARACTERS_NAMESPACE);
}
- function getExperience(uint256 characterId) public view returns (uint256) {
+ function getExperience(bytes32 characterId) public view returns (uint256) {
return CharacterStats.getExperience(characterId);
}
- function getCharacterStats(uint256 characterId) public view returns (CharacterStatsData memory) {
+ function getCharacterStats(bytes32 characterId) public view returns (CharacterStatsData memory) {
return CharacterStats.get(characterId);
}
}
diff --git a/packages/contracts/src/systems/ItemsSystem.sol b/packages/contracts/src/systems/ItemsSystem.sol
index 9f0b95114..43e6f36c9 100644
--- a/packages/contracts/src/systems/ItemsSystem.sol
+++ b/packages/contracts/src/systems/ItemsSystem.sol
@@ -40,7 +40,7 @@ import {
import "forge-std/console2.sol";
contract ItemsSystem is System {
- modifier inGame(uint256 characterId) {
+ modifier inGame(bytes32 characterId) {
CharactersData memory charData = Characters.get(characterId);
require(charData.locked, "Character not in the Game");
_;
@@ -83,7 +83,7 @@ contract ItemsSystem is System {
}
}
- function equipItems(uint256 characterId, uint256[] memory itemIds) public inGame(characterId) {
+ function equipItems(bytes32 characterId, uint256[] memory itemIds) public inGame(characterId) {
address characterOwner = IWorld(_world()).UD__getOwner(characterId);
require(characterOwner == _msgSender(), "ITEMS: Not Character Owner");
uint256 itemId;
@@ -97,7 +97,7 @@ contract ItemsSystem is System {
}
}
- function isEquipped(uint256 characterId, uint256 itemId) public view returns (bool _isEquipped) {
+ function isEquipped(bytes32 characterId, uint256 itemId) public view returns (bool _isEquipped) {
ItemsData memory itemData = Items.get(itemId);
if (uint8(itemData.itemType) == 0) {
uint256[] memory equippedWeap = CharacterEquipment.getEquippedWeapons(characterId);
@@ -111,7 +111,7 @@ contract ItemsSystem is System {
}
}
- function checkRequirements(uint256 characterId, uint256 itemId) public view returns (bool) {
+ function checkRequirements(bytes32 characterId, uint256 itemId) public view returns (bool) {
ItemsData memory itemData = Items.get(itemId);
CharacterStatsData memory character = CharacterStats.get(characterId);
CharactersData memory characterData = Characters.get(characterId);
@@ -137,7 +137,7 @@ contract ItemsSystem is System {
return canUse;
}
- function _equipItem(uint256 characterId, uint256 itemId, ItemType itemType) internal {
+ function _equipItem(bytes32 characterId, uint256 itemId, ItemType itemType) internal {
if (uint8(itemType) == 0) {
require(CharacterEquipment.lengthEquippedWeapons(characterId) < 3, "ITEMS: Too many weapons equipped");
CharacterEquipment.pushEquippedWeapons(characterId, itemId);
@@ -152,7 +152,7 @@ contract ItemsSystem is System {
}
}
- function unequipItem(uint256 characterId, uint256 itemId) public returns (bool success) {
+ function unequipItem(bytes32 characterId, uint256 itemId) public returns (bool success) {
address characterOwner = IWorld(_world()).UD__getOwner(characterId);
require(characterOwner == _msgSender(), "ITEMS: Not Character Owner");
uint8 itemType = uint8(getItemType(itemId));
@@ -208,7 +208,7 @@ contract ItemsSystem is System {
_supply = TotalSupply.getTotalSupply(_totalSupplyTableId(ITEMS_NAMESPACE), tokenId);
}
- function issueStarterItems(uint256 characterId) public {
+ function issueStarterItems(bytes32 characterId) public {
require(_msgSender() == Systems.getSystem(_characterSystemId("UD")), "ITEMS: Invalid System");
StarterItemsData memory starterItems = StarterItems.get(Characters.getClass(characterId));
diff --git a/packages/contracts/src/systems/RngSystem.sol b/packages/contracts/src/systems/RngSystem.sol
index 6d80f3959..3bc49fd6f 100644
--- a/packages/contracts/src/systems/RngSystem.sol
+++ b/packages/contracts/src/systems/RngSystem.sol
@@ -1,88 +1,88 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-import { System } from "@latticexyz/world/src/System.sol";
-import { RandomNumbers } from "@codegen/index.sol";
-import { CharacterStats } from "@codegen/index.sol";
-import { RngRequestType } from "@codegen/common.sol";
-import { UltimateDominionConfig } from "../codegen/index.sol";
-import { LibChunks } from "../libraries/LibChunks.sol";
-import { IEntropyConsumer } from "@pythnetwork/IEntropyConsumer.sol";
-import { IEntropy } from "@pythnetwork/IEntropy.sol";
+import {System} from "@latticexyz/world/src/System.sol";
+import {RandomNumbers} from "@codegen/index.sol";
+import {CharacterStats} from "@codegen/index.sol";
+import {RngRequestType} from "@codegen/common.sol";
+import {UltimateDominionConfig} from "../codegen/index.sol";
+import {LibChunks} from "../libraries/LibChunks.sol";
+import {IEntropyConsumer} from "@pythnetwork/IEntropyConsumer.sol";
+import {IEntropy} from "@pythnetwork/IEntropy.sol";
import "forge-std/console2.sol";
contract RngSystem is System, IEntropyConsumer {
- using LibChunks for uint256;
+ using LibChunks for uint256;
- event RNGFulfilled(bytes32 randomNumber);
+ event RNGFulfilled(bytes32 randomNumber);
- function _entropy() internal view returns (IEntropy entropy) {
- entropy = IEntropy(UltimateDominionConfig.getEntropy());
- }
+ function _entropy() internal view returns (IEntropy entropy) {
+ entropy = IEntropy(UltimateDominionConfig.getEntropy());
+ }
+
+ function getEntropy() internal view override returns (address) {
+ return UltimateDominionConfig.getEntropy();
+ }
- function getEntropy() internal view override returns (address) {
- return UltimateDominionConfig.getEntropy();
- }
+ function getFee() public view returns (uint128) {
+ return _entropy().getFee(_provider());
+ }
- function getFee() public view returns (uint128) {
- return _entropy().getFee(_provider());
- }
+ function _provider() internal view returns (address provider) {
+ provider = UltimateDominionConfig.getPythProvider();
+ }
- function _provider() internal view returns (address provider) {
- provider = UltimateDominionConfig.getPythProvider();
- }
+ function getRng(bytes32 userRandomNumber, RngRequestType requestType, bytes memory data) public payable {
+ uint128 requestFee = _entropy().getFee(_provider());
+ // check if the user has sent enough fees
+ // if (_msgValue() < requestFee) revert('not enough fees');
- function getRng(bytes32 userRandomNumber, RngRequestType requestType, bytes memory data) public payable {
- uint128 requestFee = _entropy().getFee(_provider());
- // check if the user has sent enough fees
- // if (_msgValue() < requestFee) revert('not enough fees');
+ // NOTE: required for testing, since callback is coming before data is stored
+ /////////////// TODO: remove or comment out for mainnet deployment //////
+ if (block.chainid == 31337) {
+ (, bytes memory returnData) = address(_entropy()).staticcall(
+ abi.encodeWithSelector(IEntropy.request.selector, _provider(), userRandomNumber, false)
+ );
+ uint64 _sequenceNumber = abi.decode(returnData, (uint64));
+ RandomNumbers.setArbitraryData(_sequenceNumber, data);
+ RandomNumbers.setRequestType(_sequenceNumber, requestType);
+ }
+ /////////////////////////////////////////
- // NOTE: required for testing, since callback is coming before data is stored
- /////////////// TODO: remove or comment out for mainnet deployment //////
- if (block.chainid == 31337) {
- (, bytes memory returnData) = address(_entropy()).staticcall(
- abi.encodeWithSelector(IEntropy.request.selector, _provider(), userRandomNumber, false)
- );
- uint64 _sequenceNumber = abi.decode(returnData, (uint64));
- RandomNumbers.setArbitraryData(_sequenceNumber, data);
- RandomNumbers.setRequestType(_sequenceNumber, requestType);
+ // pay the fees and request a random number from entropy
+ uint64 sequenceNumber = _entropy().requestWithCallback{value: requestFee}(_provider(), userRandomNumber);
+ // RandomNumbers.set(sequenceNumber, requestType, data);
+ RandomNumbers.setArbitraryData(sequenceNumber, data);
+ RandomNumbers.setRequestType(sequenceNumber, requestType);
}
- /////////////////////////////////////////
-
- // pay the fees and request a random number from entropy
- uint64 sequenceNumber = _entropy().requestWithCallback{ value: requestFee }(_provider(), userRandomNumber);
- // RandomNumbers.set(sequenceNumber, requestType, data);
- RandomNumbers.setArbitraryData(sequenceNumber, data);
- RandomNumbers.setRequestType(sequenceNumber, requestType);
- }
- function entropyCallback(
- uint64 sequenceNumber,
- // If your app uses multiple providers, you can use this argument
- // to distinguish which one is calling the app back. This app only
- // uses one provider so this argument is not used.
- address /*_providerAddress*/,
- bytes32 randomNumber
- ) internal override {
- _storeFullfilment(sequenceNumber, uint256(randomNumber));
- emit RNGFulfilled(randomNumber);
- }
+ function entropyCallback(
+ uint64 sequenceNumber,
+ // If your app uses multiple providers, you can use this argument
+ // to distinguish which one is calling the app back. This app only
+ // uses one provider so this argument is not used.
+ address, /*_providerAddress*/
+ bytes32 randomNumber
+ ) internal override {
+ _storeFullfilment(sequenceNumber, uint256(randomNumber));
+ emit RNGFulfilled(randomNumber);
+ }
- function _storeFullfilment(uint64 sequenceNumber, uint256 randomNumber) internal {
- RngRequestType requestType = RandomNumbers.getRequestType(sequenceNumber);
- bytes memory _data = RandomNumbers.getArbitraryData(sequenceNumber);
+ function _storeFullfilment(uint64 sequenceNumber, uint256 randomNumber) internal {
+ RngRequestType requestType = RandomNumbers.getRequestType(sequenceNumber);
+ bytes memory _data = RandomNumbers.getArbitraryData(sequenceNumber);
- if (uint8(requestType) == uint8(0)) {
- uint256 characterId = abi.decode(_data, (uint256));
- _storeCharacterStats(randomNumber, characterId);
+ if (uint8(requestType) == uint8(0)) {
+ bytes32 characterId = abi.decode(_data, (bytes32));
+ _storeCharacterStats(randomNumber, characterId);
+ }
}
- }
- function _storeCharacterStats(uint256 randomNumber, uint256 characterId) internal {
- uint64[] memory chunks = randomNumber.get4Chunks();
- CharacterStats.setStrength(characterId, (uint256((uint256(chunks[0]) % uint256(9)) + 1)));
- CharacterStats.setAgility(characterId, (uint256((uint256(chunks[1]) % uint256(9)) + 1)));
- CharacterStats.setIntelligence(characterId, (uint256((uint256(chunks[2]) % uint256(9)) + 1)));
- CharacterStats.setHitPoints(characterId, (uint256((uint256(chunks[3]) % uint256(9)) + 1)));
- }
+ function _storeCharacterStats(uint256 randomNumber, bytes32 characterId) internal {
+ uint64[] memory chunks = randomNumber.get4Chunks();
+ CharacterStats.setStrength(characterId, (uint256((uint256(chunks[0]) % uint256(9)) + 1)));
+ CharacterStats.setAgility(characterId, (uint256((uint256(chunks[1]) % uint256(9)) + 1)));
+ CharacterStats.setIntelligence(characterId, (uint256((uint256(chunks[2]) % uint256(9)) + 1)));
+ CharacterStats.setHitPoints(characterId, (uint256((uint256(chunks[3]) % uint256(9)) + 1)));
+ }
}
diff --git a/packages/contracts/test/CharacterSystem.t.sol b/packages/contracts/test/CharacterSystem.t.sol
index 1b0429205..a5568e8d6 100644
--- a/packages/contracts/test/CharacterSystem.t.sol
+++ b/packages/contracts/test/CharacterSystem.t.sol
@@ -13,10 +13,10 @@ contract Test_CharacterSystem is SetUp, GasReporter {
vm.startPrank(alice);
alicesCharacterId = world.UD__mintCharacter(alice, bytes32("Alan"), "test_Character_URI");
- assertEq(alicesCharacterId, 2);
+ assertEq(world.UD__getPlayerEntityId(3), alicesCharacterId);
assertEq(characterToken.ownerOf(1), alice);
assertEq(characterToken.balanceOf(alice), 2);
- assertEq(IERC721Metadata(address(characterToken)).tokenURI(alicesCharacterId), "ipfs://test_Character_URI");
+ assertEq(IERC721Metadata(address(characterToken)).tokenURI(3), "ipfs://test_Character_URI");
endGasReport();
}
@@ -60,14 +60,13 @@ contract Test_CharacterSystem is SetUp, GasReporter {
}
function test_getPlayerEntity() public {
- uint256 fees = entropy.getFee(address(1));
- vm.startPrank(alice);
- world.UD__rollStats{value: fees}(alicesRandomness, alicesCharacterId, Classes.Rogue);
- world.UD__enterGame(alicesCharacterId);
+ address ownerAddress = characterToken.ownerOf(2);
+ bytes32 playerEntityId = bytes32(uint256(uint160(ownerAddress)) << 88 | 2);
- address ownerAddress = characterToken.ownerOf(alicesCharacterId);
- bytes32 playerEntityId = bytes32(uint256(uint160(ownerAddress)) << 88 | alicesCharacterId);
+ assertEq(world.UD__getPlayerEntityId(2), playerEntityId);
+ }
- assertEq(world.UD__getPlayerEntityId(alicesCharacterId), playerEntityId);
+ function test_getTokenIdFromCharId() public {
+ assertEq(world.UD__getCharacterTokenId(bobCharacterId), uint256(uint88(uint256(bobCharacterId))));
}
}
diff --git a/packages/contracts/test/SetUp.sol b/packages/contracts/test/SetUp.sol
index 37b743350..92b86e0b8 100644
--- a/packages/contracts/test/SetUp.sol
+++ b/packages/contracts/test/SetUp.sol
@@ -23,6 +23,7 @@ contract SetUp is Test {
address deployer = vm.addr(vm.envUint("PRIVATE_KEY"));
address payable public alice;
+ address payable public bob;
uint256 public userNonce = 0;
IWorld public world;
address public worldAddress;
@@ -32,7 +33,8 @@ contract SetUp is Test {
IERC721Mintable public characterToken;
IERC1155System public erc1155System;
- uint256 alicesCharacterId;
+ bytes32 alicesCharacterId;
+ bytes32 bobCharacterId;
bytes32 public alicesRandomness = bytes32(keccak256(abi.encode("alicesRestaurant")));
function setUp() public virtual {
@@ -45,18 +47,21 @@ contract SetUp is Test {
world = IWorld(worldAddress);
entropy = IEntropy(world.UD__getEntropy());
alice = getUser();
+ bob = getUser();
goldToken = IERC20Mintable(world.UD__getGoldToken());
characterToken = IERC721Mintable(world.UD__getCharacterToken());
erc1155System = IERC1155System(world.UD__getItemsContract());
vm.stopPrank();
vm.prank(alice);
alicesCharacterId = world.UD__mintCharacter(alice, bytes32("Steve"), "setup_char_uri");
-
- vm.startPrank(deployer);
- uint256[] memory amounts = new uint256[](1);
- amounts[0] = 1;
+ vm.startPrank(bob);
+ bobCharacterId = world.UD__mintCharacter(bob, bytes32("bob"), "setup_char_uri_bob/");
+ uint256 fees = entropy.getFee(address(1));
+ world.UD__rollStats{value: fees}(alicesRandomness, bobCharacterId, Classes.Rogue);
+ world.UD__enterGame(bobCharacterId);
vm.stopPrank();
vm.label(alice, "alice");
+ vm.label(bob, "bob");
vm.label(worldAddress, "world");
vm.label(world.UD__getCharacterToken(), "character token");
}
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index 82bee8260..1954f70c2 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0xc25a83b9ac83de05ab1960058ad8a02d95c5f4a2"
+ "address": "0x6d3df5008bc406b6e13b215a97a1955549fe7b7b"
},
"84532": {
"address": "0xeafba96222596ac92cd335b0adfc1c2f50357571",
From c66e0161c7227784146aca5453bbab13d28fb755 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Wed, 26 Jun 2024 21:03:44 -0500
Subject: [PATCH 03/14] implemented monster spawning and mobID system
---
packages/contracts/mud.config.ts | 17 +-
.../contracts/out/IWorld.sol/IWorld.abi.json | 98 ++++++
.../out/IWorld.sol/IWorld.abi.json.d.ts | 98 ++++++
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
.../contracts/src/codegen/tables/Counters.sol | 62 ++--
.../src/codegen/tables/EntitiesAtPosition.sol | 290 ++++++++----------
.../contracts/src/codegen/tables/Position.sol | 156 +++++-----
.../src/codegen/world/IMobSystem.sol | 9 +
.../contracts/src/systems/CharacterSystem.sol | 6 +-
.../contracts/src/systems/ItemsSystem.sol | 4 +-
packages/contracts/src/systems/MobSystem.sol | 51 ++-
packages/contracts/test/MobSystem.t.sol | 32 +-
packages/contracts/test/SetUp.sol | 22 +-
packages/contracts/worlds.json | 2 +-
14 files changed, 548 insertions(+), 301 deletions(-)
diff --git a/packages/contracts/mud.config.ts b/packages/contracts/mud.config.ts
index efe4ebfe4..b06db9f9b 100644
--- a/packages/contracts/mud.config.ts
+++ b/packages/contracts/mud.config.ts
@@ -78,9 +78,10 @@ export default defineWorld({
Counters: {
schema: {
contractAddress: "address",
+ mobId: "uint256",
counter: "uint256",
},
- key: ["contractAddress"],
+ key: ["contractAddress", "mobId"],
},
Items: {
schema: {
@@ -160,20 +161,18 @@ export default defineWorld({
* The position of an entity.
*/
Position: {
- key: ["matchEntity", "entity"],
+ key: ["entity"],
schema: {
- matchEntity: "bytes32",
entity: "bytes32",
- x: "int32",
- y: "int32",
+ x: "uint16",
+ y: "uint16",
},
},
EntitiesAtPosition: {
- key: ["matchEntity", "x", "y"],
+ key: ["x", "y"],
schema: {
- matchEntity: "bytes32",
- x: "int32",
- y: "int32",
+ x: "uint16",
+ y: "uint16",
entities: "bytes32[]",
},
},
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index b64e6fc5a..cd5c5d693 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -431,6 +431,49 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getMobId",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getMobPosition",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "x",
+ "type": "uint16",
+ "internalType": "uint16"
+ },
+ {
+ "name": "y",
+ "type": "uint16",
+ "internalType": "uint16"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getMonsterStats",
@@ -593,6 +636,25 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getSpawnCounter",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getTotalSupply",
@@ -783,6 +845,42 @@
"outputs": [],
"stateMutability": "nonpayable"
},
+ {
+ "type": "function",
+ "name": "UD__spawnMob",
+ "inputs": [
+ {
+ "name": "mobId",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "positionData",
+ "type": "tuple",
+ "internalType": "struct PositionData",
+ "components": [
+ {
+ "name": "x",
+ "type": "uint16",
+ "internalType": "uint16"
+ },
+ {
+ "name": "y",
+ "type": "uint16",
+ "internalType": "uint16"
+ }
+ ]
+ }
+ ],
+ "outputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__unequipItem",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index 5dbd04275..2d2b8f3aa 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -431,6 +431,49 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getMobId",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getMobPosition",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "x",
+ "type": "uint16",
+ "internalType": "uint16"
+ },
+ {
+ "name": "y",
+ "type": "uint16",
+ "internalType": "uint16"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getMonsterStats",
@@ -593,6 +636,25 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getSpawnCounter",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getTotalSupply",
@@ -783,6 +845,42 @@ declare const abi: [
"outputs": [],
"stateMutability": "nonpayable"
},
+ {
+ "type": "function",
+ "name": "UD__spawnMob",
+ "inputs": [
+ {
+ "name": "mobId",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "positionData",
+ "type": "tuple",
+ "internalType": "struct PositionData",
+ "components": [
+ {
+ "name": "x",
+ "type": "uint16",
+ "internalType": "uint16"
+ },
+ {
+ "name": "y",
+ "type": "uint16",
+ "internalType": "uint16"
+ }
+ ]
+ }
+ ],
+ "outputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__unequipItem",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index 167a1ca60..5cb8b4bab 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getCharacterStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CharacterStatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"damageTaken","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"damage","type":"uint256","internalType":"uint256"},{"name":"speed","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__getCharacterStats(bytes32)":"8538665d","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(uint256)":"622834d0","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"speed\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389\",\"dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec\",\"dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0x2bc09d6f9c6354fac9454e3082dfb9cf2f493fb6d6742ef55a7099600bd33161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8851d022d93d16df1f6c0a7ec8f3c8b67b813b9f6b1a77cda19b62b555c5c9a1\",\"dweb:/ipfs/QmaUAo51a5w8DHiM6zBPnR87ZXMnTtixEC51oAcxLhxj8s\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf\",\"dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0x43eb94841eacaef9cb8aba62912067fb8f7c5ee687160adfc711215218bcb18f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c613ae7dcbd9947525fedc76fca8583c8c6b7f62535bcb44a090929ef57a0da7\",\"dweb:/ipfs/QmXTz9ZQuVdhbiUXZ5HXB8qGAC6CKXzCvNPziPoceAf18J\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0x8edcb956a896382c81067a57d79302c9ff8b03cf0e3c3556e00302695cf88f8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb028678c184e6d282bf5157571db9574f74e9a4f6757cf19396dc4b9795d97\",\"dweb:/ipfs/Qmak45JrZw4AJiB4ZnWCCCpSC3UPUgwCe14kHLxKF6mr1q\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x63825ac5c6a38e9f42ef6225da480497e8dfe4fb6b6e4d19eb054453f9292ab5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b552d145b3c135947ded635c18791a03dc279583ea10c88659afa061a22d6cd2\",\"dweb:/ipfs/QmStGcntq7BhxnwSduxVCCme2aE5HRPvPZteGg1vLodssh\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede\",\"dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db\",\"dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134\",\"dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018\",\"dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterStats","outputs":[{"internalType":"struct CharacterStatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"int256","name":"damageTaken","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"damage","type":"uint256"},{"internalType":"uint256","name":"speed","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359","urls":["bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389","dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6","urls":["bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec","dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0x2bc09d6f9c6354fac9454e3082dfb9cf2f493fb6d6742ef55a7099600bd33161","urls":["bzz-raw://8851d022d93d16df1f6c0a7ec8f3c8b67b813b9f6b1a77cda19b62b555c5c9a1","dweb:/ipfs/QmaUAo51a5w8DHiM6zBPnR87ZXMnTtixEC51oAcxLhxj8s"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad","urls":["bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf","dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0x43eb94841eacaef9cb8aba62912067fb8f7c5ee687160adfc711215218bcb18f","urls":["bzz-raw://c613ae7dcbd9947525fedc76fca8583c8c6b7f62535bcb44a090929ef57a0da7","dweb:/ipfs/QmXTz9ZQuVdhbiUXZ5HXB8qGAC6CKXzCvNPziPoceAf18J"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0x8edcb956a896382c81067a57d79302c9ff8b03cf0e3c3556e00302695cf88f8b","urls":["bzz-raw://feb028678c184e6d282bf5157571db9574f74e9a4f6757cf19396dc4b9795d97","dweb:/ipfs/Qmak45JrZw4AJiB4ZnWCCCpSC3UPUgwCe14kHLxKF6mr1q"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x63825ac5c6a38e9f42ef6225da480497e8dfe4fb6b6e4d19eb054453f9292ab5","urls":["bzz-raw://b552d145b3c135947ded635c18791a03dc279583ea10c88659afa061a22d6cd2","dweb:/ipfs/QmStGcntq7BhxnwSduxVCCme2aE5HRPvPZteGg1vLodssh"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69","urls":["bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede","dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce","urls":["bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db","dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad","urls":["bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134","dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d","urls":["bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018","dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e","urls":["bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8","dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"],"license":"MIT"}},"version":1},"id":198}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getCharacterStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CharacterStatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"damageTaken","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"damage","type":"uint256","internalType":"uint256"},{"name":"speed","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"positionData","type":"tuple","internalType":"struct PositionData","components":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}]}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__getCharacterStats(bytes32)":"8538665d","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawnMob(uint256,(uint16,uint16))":"f25eb329","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"speed\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"internalType\":\"struct PositionData\",\"name\":\"positionData\",\"type\":\"tuple\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389\",\"dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec\",\"dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0x2bc09d6f9c6354fac9454e3082dfb9cf2f493fb6d6742ef55a7099600bd33161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8851d022d93d16df1f6c0a7ec8f3c8b67b813b9f6b1a77cda19b62b555c5c9a1\",\"dweb:/ipfs/QmaUAo51a5w8DHiM6zBPnR87ZXMnTtixEC51oAcxLhxj8s\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0x91fe8aa5e00ef0a2c1d7931a8b26cd45ed850a7785e219185371fb798a8265a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b31f0875d9c24db49630fe7536ece79f290e46403a79f976e844819ae3c5ea93\",\"dweb:/ipfs/QmcduYw5D96wo6PRWUbZ3bP6jES7NYD9PXGKsM9XuVdXfy\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x63825ac5c6a38e9f42ef6225da480497e8dfe4fb6b6e4d19eb054453f9292ab5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b552d145b3c135947ded635c18791a03dc279583ea10c88659afa061a22d6cd2\",\"dweb:/ipfs/QmStGcntq7BhxnwSduxVCCme2aE5HRPvPZteGg1vLodssh\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede\",\"dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db\",\"dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x6b356ca44e4353951002aaf15605bf02f5886bdbcda435e4278d9ba55f9e4465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aee3748663951a1ae63fe4ab562b907e21b3177bba50cec215c1caf91bfe56a6\",\"dweb:/ipfs/QmNZ8B5yn3wCwSJXP3kjeoGD4e4dMQGJtQPMJNpy57TedR\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018\",\"dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterStats","outputs":[{"internalType":"struct CharacterStatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"int256","name":"damageTaken","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"damage","type":"uint256"},{"internalType":"uint256","name":"speed","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"struct PositionData","name":"positionData","type":"tuple","components":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359","urls":["bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389","dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6","urls":["bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec","dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0x2bc09d6f9c6354fac9454e3082dfb9cf2f493fb6d6742ef55a7099600bd33161","urls":["bzz-raw://8851d022d93d16df1f6c0a7ec8f3c8b67b813b9f6b1a77cda19b62b555c5c9a1","dweb:/ipfs/QmaUAo51a5w8DHiM6zBPnR87ZXMnTtixEC51oAcxLhxj8s"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0x91fe8aa5e00ef0a2c1d7931a8b26cd45ed850a7785e219185371fb798a8265a7","urls":["bzz-raw://b31f0875d9c24db49630fe7536ece79f290e46403a79f976e844819ae3c5ea93","dweb:/ipfs/QmcduYw5D96wo6PRWUbZ3bP6jES7NYD9PXGKsM9XuVdXfy"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x63825ac5c6a38e9f42ef6225da480497e8dfe4fb6b6e4d19eb054453f9292ab5","urls":["bzz-raw://b552d145b3c135947ded635c18791a03dc279583ea10c88659afa061a22d6cd2","dweb:/ipfs/QmStGcntq7BhxnwSduxVCCme2aE5HRPvPZteGg1vLodssh"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69","urls":["bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede","dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce","urls":["bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db","dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x6b356ca44e4353951002aaf15605bf02f5886bdbcda435e4278d9ba55f9e4465","urls":["bzz-raw://aee3748663951a1ae63fe4ab562b907e21b3177bba50cec215c1caf91bfe56a6","dweb:/ipfs/QmNZ8B5yn3wCwSJXP3kjeoGD4e4dMQGJtQPMJNpy57TedR"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d","urls":["bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018","dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e","urls":["bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8","dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"],"license":"MIT"}},"version":1},"id":198}
\ No newline at end of file
diff --git a/packages/contracts/src/codegen/tables/Counters.sol b/packages/contracts/src/codegen/tables/Counters.sol
index e7e184679..abd943ab4 100644
--- a/packages/contracts/src/codegen/tables/Counters.sol
+++ b/packages/contracts/src/codegen/tables/Counters.sol
@@ -23,8 +23,8 @@ library Counters {
FieldLayout constant _fieldLayout =
FieldLayout.wrap(0x0020010020000000000000000000000000000000000000000000000000000000);
- // Hex-encoded key schema of (address)
- Schema constant _keySchema = Schema.wrap(0x0014010061000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded key schema of (address, uint256)
+ Schema constant _keySchema = Schema.wrap(0x00340200611f0000000000000000000000000000000000000000000000000000);
// Hex-encoded value schema of (uint256)
Schema constant _valueSchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
@@ -33,8 +33,9 @@ library Counters {
* @return keyNames An array of strings with the names of key fields.
*/
function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
+ keyNames = new string[](2);
keyNames[0] = "contractAddress";
+ keyNames[1] = "mobId";
}
/**
@@ -63,9 +64,10 @@ library Counters {
/**
* @notice Get counter.
*/
- function getCounter(address contractAddress) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](1);
+ function getCounter(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
_keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -74,9 +76,10 @@ library Counters {
/**
* @notice Get counter.
*/
- function _getCounter(address contractAddress) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](1);
+ function _getCounter(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
_keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -85,9 +88,10 @@ library Counters {
/**
* @notice Get counter.
*/
- function get(address contractAddress) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](1);
+ function get(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
_keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -96,9 +100,10 @@ library Counters {
/**
* @notice Get counter.
*/
- function _get(address contractAddress) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](1);
+ function _get(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
_keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (uint256(bytes32(_blob)));
@@ -107,9 +112,10 @@ library Counters {
/**
* @notice Set counter.
*/
- function setCounter(address contractAddress, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
+ function setCounter(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
_keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
}
@@ -117,9 +123,10 @@ library Counters {
/**
* @notice Set counter.
*/
- function _setCounter(address contractAddress, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
+ function _setCounter(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
_keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
}
@@ -127,9 +134,10 @@ library Counters {
/**
* @notice Set counter.
*/
- function set(address contractAddress, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
+ function set(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
_keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
}
@@ -137,9 +145,10 @@ library Counters {
/**
* @notice Set counter.
*/
- function _set(address contractAddress, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
+ function _set(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
_keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
}
@@ -147,9 +156,10 @@ library Counters {
/**
* @notice Delete all data for given keys.
*/
- function deleteRecord(address contractAddress) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
+ function deleteRecord(address contractAddress, uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
_keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
StoreSwitch.deleteRecord(_tableId, _keyTuple);
}
@@ -157,9 +167,10 @@ library Counters {
/**
* @notice Delete all data for given keys.
*/
- function _deleteRecord(address contractAddress) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
+ function _deleteRecord(address contractAddress, uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
_keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
}
@@ -190,9 +201,10 @@ library Counters {
/**
* @notice Encode keys as a bytes32 array using this table's field layout.
*/
- function encodeKeyTuple(address contractAddress) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
+ function encodeKeyTuple(address contractAddress, uint256 mobId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
_keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
return _keyTuple;
}
diff --git a/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol b/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
index c9102d102..ddeea86fd 100644
--- a/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
+++ b/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
@@ -23,8 +23,8 @@ library EntitiesAtPosition {
FieldLayout constant _fieldLayout =
FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
- // Hex-encoded key schema of (bytes32, int32, int32)
- Schema constant _keySchema = Schema.wrap(0x002803005f232300000000000000000000000000000000000000000000000000);
+ // Hex-encoded key schema of (uint16, uint16)
+ Schema constant _keySchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
// Hex-encoded value schema of (bytes32[])
Schema constant _valueSchema = Schema.wrap(0x00000001c1000000000000000000000000000000000000000000000000000000);
@@ -33,10 +33,9 @@ library EntitiesAtPosition {
* @return keyNames An array of strings with the names of key fields.
*/
function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](3);
- keyNames[0] = "matchEntity";
- keyNames[1] = "x";
- keyNames[2] = "y";
+ keyNames = new string[](2);
+ keyNames[0] = "x";
+ keyNames[1] = "y";
}
/**
@@ -65,11 +64,10 @@ library EntitiesAtPosition {
/**
* @notice Get entities.
*/
- function getEntities(bytes32 matchEntity, int32 x, int32 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function getEntities(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
@@ -78,11 +76,10 @@ library EntitiesAtPosition {
/**
* @notice Get entities.
*/
- function _getEntities(bytes32 matchEntity, int32 x, int32 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _getEntities(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
@@ -91,11 +88,10 @@ library EntitiesAtPosition {
/**
* @notice Get entities.
*/
- function get(bytes32 matchEntity, int32 x, int32 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function get(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
@@ -104,11 +100,10 @@ library EntitiesAtPosition {
/**
* @notice Get entities.
*/
- function _get(bytes32 matchEntity, int32 x, int32 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _get(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
@@ -117,11 +112,10 @@ library EntitiesAtPosition {
/**
* @notice Set entities.
*/
- function setEntities(bytes32 matchEntity, int32 x, int32 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function setEntities(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
}
@@ -129,11 +123,10 @@ library EntitiesAtPosition {
/**
* @notice Set entities.
*/
- function _setEntities(bytes32 matchEntity, int32 x, int32 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _setEntities(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
}
@@ -141,11 +134,10 @@ library EntitiesAtPosition {
/**
* @notice Set entities.
*/
- function set(bytes32 matchEntity, int32 x, int32 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function set(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
}
@@ -153,11 +145,10 @@ library EntitiesAtPosition {
/**
* @notice Set entities.
*/
- function _set(bytes32 matchEntity, int32 x, int32 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _set(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
}
@@ -165,11 +156,10 @@ library EntitiesAtPosition {
/**
* @notice Get the length of entities.
*/
- function lengthEntities(bytes32 matchEntity, int32 x, int32 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function lengthEntities(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
unchecked {
@@ -180,11 +170,10 @@ library EntitiesAtPosition {
/**
* @notice Get the length of entities.
*/
- function _lengthEntities(bytes32 matchEntity, int32 x, int32 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _lengthEntities(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
unchecked {
@@ -195,11 +184,10 @@ library EntitiesAtPosition {
/**
* @notice Get the length of entities.
*/
- function length(bytes32 matchEntity, int32 x, int32 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function length(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
unchecked {
@@ -210,11 +198,10 @@ library EntitiesAtPosition {
/**
* @notice Get the length of entities.
*/
- function _length(bytes32 matchEntity, int32 x, int32 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _length(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
unchecked {
@@ -226,11 +213,10 @@ library EntitiesAtPosition {
* @notice Get an item of entities.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function getItemEntities(bytes32 matchEntity, int32 x, int32 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function getItemEntities(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
unchecked {
bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
@@ -242,11 +228,10 @@ library EntitiesAtPosition {
* @notice Get an item of entities.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function _getItemEntities(bytes32 matchEntity, int32 x, int32 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _getItemEntities(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
unchecked {
bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
@@ -258,11 +243,10 @@ library EntitiesAtPosition {
* @notice Get an item of entities.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function getItem(bytes32 matchEntity, int32 x, int32 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function getItem(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
unchecked {
bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
@@ -274,11 +258,10 @@ library EntitiesAtPosition {
* @notice Get an item of entities.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function _getItem(bytes32 matchEntity, int32 x, int32 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _getItem(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
unchecked {
bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
@@ -289,11 +272,10 @@ library EntitiesAtPosition {
/**
* @notice Push an element to entities.
*/
- function pushEntities(bytes32 matchEntity, int32 x, int32 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function pushEntities(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
}
@@ -301,11 +283,10 @@ library EntitiesAtPosition {
/**
* @notice Push an element to entities.
*/
- function _pushEntities(bytes32 matchEntity, int32 x, int32 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _pushEntities(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
}
@@ -313,11 +294,10 @@ library EntitiesAtPosition {
/**
* @notice Push an element to entities.
*/
- function push(bytes32 matchEntity, int32 x, int32 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function push(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
}
@@ -325,11 +305,10 @@ library EntitiesAtPosition {
/**
* @notice Push an element to entities.
*/
- function _push(bytes32 matchEntity, int32 x, int32 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _push(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
}
@@ -337,11 +316,10 @@ library EntitiesAtPosition {
/**
* @notice Pop an element from entities.
*/
- function popEntities(bytes32 matchEntity, int32 x, int32 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function popEntities(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
}
@@ -349,11 +327,10 @@ library EntitiesAtPosition {
/**
* @notice Pop an element from entities.
*/
- function _popEntities(bytes32 matchEntity, int32 x, int32 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _popEntities(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
}
@@ -361,11 +338,10 @@ library EntitiesAtPosition {
/**
* @notice Pop an element from entities.
*/
- function pop(bytes32 matchEntity, int32 x, int32 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function pop(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
}
@@ -373,11 +349,10 @@ library EntitiesAtPosition {
/**
* @notice Pop an element from entities.
*/
- function _pop(bytes32 matchEntity, int32 x, int32 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _pop(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
}
@@ -385,11 +360,10 @@ library EntitiesAtPosition {
/**
* @notice Update an element of entities at `_index`.
*/
- function updateEntities(bytes32 matchEntity, int32 x, int32 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function updateEntities(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
unchecked {
bytes memory _encoded = abi.encodePacked((_element));
@@ -400,11 +374,10 @@ library EntitiesAtPosition {
/**
* @notice Update an element of entities at `_index`.
*/
- function _updateEntities(bytes32 matchEntity, int32 x, int32 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _updateEntities(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
unchecked {
bytes memory _encoded = abi.encodePacked((_element));
@@ -415,11 +388,10 @@ library EntitiesAtPosition {
/**
* @notice Update an element of entities at `_index`.
*/
- function update(bytes32 matchEntity, int32 x, int32 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function update(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
unchecked {
bytes memory _encoded = abi.encodePacked((_element));
@@ -430,11 +402,10 @@ library EntitiesAtPosition {
/**
* @notice Update an element of entities at `_index`.
*/
- function _update(bytes32 matchEntity, int32 x, int32 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _update(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
unchecked {
bytes memory _encoded = abi.encodePacked((_element));
@@ -445,11 +416,10 @@ library EntitiesAtPosition {
/**
* @notice Delete all data for given keys.
*/
- function deleteRecord(bytes32 matchEntity, int32 x, int32 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function deleteRecord(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreSwitch.deleteRecord(_tableId, _keyTuple);
}
@@ -457,11 +427,10 @@ library EntitiesAtPosition {
/**
* @notice Delete all data for given keys.
*/
- function _deleteRecord(bytes32 matchEntity, int32 x, int32 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function _deleteRecord(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
}
@@ -502,11 +471,10 @@ library EntitiesAtPosition {
/**
* @notice Encode keys as a bytes32 array using this table's field layout.
*/
- function encodeKeyTuple(bytes32 matchEntity, int32 x, int32 y) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](3);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = bytes32(uint256(int256(x)));
- _keyTuple[2] = bytes32(uint256(int256(y)));
+ function encodeKeyTuple(uint16 x, uint16 y) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
return _keyTuple;
}
diff --git a/packages/contracts/src/codegen/tables/Position.sol b/packages/contracts/src/codegen/tables/Position.sol
index 23bf468db..49f53871f 100644
--- a/packages/contracts/src/codegen/tables/Position.sol
+++ b/packages/contracts/src/codegen/tables/Position.sol
@@ -17,8 +17,8 @@ import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/Encoded
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
struct PositionData {
- int32 x;
- int32 y;
+ uint16 x;
+ uint16 y;
}
library Position {
@@ -26,21 +26,20 @@ library Position {
ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000506f736974696f6e0000000000000000);
FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0008020004040000000000000000000000000000000000000000000000000000);
+ FieldLayout.wrap(0x0004020002020000000000000000000000000000000000000000000000000000);
- // Hex-encoded key schema of (bytes32, bytes32)
- Schema constant _keySchema = Schema.wrap(0x004002005f5f0000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (int32, int32)
- Schema constant _valueSchema = Schema.wrap(0x0008020023230000000000000000000000000000000000000000000000000000);
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint16, uint16)
+ Schema constant _valueSchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
/**
* @notice Get the table's key field names.
* @return keyNames An array of strings with the names of key fields.
*/
function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](2);
- keyNames[0] = "matchEntity";
- keyNames[1] = "entity";
+ keyNames = new string[](1);
+ keyNames[0] = "entity";
}
/**
@@ -70,34 +69,31 @@ library Position {
/**
* @notice Get x.
*/
- function getX(bytes32 matchEntity, bytes32 entity) internal view returns (int32 x) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function getX(bytes32 entity) internal view returns (uint16 x) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (int32(uint32(bytes4(_blob))));
+ return (uint16(bytes2(_blob)));
}
/**
* @notice Get x.
*/
- function _getX(bytes32 matchEntity, bytes32 entity) internal view returns (int32 x) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function _getX(bytes32 entity) internal view returns (uint16 x) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (int32(uint32(bytes4(_blob))));
+ return (uint16(bytes2(_blob)));
}
/**
* @notice Set x.
*/
- function setX(bytes32 matchEntity, bytes32 entity, int32 x) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function setX(bytes32 entity, uint16 x) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
}
@@ -105,10 +101,9 @@ library Position {
/**
* @notice Set x.
*/
- function _setX(bytes32 matchEntity, bytes32 entity, int32 x) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function _setX(bytes32 entity, uint16 x) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
}
@@ -116,34 +111,31 @@ library Position {
/**
* @notice Get y.
*/
- function getY(bytes32 matchEntity, bytes32 entity) internal view returns (int32 y) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function getY(bytes32 entity) internal view returns (uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (int32(uint32(bytes4(_blob))));
+ return (uint16(bytes2(_blob)));
}
/**
* @notice Get y.
*/
- function _getY(bytes32 matchEntity, bytes32 entity) internal view returns (int32 y) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function _getY(bytes32 entity) internal view returns (uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (int32(uint32(bytes4(_blob))));
+ return (uint16(bytes2(_blob)));
}
/**
* @notice Set y.
*/
- function setY(bytes32 matchEntity, bytes32 entity, int32 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function setY(bytes32 entity, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
}
@@ -151,10 +143,9 @@ library Position {
/**
* @notice Set y.
*/
- function _setY(bytes32 matchEntity, bytes32 entity, int32 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function _setY(bytes32 entity, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
}
@@ -162,10 +153,9 @@ library Position {
/**
* @notice Get the full data.
*/
- function get(bytes32 matchEntity, bytes32 entity) internal view returns (PositionData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function get(bytes32 entity) internal view returns (PositionData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
_tableId,
@@ -178,10 +168,9 @@ library Position {
/**
* @notice Get the full data.
*/
- function _get(bytes32 matchEntity, bytes32 entity) internal view returns (PositionData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function _get(bytes32 entity) internal view returns (PositionData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
_tableId,
@@ -194,15 +183,14 @@ library Position {
/**
* @notice Set the full data using individual values.
*/
- function set(bytes32 matchEntity, bytes32 entity, int32 x, int32 y) internal {
+ function set(bytes32 entity, uint16 x, uint16 y) internal {
bytes memory _staticData = encodeStatic(x, y);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
}
@@ -210,15 +198,14 @@ library Position {
/**
* @notice Set the full data using individual values.
*/
- function _set(bytes32 matchEntity, bytes32 entity, int32 x, int32 y) internal {
+ function _set(bytes32 entity, uint16 x, uint16 y) internal {
bytes memory _staticData = encodeStatic(x, y);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
}
@@ -226,15 +213,14 @@ library Position {
/**
* @notice Set the full data using the data struct.
*/
- function set(bytes32 matchEntity, bytes32 entity, PositionData memory _table) internal {
+ function set(bytes32 entity, PositionData memory _table) internal {
bytes memory _staticData = encodeStatic(_table.x, _table.y);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
}
@@ -242,15 +228,14 @@ library Position {
/**
* @notice Set the full data using the data struct.
*/
- function _set(bytes32 matchEntity, bytes32 entity, PositionData memory _table) internal {
+ function _set(bytes32 entity, PositionData memory _table) internal {
bytes memory _staticData = encodeStatic(_table.x, _table.y);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
}
@@ -258,10 +243,10 @@ library Position {
/**
* @notice Decode the tightly packed blob of static data using this table's field layout.
*/
- function decodeStatic(bytes memory _blob) internal pure returns (int32 x, int32 y) {
- x = (int32(uint32(Bytes.getBytes4(_blob, 0))));
+ function decodeStatic(bytes memory _blob) internal pure returns (uint16 x, uint16 y) {
+ x = (uint16(Bytes.getBytes2(_blob, 0)));
- y = (int32(uint32(Bytes.getBytes4(_blob, 4))));
+ y = (uint16(Bytes.getBytes2(_blob, 2)));
}
/**
@@ -281,10 +266,9 @@ library Position {
/**
* @notice Delete all data for given keys.
*/
- function deleteRecord(bytes32 matchEntity, bytes32 entity) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function deleteRecord(bytes32 entity) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
StoreSwitch.deleteRecord(_tableId, _keyTuple);
}
@@ -292,10 +276,9 @@ library Position {
/**
* @notice Delete all data for given keys.
*/
- function _deleteRecord(bytes32 matchEntity, bytes32 entity) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function _deleteRecord(bytes32 entity) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
}
@@ -304,7 +287,7 @@ library Position {
* @notice Tightly pack static (fixed length) data using this table's schema.
* @return The static data, encoded into a sequence of bytes.
*/
- function encodeStatic(int32 x, int32 y) internal pure returns (bytes memory) {
+ function encodeStatic(uint16 x, uint16 y) internal pure returns (bytes memory) {
return abi.encodePacked(x, y);
}
@@ -314,7 +297,7 @@ library Position {
* @return The lengths of the dynamic fields (packed into a single bytes32 value).
* @return The dynamic (variable length) data, encoded into a sequence of bytes.
*/
- function encode(int32 x, int32 y) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ function encode(uint16 x, uint16 y) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
bytes memory _staticData = encodeStatic(x, y);
EncodedLengths _encodedLengths;
@@ -326,10 +309,9 @@ library Position {
/**
* @notice Encode keys as a bytes32 array using this table's field layout.
*/
- function encodeKeyTuple(bytes32 matchEntity, bytes32 entity) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = matchEntity;
- _keyTuple[1] = entity;
+ function encodeKeyTuple(bytes32 entity) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
return _keyTuple;
}
diff --git a/packages/contracts/src/codegen/world/IMobSystem.sol b/packages/contracts/src/codegen/world/IMobSystem.sol
index 22e6d6c46..8b74a73af 100644
--- a/packages/contracts/src/codegen/world/IMobSystem.sol
+++ b/packages/contracts/src/codegen/world/IMobSystem.sol
@@ -4,6 +4,7 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
import { MobType } from "@codegen/common.sol";
+import { PositionData } from "@codegen/index.sol";
import { NPCStats, MonsterStats } from "@interfaces/Structs.sol";
import { MobsData } from "@tables/Mobs.sol";
@@ -21,6 +22,14 @@ interface IMobSystem {
function UD__createMobs(MobType[] memory mobTypes, bytes[] memory stats, string[] memory mobMetadataURIs) external;
+ function UD__spawnMob(uint256 mobId, PositionData memory positionData) external returns (bytes32 entityId);
+
+ function UD__getMobId(bytes32 entityId) external view returns (uint256);
+
+ function UD__getMobPosition(bytes32 entityId) external view returns (uint16 x, uint16 y);
+
+ function UD__getSpawnCounter(bytes32 entityId) external view returns (uint256);
+
function UD__getNpcStats(uint256 mobId) external view returns (NPCStats memory);
function UD__getMonsterStats(uint256 mobId) external view returns (MonsterStats memory);
diff --git a/packages/contracts/src/systems/CharacterSystem.sol b/packages/contracts/src/systems/CharacterSystem.sol
index cefc20a53..e1f4a99ac 100644
--- a/packages/contracts/src/systems/CharacterSystem.sol
+++ b/packages/contracts/src/systems/CharacterSystem.sol
@@ -85,7 +85,7 @@ contract CharacterSystem is System {
}
function rollStats(bytes32 userRandomNumber, bytes32 characterId, Classes class) public payable {
- require(!Characters.getLocked(characterId), "you have already accepted this character");
+ require(!Characters.getLocked(characterId), "CHARACTERS: character already in game world");
require(_isOwner(characterId), "Not your Character.");
RngRequestType requestType = RngRequestType.CharacterStats;
Characters.setClass(characterId, class);
@@ -126,8 +126,8 @@ contract CharacterSystem is System {
function _incrementCharacterCounter() internal returns (uint256) {
address characterContract = UltimateDominionConfig.getCharacterToken();
- uint256 characterCounter = Counters.getCounter(address(characterContract)) + 1;
- Counters.setCounter(characterContract, (characterCounter));
+ uint256 characterCounter = Counters.getCounter(address(characterContract), 0) + 1;
+ Counters.setCounter(characterContract, 0, (characterCounter));
return characterCounter;
}
diff --git a/packages/contracts/src/systems/ItemsSystem.sol b/packages/contracts/src/systems/ItemsSystem.sol
index 43e6f36c9..4892c1c09 100644
--- a/packages/contracts/src/systems/ItemsSystem.sol
+++ b/packages/contracts/src/systems/ItemsSystem.sol
@@ -231,8 +231,8 @@ contract ItemsSystem is System {
function _incrementItemsCounter() internal returns (uint256) {
address itemsContract = UltimateDominionConfig.getItems();
- uint256 itemsCounter = Counters.getCounter(address(itemsContract)) + 1;
- Counters.setCounter(itemsContract, (itemsCounter));
+ uint256 itemsCounter = Counters.getCounter(address(itemsContract), 0) + 1;
+ Counters.setCounter(itemsContract, 0, (itemsCounter));
return itemsCounter;
}
diff --git a/packages/contracts/src/systems/MobSystem.sol b/packages/contracts/src/systems/MobSystem.sol
index a9af00fbf..751c66cb4 100644
--- a/packages/contracts/src/systems/MobSystem.sol
+++ b/packages/contracts/src/systems/MobSystem.sol
@@ -2,7 +2,7 @@
pragma solidity >=0.8.24;
import {System} from "@latticexyz/world/src/System.sol";
-import {RandomNumbers} from "@codegen/index.sol";
+import {RandomNumbers, Position, PositionData, EntitiesAtPosition} from "@codegen/index.sol";
import {RngRequestType, MobType, Alignment} from "@codegen/common.sol";
import {Counters} from "@tables/Counters.sol";
import {Mobs, MobsData} from "@tables/Mobs.sol";
@@ -11,11 +11,17 @@ import {_requireOwner} from "../utils.sol";
import {UltimateDominionConfig} from "@codegen/index.sol";
contract MobSystem is System {
- //
+ /**
+ * @dev this creates a mob template that can be spawned into the world at any tile location
+ * @param mobType the type of mob this is Monster or NPC for now
+ * @param mobStats the encoded bytes struct of the stats of this particular mob encode MonsterStats for a monster and NPCStats for an npc
+ * @param mobMetadataUri the uri for an associated metadata for the mob
+ * @return mobId, the identifier for this mob template
+ */
function createMob(MobType mobType, bytes memory mobStats, string memory mobMetadataUri) public returns (uint256) {
_requireOwner(address(this), _msgSender());
uint256 mobId = _incrementMobId();
-
+ require(mobId < type(uint32).max, "MOB SYSTEM: Max Monster types reached");
Mobs.set(mobId, mobType, mobStats, mobMetadataUri);
return mobId;
@@ -23,24 +29,44 @@ contract MobSystem is System {
function createMobs(MobType[] memory mobTypes, bytes[] memory stats, string[] memory mobMetadataURIs) public {
uint256 len = mobTypes.length;
- require(mobMetadataURIs.length == len && stats.length == len, "MobS: Array length mismatch");
+ require(mobMetadataURIs.length == len && stats.length == len, "MOB SYSTEM: Array length mismatch");
for (uint256 i; i < len; i++) {
createMob(mobTypes[i], stats[i], mobMetadataURIs[i]);
}
}
- // function spawnMob(uint256 mobId)
+ function spawnMob(uint256 mobId, PositionData memory positionData) public returns (bytes32 entityId) {
+ require(Counters.getCounter(address(this), 0) >= mobId, "MOB SYSTEM: Mob does not exist");
+ entityId = bytes32(
+ abi.encodePacked(uint32(mobId), uint192(_incrementMobCounter(mobId)), positionData.x, positionData.y)
+ );
+ Position.set(entityId, positionData);
+ EntitiesAtPosition.pushEntities(positionData.x, positionData.y, entityId);
+ }
+
+ function getMobId(bytes32 entityId) public view returns (uint256) {
+ return uint256(uint256(entityId) >> 224);
+ }
+
+ function getMobPosition(bytes32 entityId) public view returns (uint16 x, uint16 y) {
+ y = uint16(uint256(entityId));
+ x = uint16(uint256(entityId) >> 16);
+ }
+
+ function getSpawnCounter(bytes32 entityId) public view returns (uint256) {
+ return uint256(uint192(uint256(entityId) >> 32));
+ }
function getNpcStats(uint256 mobId) public view returns (NPCStats memory) {
MobsData memory mobData = Mobs.get(mobId);
- require(mobData.mobType == MobType.NPC, "MobSystem: Wrong Mob Type");
+ require(mobData.mobType == MobType.NPC, "MOB SYSTEM: Wrong Mob Type");
NPCStats memory npcStats = abi.decode(mobData.mobStats, (NPCStats));
return npcStats;
}
function getMonsterStats(uint256 mobId) public view returns (MonsterStats memory) {
MobsData memory mobData = Mobs.get(mobId);
- require(mobData.mobType == MobType.Monster, "MobSystem: Wrong Mob Type");
+ require(mobData.mobType == MobType.Monster, "MOB SYSTEM: Wrong Mob Type");
MonsterStats memory monsterStats = abi.decode(mobData.mobStats, (MonsterStats));
return monsterStats;
@@ -51,8 +77,15 @@ contract MobSystem is System {
}
function _incrementMobId() internal returns (uint256) {
- uint256 mobId = Counters.getCounter(address(this)) + 1;
- Counters.setCounter(address(this), (mobId));
+ uint256 mobId = Counters.getCounter(address(this), 0) + 1;
+ Counters.setCounter(address(this), 0, (mobId));
return mobId;
}
+
+ function _incrementMobCounter(uint256 mobId) internal returns (uint256) {
+ uint256 mobCounter = Counters.getCounter(address(this), mobId) + 1;
+ require(mobCounter < type(uint192).max, "MOB SYSTEM: Cannot spawn this monster any more");
+ Counters.setCounter(address(this), mobId, mobCounter);
+ return mobCounter;
+ }
}
diff --git a/packages/contracts/test/MobSystem.t.sol b/packages/contracts/test/MobSystem.t.sol
index 6a6bc62d4..64a80b063 100644
--- a/packages/contracts/test/MobSystem.t.sol
+++ b/packages/contracts/test/MobSystem.t.sol
@@ -4,7 +4,7 @@ import {SetUp} from "./SetUp.sol";
import {Classes, ItemType, MobType} from "@codegen/common.sol";
import {CharacterStatsData} from "@tables/CharacterStats.sol";
import {PuppetModule} from "@latticexyz/world-modules/src/modules/puppet/PuppetModule.sol";
-import {UltimateDominionConfig} from "@codegen/index.sol";
+import {UltimateDominionConfig, PositionData} from "@codegen/index.sol";
import {UltimateDominionConfigSystem} from "@systems/UltimateDominionConfigSystem.sol";
import {ERC1155Module} from "@erc1155/ERC1155Module.sol";
import {ERC1155System} from "@erc1155/ERC1155System.sol";
@@ -63,9 +63,37 @@ contract Test_MobSystem is SetUp, GasReporter {
uint256 newMobId = world.UD__createMob(MobType.Monster, abi.encode(newMonster), "test_monster_uri");
MobsData memory newMob = world.UD__getMob(newMobId);
- assertEq(newMobId, 1);
+ assertEq(newMobId, 2);
assertEq(uint8(newMob.mobType), uint8(MobType.Monster));
assertEq(newMob.mobStats, abi.encode(newMonster));
assertEq(newMob.mobMetadata, "test_monster_uri");
}
+
+ function test_getEntityId() public {
+ PositionData memory posDat = PositionData({x: 1, y: 2});
+ bytes32 entityId = bytes32(abi.encodePacked(uint32(starterMobId), uint192(1), posDat.x, posDat.y));
+
+ assertEq(world.UD__spawnMob(1, posDat), entityId);
+ }
+
+ function test_getMobId() public {
+ PositionData memory posDat = PositionData({x: 1, y: 2});
+ bytes32 entityId = world.UD__spawnMob(starterMobId, posDat);
+
+ assertEq(world.UD__getMobId(entityId), starterMobId);
+ }
+
+ function test_getMobPosition() public {
+ PositionData memory posDat = PositionData({x: 1, y: 2});
+ bytes32 entityId = world.UD__spawnMob(starterMobId, posDat);
+ (uint16 x, uint16 y) = world.UD__getMobPosition(entityId);
+ assertEq(x, 1);
+ assertEq(y, 2);
+ }
+
+ function test_getSpawnCounter() public {
+ PositionData memory posDat = PositionData({x: 1, y: 2});
+ bytes32 entityId = world.UD__spawnMob(starterMobId, posDat);
+ assertEq(world.UD__getSpawnCounter(entityId), 1);
+ }
}
diff --git a/packages/contracts/test/SetUp.sol b/packages/contracts/test/SetUp.sol
index 92b86e0b8..db2d29072 100644
--- a/packages/contracts/test/SetUp.sol
+++ b/packages/contracts/test/SetUp.sol
@@ -13,7 +13,8 @@ import {IERC1155System} from "@erc1155/IERC1155System.sol";
import {IERC20Mintable} from "@latticexyz/world-modules/src/modules/erc20-puppet/IERC20Mintable.sol";
import {IERC721Mintable} from "@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol";
import {Characters, CharactersData, UltimateDominionConfig} from "@codegen/index.sol";
-import {Classes} from "@codegen/common.sol";
+import {Classes, MobType} from "@codegen/common.sol";
+import {WeaponStats, MonsterStats} from "@interfaces/Structs.sol";
import {ResourceId, WorldResourceIdLib, WorldResourceIdInstance} from "@latticexyz/world/src/WorldResourceId.sol";
import {RESOURCE_NAMESPACE} from "@latticexyz/world/src/worldResourceTypes.sol";
import {System} from "@latticexyz/world/src/System.sol";
@@ -28,6 +29,7 @@ contract SetUp is Test {
IWorld public world;
address public worldAddress;
IEntropy public entropy;
+ uint256 starterMobId;
IERC20Mintable public goldToken;
IERC721Mintable public characterToken;
@@ -51,15 +53,33 @@ contract SetUp is Test {
goldToken = IERC20Mintable(world.UD__getGoldToken());
characterToken = IERC721Mintable(world.UD__getCharacterToken());
erc1155System = IERC1155System(world.UD__getItemsContract());
+
+ uint256[] memory _inventory = new uint256[](1);
+ _inventory[0] = 1;
+
+ MonsterStats memory newMonster = MonsterStats({
+ hp: 10000,
+ armor: 10000,
+ level: 1,
+ experience: 10000,
+ baseDamage: 10000,
+ class: Classes.Warrior,
+ inventory: _inventory
+ });
+ starterMobId = world.UD__createMob(MobType.Monster, abi.encode(newMonster), "test_monster_uri");
+
vm.stopPrank();
+
vm.prank(alice);
alicesCharacterId = world.UD__mintCharacter(alice, bytes32("Steve"), "setup_char_uri");
+
vm.startPrank(bob);
bobCharacterId = world.UD__mintCharacter(bob, bytes32("bob"), "setup_char_uri_bob/");
uint256 fees = entropy.getFee(address(1));
world.UD__rollStats{value: fees}(alicesRandomness, bobCharacterId, Classes.Rogue);
world.UD__enterGame(bobCharacterId);
vm.stopPrank();
+
vm.label(alice, "alice");
vm.label(bob, "bob");
vm.label(worldAddress, "world");
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index 1954f70c2..a28b72d6d 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0x6d3df5008bc406b6e13b215a97a1955549fe7b7b"
+ "address": "0x6c18b6a1e96069b82dd3f6897f67feefec7f91de"
},
"84532": {
"address": "0xeafba96222596ac92cd335b0adfc1c2f50357571",
From fadfaf5712255838632ec83b9c01c8c0dd2e72b2 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Wed, 26 Jun 2024 21:06:47 -0500
Subject: [PATCH 04/14] can now look up mob stats with the entityId
---
packages/contracts/src/systems/MobSystem.sol | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/packages/contracts/src/systems/MobSystem.sol b/packages/contracts/src/systems/MobSystem.sol
index 751c66cb4..d09d43f0c 100644
--- a/packages/contracts/src/systems/MobSystem.sol
+++ b/packages/contracts/src/systems/MobSystem.sol
@@ -64,6 +64,14 @@ contract MobSystem is System {
return npcStats;
}
+ function getNpcStats(bytes32 entityId) public view returns (NPCStats memory) {
+ uint256 mobId = getMobId(entityId);
+ MobsData memory mobData = Mobs.get(mobId);
+ require(mobData.mobType == MobType.NPC, "MOB SYSTEM: Wrong Mob Type");
+ NPCStats memory npcStats = abi.decode(mobData.mobStats, (NPCStats));
+ return npcStats;
+ }
+
function getMonsterStats(uint256 mobId) public view returns (MonsterStats memory) {
MobsData memory mobData = Mobs.get(mobId);
require(mobData.mobType == MobType.Monster, "MOB SYSTEM: Wrong Mob Type");
@@ -72,6 +80,15 @@ contract MobSystem is System {
return monsterStats;
}
+ function getMonsterStats(bytes32 entityId) public view returns (MonsterStats memory) {
+ uint256 mobId = getMobId(entityId);
+ MobsData memory mobData = Mobs.get(mobId);
+ require(mobData.mobType == MobType.Monster, "MOB SYSTEM: Wrong Mob Type");
+
+ MonsterStats memory monsterStats = abi.decode(mobData.mobStats, (MonsterStats));
+ return monsterStats;
+ }
+
function getMob(uint256 mobId) public view returns (MobsData memory) {
return Mobs.get(mobId);
}
From 6885be35f6e34a56d1bc5c76b1196a712caef05e Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Wed, 26 Jun 2024 21:30:00 -0500
Subject: [PATCH 05/14] final tweaks to id system
---
packages/contracts/mud.config.ts | 1 +
.../contracts/out/IWorld.sol/IWorld.abi.json | 116 ++++++++++++++++++
.../out/IWorld.sol/IWorld.abi.json.d.ts | 116 ++++++++++++++++++
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
.../src/codegen/tables/CharacterStats.sol | 86 ++++++++++---
.../src/codegen/world/ICharacterSystem.sol | 2 +
.../src/codegen/world/IMobSystem.sol | 4 +
.../contracts/src/systems/CharacterSystem.sol | 15 ++-
packages/contracts/test/CharacterSystem.t.sol | 7 +-
packages/contracts/worlds.json | 2 +-
10 files changed, 327 insertions(+), 24 deletions(-)
diff --git a/packages/contracts/mud.config.ts b/packages/contracts/mud.config.ts
index b06db9f9b..82df6aa96 100644
--- a/packages/contracts/mud.config.ts
+++ b/packages/contracts/mud.config.ts
@@ -45,6 +45,7 @@ export default defineWorld({
hitPoints: "uint256",
damageTaken: "int256",
experience: "uint256",
+ level: "uint256",
},
},
MobStats: {
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index cd5c5d693..423111bd5 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -242,6 +242,11 @@
"name": "experience",
"type": "uint256",
"internalType": "uint256"
+ },
+ {
+ "name": "level",
+ "type": "uint256",
+ "internalType": "uint256"
}
]
}
@@ -530,6 +535,62 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getMonsterStats",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct MonsterStats",
+ "components": [
+ {
+ "name": "hp",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "armor",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "level",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "baseDamage",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "class",
+ "type": "uint8",
+ "internalType": "enum Classes"
+ },
+ {
+ "name": "inventory",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
+ {
+ "name": "experience",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getName",
@@ -585,6 +646,42 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getNpcStats",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct NPCStats",
+ "components": [
+ {
+ "name": "name",
+ "type": "string",
+ "internalType": "string"
+ },
+ {
+ "name": "storyPathIds",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
+ {
+ "name": "alignment",
+ "type": "uint8",
+ "internalType": "enum Alignment"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getOwner",
@@ -604,6 +701,25 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getOwnerAddress",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getPlayerEntityId",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index 2d2b8f3aa..9989d66ac 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -242,6 +242,11 @@ declare const abi: [
"name": "experience",
"type": "uint256",
"internalType": "uint256"
+ },
+ {
+ "name": "level",
+ "type": "uint256",
+ "internalType": "uint256"
}
]
}
@@ -530,6 +535,62 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getMonsterStats",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct MonsterStats",
+ "components": [
+ {
+ "name": "hp",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "armor",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "level",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "baseDamage",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "class",
+ "type": "uint8",
+ "internalType": "enum Classes"
+ },
+ {
+ "name": "inventory",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
+ {
+ "name": "experience",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getName",
@@ -585,6 +646,42 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getNpcStats",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct NPCStats",
+ "components": [
+ {
+ "name": "name",
+ "type": "string",
+ "internalType": "string"
+ },
+ {
+ "name": "storyPathIds",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
+ {
+ "name": "alignment",
+ "type": "uint8",
+ "internalType": "enum Alignment"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getOwner",
@@ -604,6 +701,25 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getOwnerAddress",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getPlayerEntityId",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index 5cb8b4bab..78b5ee69b 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getCharacterStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CharacterStatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"damageTaken","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"damage","type":"uint256","internalType":"uint256"},{"name":"speed","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"positionData","type":"tuple","internalType":"struct PositionData","components":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}]}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__getCharacterStats(bytes32)":"8538665d","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawnMob(uint256,(uint16,uint16))":"f25eb329","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"speed\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"internalType\":\"struct PositionData\",\"name\":\"positionData\",\"type\":\"tuple\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389\",\"dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec\",\"dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0x2bc09d6f9c6354fac9454e3082dfb9cf2f493fb6d6742ef55a7099600bd33161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8851d022d93d16df1f6c0a7ec8f3c8b67b813b9f6b1a77cda19b62b555c5c9a1\",\"dweb:/ipfs/QmaUAo51a5w8DHiM6zBPnR87ZXMnTtixEC51oAcxLhxj8s\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0x91fe8aa5e00ef0a2c1d7931a8b26cd45ed850a7785e219185371fb798a8265a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b31f0875d9c24db49630fe7536ece79f290e46403a79f976e844819ae3c5ea93\",\"dweb:/ipfs/QmcduYw5D96wo6PRWUbZ3bP6jES7NYD9PXGKsM9XuVdXfy\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x63825ac5c6a38e9f42ef6225da480497e8dfe4fb6b6e4d19eb054453f9292ab5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b552d145b3c135947ded635c18791a03dc279583ea10c88659afa061a22d6cd2\",\"dweb:/ipfs/QmStGcntq7BhxnwSduxVCCme2aE5HRPvPZteGg1vLodssh\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede\",\"dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db\",\"dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x6b356ca44e4353951002aaf15605bf02f5886bdbcda435e4278d9ba55f9e4465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aee3748663951a1ae63fe4ab562b907e21b3177bba50cec215c1caf91bfe56a6\",\"dweb:/ipfs/QmNZ8B5yn3wCwSJXP3kjeoGD4e4dMQGJtQPMJNpy57TedR\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018\",\"dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterStats","outputs":[{"internalType":"struct CharacterStatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"int256","name":"damageTaken","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"damage","type":"uint256"},{"internalType":"uint256","name":"speed","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"struct PositionData","name":"positionData","type":"tuple","components":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359","urls":["bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389","dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6","urls":["bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec","dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0x2bc09d6f9c6354fac9454e3082dfb9cf2f493fb6d6742ef55a7099600bd33161","urls":["bzz-raw://8851d022d93d16df1f6c0a7ec8f3c8b67b813b9f6b1a77cda19b62b555c5c9a1","dweb:/ipfs/QmaUAo51a5w8DHiM6zBPnR87ZXMnTtixEC51oAcxLhxj8s"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0x91fe8aa5e00ef0a2c1d7931a8b26cd45ed850a7785e219185371fb798a8265a7","urls":["bzz-raw://b31f0875d9c24db49630fe7536ece79f290e46403a79f976e844819ae3c5ea93","dweb:/ipfs/QmcduYw5D96wo6PRWUbZ3bP6jES7NYD9PXGKsM9XuVdXfy"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x63825ac5c6a38e9f42ef6225da480497e8dfe4fb6b6e4d19eb054453f9292ab5","urls":["bzz-raw://b552d145b3c135947ded635c18791a03dc279583ea10c88659afa061a22d6cd2","dweb:/ipfs/QmStGcntq7BhxnwSduxVCCme2aE5HRPvPZteGg1vLodssh"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69","urls":["bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede","dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce","urls":["bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db","dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x6b356ca44e4353951002aaf15605bf02f5886bdbcda435e4278d9ba55f9e4465","urls":["bzz-raw://aee3748663951a1ae63fe4ab562b907e21b3177bba50cec215c1caf91bfe56a6","dweb:/ipfs/QmNZ8B5yn3wCwSJXP3kjeoGD4e4dMQGJtQPMJNpy57TedR"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d","urls":["bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018","dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e","urls":["bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8","dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"],"license":"MIT"}},"version":1},"id":198}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getCharacterStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CharacterStatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"damageTaken","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"damage","type":"uint256","internalType":"uint256"},{"name":"speed","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"positionData","type":"tuple","internalType":"struct PositionData","components":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}]}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__getCharacterStats(bytes32)":"8538665d","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawnMob(uint256,(uint16,uint16))":"f25eb329","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"speed\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"internalType\":\"struct PositionData\",\"name\":\"positionData\",\"type\":\"tuple\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389\",\"dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec\",\"dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0xa7a8b8fc9b9f3336fdfa893d01c5bac78288712642783cdb928e8f19576cc531\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76a77b1b94b6d61954d5fc5178e6c127dcede9b08191d0f8003c430db7209a20\",\"dweb:/ipfs/QmUjPoQWysgfnKFra6jkGsG4nck3SVmgrJ4vLjGqzJfH3r\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0x91fe8aa5e00ef0a2c1d7931a8b26cd45ed850a7785e219185371fb798a8265a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b31f0875d9c24db49630fe7536ece79f290e46403a79f976e844819ae3c5ea93\",\"dweb:/ipfs/QmcduYw5D96wo6PRWUbZ3bP6jES7NYD9PXGKsM9XuVdXfy\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x272d9b6c74852fee0541621ae9c8a99b88a7006c4a62332d14c53acc3b8089c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bcbeed8eae8672dab2eb261341bc6db19eff88a909a108510f7e9ebf7436774\",\"dweb:/ipfs/QmckfWgX73eWPENxDjyWsXuJaja3fFuiUuDk9XzWfzoNNM\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede\",\"dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db\",\"dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x07c411fa7218480a57b4c0e70eda3d4bf7c6730e79acb3d1f28b3bf38d6c963a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db597dbe967090b9b352c6f5ca0dcd0bd041e2867a6e16223bb1f4286e2e5d17\",\"dweb:/ipfs/QmaHJrx3Kx4gFgsL8AjwFfrVGL7hqhp2C76q3p4WADpvJh\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018\",\"dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterStats","outputs":[{"internalType":"struct CharacterStatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"int256","name":"damageTaken","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"damage","type":"uint256"},{"internalType":"uint256","name":"speed","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"struct PositionData","name":"positionData","type":"tuple","components":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359","urls":["bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389","dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6","urls":["bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec","dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0xa7a8b8fc9b9f3336fdfa893d01c5bac78288712642783cdb928e8f19576cc531","urls":["bzz-raw://76a77b1b94b6d61954d5fc5178e6c127dcede9b08191d0f8003c430db7209a20","dweb:/ipfs/QmUjPoQWysgfnKFra6jkGsG4nck3SVmgrJ4vLjGqzJfH3r"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0x91fe8aa5e00ef0a2c1d7931a8b26cd45ed850a7785e219185371fb798a8265a7","urls":["bzz-raw://b31f0875d9c24db49630fe7536ece79f290e46403a79f976e844819ae3c5ea93","dweb:/ipfs/QmcduYw5D96wo6PRWUbZ3bP6jES7NYD9PXGKsM9XuVdXfy"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x272d9b6c74852fee0541621ae9c8a99b88a7006c4a62332d14c53acc3b8089c1","urls":["bzz-raw://1bcbeed8eae8672dab2eb261341bc6db19eff88a909a108510f7e9ebf7436774","dweb:/ipfs/QmckfWgX73eWPENxDjyWsXuJaja3fFuiUuDk9XzWfzoNNM"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69","urls":["bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede","dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce","urls":["bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db","dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x07c411fa7218480a57b4c0e70eda3d4bf7c6730e79acb3d1f28b3bf38d6c963a","urls":["bzz-raw://db597dbe967090b9b352c6f5ca0dcd0bd041e2867a6e16223bb1f4286e2e5d17","dweb:/ipfs/QmaHJrx3Kx4gFgsL8AjwFfrVGL7hqhp2C76q3p4WADpvJh"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d","urls":["bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018","dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e","urls":["bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8","dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"],"license":"MIT"}},"version":1},"id":198}
\ No newline at end of file
diff --git a/packages/contracts/src/codegen/tables/CharacterStats.sol b/packages/contracts/src/codegen/tables/CharacterStats.sol
index a1184148c..258ed683f 100644
--- a/packages/contracts/src/codegen/tables/CharacterStats.sol
+++ b/packages/contracts/src/codegen/tables/CharacterStats.sol
@@ -23,6 +23,7 @@ struct CharacterStatsData {
uint256 hitPoints;
int256 damageTaken;
uint256 experience;
+ uint256 level;
}
library CharacterStats {
@@ -30,12 +31,12 @@ library CharacterStats {
ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000043686172616374657253746174730000);
FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x00c0060020202020202000000000000000000000000000000000000000000000);
+ FieldLayout.wrap(0x00e0070020202020202020000000000000000000000000000000000000000000);
// Hex-encoded key schema of (bytes32)
Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256, uint256, uint256, uint256, int256, uint256)
- Schema constant _valueSchema = Schema.wrap(0x00c006001f1f1f1f3f1f00000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256, uint256, uint256, uint256, int256, uint256, uint256)
+ Schema constant _valueSchema = Schema.wrap(0x00e007001f1f1f1f3f1f1f000000000000000000000000000000000000000000);
/**
* @notice Get the table's key field names.
@@ -51,13 +52,14 @@ library CharacterStats {
* @return fieldNames An array of strings with the names of value fields.
*/
function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](6);
+ fieldNames = new string[](7);
fieldNames[0] = "strength";
fieldNames[1] = "agility";
fieldNames[2] = "intelligence";
fieldNames[3] = "hitPoints";
fieldNames[4] = "damageTaken";
fieldNames[5] = "experience";
+ fieldNames[6] = "level";
}
/**
@@ -326,6 +328,48 @@ library CharacterStats {
StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((experience)), _fieldLayout);
}
+ /**
+ * @notice Get level.
+ */
+ function getLevel(bytes32 characterId) internal view returns (uint256 level) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get level.
+ */
+ function _getLevel(bytes32 characterId) internal view returns (uint256 level) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set level.
+ */
+ function setLevel(bytes32 characterId, uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((level)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set level.
+ */
+ function _setLevel(bytes32 characterId, uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((level)), _fieldLayout);
+ }
+
/**
* @notice Get the full data.
*/
@@ -366,9 +410,10 @@ library CharacterStats {
uint256 intelligence,
uint256 hitPoints,
int256 damageTaken,
- uint256 experience
+ uint256 experience,
+ uint256 level
) internal {
- bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience);
+ bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience, level);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
@@ -389,9 +434,10 @@ library CharacterStats {
uint256 intelligence,
uint256 hitPoints,
int256 damageTaken,
- uint256 experience
+ uint256 experience,
+ uint256 level
) internal {
- bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience);
+ bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience, level);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
@@ -412,7 +458,8 @@ library CharacterStats {
_table.intelligence,
_table.hitPoints,
_table.damageTaken,
- _table.experience
+ _table.experience,
+ _table.level
);
EncodedLengths _encodedLengths;
@@ -434,7 +481,8 @@ library CharacterStats {
_table.intelligence,
_table.hitPoints,
_table.damageTaken,
- _table.experience
+ _table.experience,
+ _table.level
);
EncodedLengths _encodedLengths;
@@ -460,7 +508,8 @@ library CharacterStats {
uint256 intelligence,
uint256 hitPoints,
int256 damageTaken,
- uint256 experience
+ uint256 experience,
+ uint256 level
)
{
strength = (uint256(Bytes.getBytes32(_blob, 0)));
@@ -474,6 +523,8 @@ library CharacterStats {
damageTaken = (int256(uint256(Bytes.getBytes32(_blob, 128))));
experience = (uint256(Bytes.getBytes32(_blob, 160)));
+
+ level = (uint256(Bytes.getBytes32(_blob, 192)));
}
/**
@@ -493,7 +544,8 @@ library CharacterStats {
_table.intelligence,
_table.hitPoints,
_table.damageTaken,
- _table.experience
+ _table.experience,
+ _table.level
) = decodeStatic(_staticData);
}
@@ -527,9 +579,10 @@ library CharacterStats {
uint256 intelligence,
uint256 hitPoints,
int256 damageTaken,
- uint256 experience
+ uint256 experience,
+ uint256 level
) internal pure returns (bytes memory) {
- return abi.encodePacked(strength, agility, intelligence, hitPoints, damageTaken, experience);
+ return abi.encodePacked(strength, agility, intelligence, hitPoints, damageTaken, experience, level);
}
/**
@@ -544,9 +597,10 @@ library CharacterStats {
uint256 intelligence,
uint256 hitPoints,
int256 damageTaken,
- uint256 experience
+ uint256 experience,
+ uint256 level
) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience);
+ bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience, level);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
diff --git a/packages/contracts/src/codegen/world/ICharacterSystem.sol b/packages/contracts/src/codegen/world/ICharacterSystem.sol
index fbfc1ae27..4cdf2b141 100644
--- a/packages/contracts/src/codegen/world/ICharacterSystem.sol
+++ b/packages/contracts/src/codegen/world/ICharacterSystem.sol
@@ -20,6 +20,8 @@ interface ICharacterSystem {
function UD__getCharacterTokenId(bytes32 characterId) external view returns (uint256);
+ function UD__getOwnerAddress(bytes32 characterId) external view returns (address);
+
function UD__mintCharacter(
address account,
bytes32 name,
diff --git a/packages/contracts/src/codegen/world/IMobSystem.sol b/packages/contracts/src/codegen/world/IMobSystem.sol
index 8b74a73af..dcad09fb9 100644
--- a/packages/contracts/src/codegen/world/IMobSystem.sol
+++ b/packages/contracts/src/codegen/world/IMobSystem.sol
@@ -32,7 +32,11 @@ interface IMobSystem {
function UD__getNpcStats(uint256 mobId) external view returns (NPCStats memory);
+ function UD__getNpcStats(bytes32 entityId) external view returns (NPCStats memory);
+
function UD__getMonsterStats(uint256 mobId) external view returns (MonsterStats memory);
+ function UD__getMonsterStats(bytes32 entityId) external view returns (MonsterStats memory);
+
function UD__getMob(uint256 mobId) external view returns (MobsData memory);
}
diff --git a/packages/contracts/src/systems/CharacterSystem.sol b/packages/contracts/src/systems/CharacterSystem.sol
index e1f4a99ac..79dbb7e31 100644
--- a/packages/contracts/src/systems/CharacterSystem.sol
+++ b/packages/contracts/src/systems/CharacterSystem.sol
@@ -53,25 +53,32 @@ contract CharacterSystem is System {
function getPlayerEntityId(uint256 characterTokenId) public view returns (bytes32 characterId) {
address ownerAddress = _characterToken().ownerOf(characterTokenId);
- characterId = bytes32(uint256(uint160(ownerAddress)) << 88 | characterTokenId);
+ characterId = bytes32(uint256(uint160(ownerAddress)) << 96 | characterTokenId);
}
function getCharacterTokenId(bytes32 characterId) public view returns (uint256) {
- return (uint256(uint88(uint256(characterId))));
+ return (uint256(uint96(uint256(characterId))));
}
+
+ /**
+ * @dev extracts the character nft owner address from the character Id
+ */
+ function getOwnerAddress(bytes32 characterId) public view returns (address) {
+ return address(uint160(uint256(characterId) >> 96));
+ }
+
/**
* @param account the address of the account that will own the character
* @param name the keccack256 hash of the characters name to check for duplicates
* @param tokenUri the token uri to be set for the character token
* @return characterId the bytes32 character id combination of the owner address and the tokenId
*/
-
function mintCharacter(address account, bytes32 name, string memory tokenUri)
public
returns (bytes32 characterId)
{
uint256 characterTokenId = _incrementCharacterCounter();
- require(characterTokenId < type(uint88).max, "CHARACATERS: Max characters reached");
+ require(characterTokenId < type(uint96).max, "CHARACATERS: Max characters reached");
IWorld(_world()).call(
_erc721SystemId(CHARACTERS_NAMESPACE), abi.encodeCall(IERC721Mintable.mint, (account, characterTokenId))
);
diff --git a/packages/contracts/test/CharacterSystem.t.sol b/packages/contracts/test/CharacterSystem.t.sol
index a5568e8d6..f7a7414cb 100644
--- a/packages/contracts/test/CharacterSystem.t.sol
+++ b/packages/contracts/test/CharacterSystem.t.sol
@@ -61,12 +61,15 @@ contract Test_CharacterSystem is SetUp, GasReporter {
function test_getPlayerEntity() public {
address ownerAddress = characterToken.ownerOf(2);
- bytes32 playerEntityId = bytes32(uint256(uint160(ownerAddress)) << 88 | 2);
-
+ bytes32 playerEntityId = bytes32(uint256(uint160(ownerAddress)) << 96 | 2);
assertEq(world.UD__getPlayerEntityId(2), playerEntityId);
}
function test_getTokenIdFromCharId() public {
assertEq(world.UD__getCharacterTokenId(bobCharacterId), uint256(uint88(uint256(bobCharacterId))));
}
+
+ function test_getOwnerId() public {
+ assertEq(world.UD__getOwnerAddress(bobCharacterId), bob);
+ }
}
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index a28b72d6d..a1643e1f7 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0x6c18b6a1e96069b82dd3f6897f67feefec7f91de"
+ "address": "0xcaea52d751338f39e8ecdb166319f94c61d3964d"
},
"84532": {
"address": "0xeafba96222596ac92cd335b0adfc1c2f50357571",
From 08edbc9270644f579d3ebbc043d0c3954bc52ed2 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Wed, 26 Jun 2024 21:50:48 -0500
Subject: [PATCH 06/14] some access control tweaks
---
packages/contracts/out/IWorld.sol/IWorld.abi.json | 10 +++++-----
.../contracts/out/IWorld.sol/IWorld.abi.json.d.ts | 10 +++++-----
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
.../contracts/src/codegen/world/ICharacterSystem.sol | 4 ++--
packages/contracts/src/codegen/world/IMobSystem.sol | 6 +++---
packages/contracts/src/systems/CharacterSystem.sol | 4 ++--
packages/contracts/src/systems/ItemsSystem.sol | 12 ++++++++----
packages/contracts/src/systems/MobSystem.sol | 9 +++++----
packages/contracts/src/utils.sol | 9 +++++++++
packages/contracts/test/MobSystem.t.sol | 8 +++++++-
packages/contracts/worlds.json | 2 +-
11 files changed, 48 insertions(+), 28 deletions(-)
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index 423111bd5..4856f45ed 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -283,7 +283,7 @@
"internalType": "uint256"
}
],
- "stateMutability": "view"
+ "stateMutability": "pure"
},
{
"type": "function",
@@ -453,7 +453,7 @@
"internalType": "uint256"
}
],
- "stateMutability": "view"
+ "stateMutability": "pure"
},
{
"type": "function",
@@ -477,7 +477,7 @@
"internalType": "uint16"
}
],
- "stateMutability": "view"
+ "stateMutability": "pure"
},
{
"type": "function",
@@ -718,7 +718,7 @@
"internalType": "address"
}
],
- "stateMutability": "view"
+ "stateMutability": "pure"
},
{
"type": "function",
@@ -769,7 +769,7 @@
"internalType": "uint256"
}
],
- "stateMutability": "view"
+ "stateMutability": "pure"
},
{
"type": "function",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index 9989d66ac..2c90298a3 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -283,7 +283,7 @@ declare const abi: [
"internalType": "uint256"
}
],
- "stateMutability": "view"
+ "stateMutability": "pure"
},
{
"type": "function",
@@ -453,7 +453,7 @@ declare const abi: [
"internalType": "uint256"
}
],
- "stateMutability": "view"
+ "stateMutability": "pure"
},
{
"type": "function",
@@ -477,7 +477,7 @@ declare const abi: [
"internalType": "uint16"
}
],
- "stateMutability": "view"
+ "stateMutability": "pure"
},
{
"type": "function",
@@ -718,7 +718,7 @@ declare const abi: [
"internalType": "address"
}
],
- "stateMutability": "view"
+ "stateMutability": "pure"
},
{
"type": "function",
@@ -769,7 +769,7 @@ declare const abi: [
"internalType": "uint256"
}
],
- "stateMutability": "view"
+ "stateMutability": "pure"
},
{
"type": "function",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index 78b5ee69b..ea93eb44d 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getCharacterStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CharacterStatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"damageTaken","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"damage","type":"uint256","internalType":"uint256"},{"name":"speed","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"positionData","type":"tuple","internalType":"struct PositionData","components":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}]}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__getCharacterStats(bytes32)":"8538665d","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawnMob(uint256,(uint16,uint16))":"f25eb329","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"speed\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"internalType\":\"struct PositionData\",\"name\":\"positionData\",\"type\":\"tuple\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389\",\"dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec\",\"dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0xa7a8b8fc9b9f3336fdfa893d01c5bac78288712642783cdb928e8f19576cc531\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76a77b1b94b6d61954d5fc5178e6c127dcede9b08191d0f8003c430db7209a20\",\"dweb:/ipfs/QmUjPoQWysgfnKFra6jkGsG4nck3SVmgrJ4vLjGqzJfH3r\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0x91fe8aa5e00ef0a2c1d7931a8b26cd45ed850a7785e219185371fb798a8265a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b31f0875d9c24db49630fe7536ece79f290e46403a79f976e844819ae3c5ea93\",\"dweb:/ipfs/QmcduYw5D96wo6PRWUbZ3bP6jES7NYD9PXGKsM9XuVdXfy\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x272d9b6c74852fee0541621ae9c8a99b88a7006c4a62332d14c53acc3b8089c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bcbeed8eae8672dab2eb261341bc6db19eff88a909a108510f7e9ebf7436774\",\"dweb:/ipfs/QmckfWgX73eWPENxDjyWsXuJaja3fFuiUuDk9XzWfzoNNM\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede\",\"dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db\",\"dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x07c411fa7218480a57b4c0e70eda3d4bf7c6730e79acb3d1f28b3bf38d6c963a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db597dbe967090b9b352c6f5ca0dcd0bd041e2867a6e16223bb1f4286e2e5d17\",\"dweb:/ipfs/QmaHJrx3Kx4gFgsL8AjwFfrVGL7hqhp2C76q3p4WADpvJh\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018\",\"dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterStats","outputs":[{"internalType":"struct CharacterStatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"int256","name":"damageTaken","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"damage","type":"uint256"},{"internalType":"uint256","name":"speed","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"struct PositionData","name":"positionData","type":"tuple","components":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359","urls":["bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389","dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6","urls":["bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec","dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0xa7a8b8fc9b9f3336fdfa893d01c5bac78288712642783cdb928e8f19576cc531","urls":["bzz-raw://76a77b1b94b6d61954d5fc5178e6c127dcede9b08191d0f8003c430db7209a20","dweb:/ipfs/QmUjPoQWysgfnKFra6jkGsG4nck3SVmgrJ4vLjGqzJfH3r"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0x91fe8aa5e00ef0a2c1d7931a8b26cd45ed850a7785e219185371fb798a8265a7","urls":["bzz-raw://b31f0875d9c24db49630fe7536ece79f290e46403a79f976e844819ae3c5ea93","dweb:/ipfs/QmcduYw5D96wo6PRWUbZ3bP6jES7NYD9PXGKsM9XuVdXfy"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x272d9b6c74852fee0541621ae9c8a99b88a7006c4a62332d14c53acc3b8089c1","urls":["bzz-raw://1bcbeed8eae8672dab2eb261341bc6db19eff88a909a108510f7e9ebf7436774","dweb:/ipfs/QmckfWgX73eWPENxDjyWsXuJaja3fFuiUuDk9XzWfzoNNM"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69","urls":["bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede","dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce","urls":["bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db","dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x07c411fa7218480a57b4c0e70eda3d4bf7c6730e79acb3d1f28b3bf38d6c963a","urls":["bzz-raw://db597dbe967090b9b352c6f5ca0dcd0bd041e2867a6e16223bb1f4286e2e5d17","dweb:/ipfs/QmaHJrx3Kx4gFgsL8AjwFfrVGL7hqhp2C76q3p4WADpvJh"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d","urls":["bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018","dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e","urls":["bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8","dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"],"license":"MIT"}},"version":1},"id":198}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getCharacterStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CharacterStatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"damageTaken","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hp","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"baseDamage","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"uint256[]","internalType":"uint256[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"damage","type":"uint256","internalType":"uint256"},{"name":"speed","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"positionData","type":"tuple","internalType":"struct PositionData","components":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}]}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__getCharacterStats(bytes32)":"8538665d","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawnMob(uint256,(uint16,uint16))":"f25eb329","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"speed\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"internalType\":\"struct PositionData\",\"name\":\"positionData\",\"type\":\"tuple\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389\",\"dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec\",\"dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0xa7a8b8fc9b9f3336fdfa893d01c5bac78288712642783cdb928e8f19576cc531\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76a77b1b94b6d61954d5fc5178e6c127dcede9b08191d0f8003c430db7209a20\",\"dweb:/ipfs/QmUjPoQWysgfnKFra6jkGsG4nck3SVmgrJ4vLjGqzJfH3r\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0x91fe8aa5e00ef0a2c1d7931a8b26cd45ed850a7785e219185371fb798a8265a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b31f0875d9c24db49630fe7536ece79f290e46403a79f976e844819ae3c5ea93\",\"dweb:/ipfs/QmcduYw5D96wo6PRWUbZ3bP6jES7NYD9PXGKsM9XuVdXfy\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x71481caa59a0252382d14565cf35def555b5e9c7dfc5c4f95fb953b2590617f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f664bc00e9db78c1a74bc378e01ca2572c0c140f37319ce555f3df8ca956802\",\"dweb:/ipfs/QmecPhXg4FUgfr2ZZh45XWfwDESMsFYgfSk2yAs7CiKcrE\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede\",\"dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db\",\"dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0xe15a86df97b50283cea05202fdc68007353e18c38b3af9b276633e94a1589874\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7da62dd3e8aaed7e6e7b3b4c232cd4619bb71ec69ad14601d7ff273ab453d8a3\",\"dweb:/ipfs/QmNjXP1VqnwZrtpk5DBxxQNgKd5m8KdYgEuCSo4ho2fcnb\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018\",\"dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getCharacterStats","outputs":[{"internalType":"struct CharacterStatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"int256","name":"damageTaken","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hp","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"baseDamage","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256[]","name":"storyPathIds","type":"uint256[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"damage","type":"uint256"},{"internalType":"uint256","name":"speed","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"struct PositionData","name":"positionData","type":"tuple","components":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xf7c441727c1b8706b46c47cc3e51372f2cedd32d98ab61eb21aa00a9fa684359","urls":["bzz-raw://9541d58454245657bd2d5f26b97964e5f4523a5e0d66a10465fc8fb7e8cb2389","dweb:/ipfs/QmScvkyrp3p9veSKKhJXmuVtfLneiarE8AMBEHEEARJRwo"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xb2dd8db6ae1a76e415c5f151778b0e00cfd8f5904b508ace1af573c6a78366a6","urls":["bzz-raw://a9818b76d64576a2a8f81ed8dd141e9555cebe8da4d77d64f9388e57f910fcec","dweb:/ipfs/QmVZ9gtyqohEmDDiy1X8gTegY9yKzXnTft4BEe5dxGwFhz"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0xa7a8b8fc9b9f3336fdfa893d01c5bac78288712642783cdb928e8f19576cc531","urls":["bzz-raw://76a77b1b94b6d61954d5fc5178e6c127dcede9b08191d0f8003c430db7209a20","dweb:/ipfs/QmUjPoQWysgfnKFra6jkGsG4nck3SVmgrJ4vLjGqzJfH3r"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0x91fe8aa5e00ef0a2c1d7931a8b26cd45ed850a7785e219185371fb798a8265a7","urls":["bzz-raw://b31f0875d9c24db49630fe7536ece79f290e46403a79f976e844819ae3c5ea93","dweb:/ipfs/QmcduYw5D96wo6PRWUbZ3bP6jES7NYD9PXGKsM9XuVdXfy"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x71481caa59a0252382d14565cf35def555b5e9c7dfc5c4f95fb953b2590617f2","urls":["bzz-raw://1f664bc00e9db78c1a74bc378e01ca2572c0c140f37319ce555f3df8ca956802","dweb:/ipfs/QmecPhXg4FUgfr2ZZh45XWfwDESMsFYgfSk2yAs7CiKcrE"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x0a9ba55a4ccd635d7f63c1db727b322722417ae8ae657ef01c78a41ce9479d69","urls":["bzz-raw://504c13893341c33e53ee96ac1901afd04ffbc5572cb49c6f30e60708e4f46ede","dweb:/ipfs/QmXaix4mGg1nJh1nyT7RJGPGHBUm4Y4RydEovcwvgsHAq4"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x9138b03c225622c7b814fa587bd4741963f91dbfbedc20d7e2fc0046a97115ce","urls":["bzz-raw://0f7ff646ccc00613f09885b90ab9749534fcd963a48ec204e09e73b6813a66db","dweb:/ipfs/QmUujJ1GaVJGEEjpQk1vP8ZR2c2HvnKXEA2Gd1GomaE2Y2"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0xe15a86df97b50283cea05202fdc68007353e18c38b3af9b276633e94a1589874","urls":["bzz-raw://7da62dd3e8aaed7e6e7b3b4c232cd4619bb71ec69ad14601d7ff273ab453d8a3","dweb:/ipfs/QmNjXP1VqnwZrtpk5DBxxQNgKd5m8KdYgEuCSo4ho2fcnb"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d","urls":["bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018","dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e","urls":["bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8","dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"],"license":"MIT"}},"version":1},"id":198}
\ No newline at end of file
diff --git a/packages/contracts/src/codegen/world/ICharacterSystem.sol b/packages/contracts/src/codegen/world/ICharacterSystem.sol
index 4cdf2b141..bd975a203 100644
--- a/packages/contracts/src/codegen/world/ICharacterSystem.sol
+++ b/packages/contracts/src/codegen/world/ICharacterSystem.sol
@@ -18,9 +18,9 @@ interface ICharacterSystem {
function UD__getPlayerEntityId(uint256 characterTokenId) external view returns (bytes32 characterId);
- function UD__getCharacterTokenId(bytes32 characterId) external view returns (uint256);
+ function UD__getCharacterTokenId(bytes32 characterId) external pure returns (uint256);
- function UD__getOwnerAddress(bytes32 characterId) external view returns (address);
+ function UD__getOwnerAddress(bytes32 characterId) external pure returns (address);
function UD__mintCharacter(
address account,
diff --git a/packages/contracts/src/codegen/world/IMobSystem.sol b/packages/contracts/src/codegen/world/IMobSystem.sol
index dcad09fb9..22074fcfe 100644
--- a/packages/contracts/src/codegen/world/IMobSystem.sol
+++ b/packages/contracts/src/codegen/world/IMobSystem.sol
@@ -24,11 +24,11 @@ interface IMobSystem {
function UD__spawnMob(uint256 mobId, PositionData memory positionData) external returns (bytes32 entityId);
- function UD__getMobId(bytes32 entityId) external view returns (uint256);
+ function UD__getMobId(bytes32 entityId) external pure returns (uint256);
- function UD__getMobPosition(bytes32 entityId) external view returns (uint16 x, uint16 y);
+ function UD__getMobPosition(bytes32 entityId) external pure returns (uint16 x, uint16 y);
- function UD__getSpawnCounter(bytes32 entityId) external view returns (uint256);
+ function UD__getSpawnCounter(bytes32 entityId) external pure returns (uint256);
function UD__getNpcStats(uint256 mobId) external view returns (NPCStats memory);
diff --git a/packages/contracts/src/systems/CharacterSystem.sol b/packages/contracts/src/systems/CharacterSystem.sol
index 79dbb7e31..629a84f33 100644
--- a/packages/contracts/src/systems/CharacterSystem.sol
+++ b/packages/contracts/src/systems/CharacterSystem.sol
@@ -56,14 +56,14 @@ contract CharacterSystem is System {
characterId = bytes32(uint256(uint160(ownerAddress)) << 96 | characterTokenId);
}
- function getCharacterTokenId(bytes32 characterId) public view returns (uint256) {
+ function getCharacterTokenId(bytes32 characterId) public pure returns (uint256) {
return (uint256(uint96(uint256(characterId))));
}
/**
* @dev extracts the character nft owner address from the character Id
*/
- function getOwnerAddress(bytes32 characterId) public view returns (address) {
+ function getOwnerAddress(bytes32 characterId) public pure returns (address) {
return address(uint160(uint256(characterId) >> 96));
}
diff --git a/packages/contracts/src/systems/ItemsSystem.sol b/packages/contracts/src/systems/ItemsSystem.sol
index 4892c1c09..bcaae2f39 100644
--- a/packages/contracts/src/systems/ItemsSystem.sol
+++ b/packages/contracts/src/systems/ItemsSystem.sol
@@ -102,8 +102,10 @@ contract ItemsSystem is System {
if (uint8(itemData.itemType) == 0) {
uint256[] memory equippedWeap = CharacterEquipment.getEquippedWeapons(characterId);
for (uint256 i; i < equippedWeap.length;) {
- if (equippedWeap[i] == itemId) _isEquipped = true;
- break;
+ if (equippedWeap[i] == itemId) {
+ _isEquipped = true;
+ break;
+ }
{
i++;
}
@@ -122,8 +124,10 @@ contract ItemsSystem is System {
bool isClass;
if (weaponStats.classRestrictions.length > 0) {
for (uint256 i; i < weaponStats.classRestrictions.length;) {
- if (uint8(characterData.class) == uint8(weaponStats.classRestrictions[i])) isClass = true;
- break;
+ if (uint8(characterData.class) == uint8(weaponStats.classRestrictions[i])) {
+ isClass = true;
+ break;
+ }
{
i++;
}
diff --git a/packages/contracts/src/systems/MobSystem.sol b/packages/contracts/src/systems/MobSystem.sol
index d09d43f0c..e6e1fa528 100644
--- a/packages/contracts/src/systems/MobSystem.sol
+++ b/packages/contracts/src/systems/MobSystem.sol
@@ -7,7 +7,7 @@ import {RngRequestType, MobType, Alignment} from "@codegen/common.sol";
import {Counters} from "@tables/Counters.sol";
import {Mobs, MobsData} from "@tables/Mobs.sol";
import {MonsterStats, NPCStats} from "@interfaces/Structs.sol";
-import {_requireOwner} from "../utils.sol";
+import {_requireOwner, _requireAccess} from "../utils.sol";
import {UltimateDominionConfig} from "@codegen/index.sol";
contract MobSystem is System {
@@ -36,6 +36,7 @@ contract MobSystem is System {
}
function spawnMob(uint256 mobId, PositionData memory positionData) public returns (bytes32 entityId) {
+ _requireAccess(address(this), _msgSender());
require(Counters.getCounter(address(this), 0) >= mobId, "MOB SYSTEM: Mob does not exist");
entityId = bytes32(
abi.encodePacked(uint32(mobId), uint192(_incrementMobCounter(mobId)), positionData.x, positionData.y)
@@ -44,16 +45,16 @@ contract MobSystem is System {
EntitiesAtPosition.pushEntities(positionData.x, positionData.y, entityId);
}
- function getMobId(bytes32 entityId) public view returns (uint256) {
+ function getMobId(bytes32 entityId) public pure returns (uint256) {
return uint256(uint256(entityId) >> 224);
}
- function getMobPosition(bytes32 entityId) public view returns (uint16 x, uint16 y) {
+ function getMobPosition(bytes32 entityId) public pure returns (uint16 x, uint16 y) {
y = uint16(uint256(entityId));
x = uint16(uint256(entityId) >> 16);
}
- function getSpawnCounter(bytes32 entityId) public view returns (uint256) {
+ function getSpawnCounter(bytes32 entityId) public pure returns (uint256) {
return uint256(uint192(uint256(entityId) >> 32));
}
diff --git a/packages/contracts/src/utils.sol b/packages/contracts/src/utils.sol
index a9ea52fb7..e738aa9ef 100644
--- a/packages/contracts/src/utils.sol
+++ b/packages/contracts/src/utils.sol
@@ -13,6 +13,7 @@ bytes16 constant ERC721_SYSTEM_NAME = "ERC721System";
bytes16 constant ERC1155_SYSTEM_NAME = "ERC1155System";
bytes16 constant CHARACTER_SYSTEM_NAME = "CharacterSystem";
bytes16 constant ITEMS_SYSTEM_NAME = "ItemsSystem";
+bytes16 constant MOB_SYSTEM_NAME = "MobSystem";
function _erc20SystemId(bytes14 namespace) pure returns (ResourceId) {
return WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: namespace, name: ERC20_SYSTEM_NAME});
@@ -34,6 +35,14 @@ function _itemsSystemId(bytes14 namespace) pure returns (ResourceId) {
return WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: namespace, name: ITEMS_SYSTEM_NAME});
}
+function _mobSystemId(bytes14 namespace) pure returns (ResourceId) {
+ return WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: namespace, name: MOB_SYSTEM_NAME});
+}
+
function _requireOwner(address callingSystem, address sender) view {
AccessControlLib.requireOwner(SystemRegistry.get(callingSystem), sender);
}
+
+function _requireAccess(address callingSystem, address sender) view {
+ AccessControlLib.requireAccess(SystemRegistry.get(callingSystem), sender);
+}
diff --git a/packages/contracts/test/MobSystem.t.sol b/packages/contracts/test/MobSystem.t.sol
index 64a80b063..ddfc80512 100644
--- a/packages/contracts/test/MobSystem.t.sol
+++ b/packages/contracts/test/MobSystem.t.sol
@@ -25,7 +25,7 @@ import {
ITEMS_NAMESPACE
} from "../constants.sol";
import {GasReporter} from "@latticexyz/gas-report/src/GasReporter.sol";
-
+import {_mobSystemId} from "../src/utils.sol";
import "forge-std/console2.sol";
/**
* // all stats (except level and exp) are to the 10,000s place. so 10_000 == 1;
@@ -46,6 +46,12 @@ import "forge-std/console2.sol";
*/
contract Test_MobSystem is SetUp, GasReporter {
+ function setUp() public override {
+ super.setUp();
+ vm.prank(deployer);
+ world.grantAccess(_mobSystemId("UD"), address(this));
+ }
+
function test_createMob() public {
vm.startPrank(deployer);
uint256[] memory _inventory = new uint256[](1);
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index a1643e1f7..a6d0bc1d0 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0xcaea52d751338f39e8ecdb166319f94c61d3964d"
+ "address": "0x565a7b6320ef91b3d74ee4340081d02605ac51a7"
},
"84532": {
"address": "0xeafba96222596ac92cd335b0adfc1c2f50357571",
From 31518119dbebeb7d75a2d95821fdb9441f089013 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Sun, 30 Jun 2024 10:45:59 -0500
Subject: [PATCH 07/14] ch-ch-ch-CHANGES
---
.vscode/settings.json | 2 +-
packages/contracts/src/systems/MobSystem.sol | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/.vscode/settings.json b/.vscode/settings.json
index a041afb62..7495f0b9f 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,4 +1,4 @@
{
"typescript.tsdk": "node_modules/typescript/lib",
- "solidity.compileUsingRemoteVersion": "latest"
+ "solidity.compileUsingRemoteVersion": "v0.8.26+commit.8a97fa7a"
}
diff --git a/packages/contracts/src/systems/MobSystem.sol b/packages/contracts/src/systems/MobSystem.sol
index e6e1fa528..58fa1e61c 100644
--- a/packages/contracts/src/systems/MobSystem.sol
+++ b/packages/contracts/src/systems/MobSystem.sol
@@ -94,6 +94,11 @@ contract MobSystem is System {
return Mobs.get(mobId);
}
+ function getMob(bytes32 entityId) public view returns (MobsData memory) {
+ uint256 mobId = getMobId(entityId);
+ return Mobs.get(mobId);
+ }
+
function _incrementMobId() internal returns (uint256) {
uint256 mobId = Counters.getCounter(address(this), 0) + 1;
Counters.setCounter(address(this), 0, (mobId));
From f1aed4b0e05a5d04675fe65d98d5ced34a98d863 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Mon, 1 Jul 2024 00:18:07 -0500
Subject: [PATCH 08/14] giant freaking commit. base physical weapon attack
implemented (not tested), equipping armor will now apply stat bonuses,
testing of combat system not started yet.
---
packages/contracts/constants.sol | 3 +
packages/contracts/mud.config.ts | 82 +-
.../contracts/out/IWorld.sol/IWorld.abi.json | 483 +-
.../out/IWorld.sol/IWorld.abi.json.d.ts | 4920 +++++++------
packages/contracts/out/IWorld.sol/IWorld.json | 6479 +----------------
.../contracts/script/DeployCharacters.sol | 78 +-
packages/contracts/script/DeployGold.sol | 59 +-
packages/contracts/script/PostDeploy.s.sol | 458 +-
packages/contracts/src/NoTransferHook.sol | 16 +-
packages/contracts/src/codegen/common.sol | 10 +
packages/contracts/src/codegen/index.sol | 11 +-
.../src/codegen/tables/CharacterEquipment.sol | 523 +-
.../src/codegen/tables/CharacterStats.sol | 620 --
.../src/codegen/tables/MapConfig.sol | 50 +-
.../src/codegen/tables/MobEntity.sol | 321 -
.../contracts/src/codegen/tables/MobStats.sol | 566 --
.../contracts/src/codegen/tables/Position.sol | 538 +-
.../contracts/src/codegen/tables/Spawned.sol | 50 +-
.../src/codegen/world/ICharacterSystem.sol | 4 +-
.../src/codegen/world/ICombatSystem.sol | 18 +
.../src/codegen/world/IItemsSystem.sol | 4 +-
.../src/codegen/world/IMapSystem.sol | 4 +-
.../src/codegen/world/IMobSystem.sol | 11 +-
.../contracts/src/codegen/world/IWorld.sol | 2 +
.../contracts/src/interfaces/IRngSystem.sol | 7 +-
packages/contracts/src/interfaces/Structs.sol | 62 +-
.../contracts/src/libraries/LibChunks.sol | 36 +-
.../contracts/src/systems/CharacterSystem.sol | 15 +-
.../contracts/src/systems/CombatSystem.sol | 143 +-
.../contracts/src/systems/ItemsSystem.sol | 53 +-
packages/contracts/src/systems/MapSystem.sol | 50 +-
packages/contracts/src/systems/MobSystem.sol | 37 +-
packages/contracts/src/systems/RngSystem.sol | 38 +-
packages/contracts/test/CharacterSystem.t.sol | 10 +-
packages/contracts/test/ItemsSystem.t.sol | 8 +-
packages/contracts/test/MobSystem.t.sol | 28 +-
packages/contracts/test/RngSystem.t.sol | 14 +-
packages/contracts/test/SetUp.sol | 10 +-
packages/contracts/test/mocks/MockEntropy.sol | 156 +-
packages/contracts/worlds.json | 2 +-
40 files changed, 4648 insertions(+), 11331 deletions(-)
delete mode 100644 packages/contracts/src/codegen/tables/CharacterStats.sol
delete mode 100644 packages/contracts/src/codegen/tables/MobEntity.sol
delete mode 100644 packages/contracts/src/codegen/tables/MobStats.sol
diff --git a/packages/contracts/constants.sol b/packages/contracts/constants.sol
index 9adfb18ee..9b9bdf4f0 100644
--- a/packages/contracts/constants.sol
+++ b/packages/contracts/constants.sol
@@ -11,3 +11,6 @@ string constant ERC721_SYMBOL = "UDC";
string constant TOKEN_URI = "ipfs://";
uint256 constant DEFAULT_MAX_TURNS = 15;
+uint256 constant TO_HIT_MODIFIER = 10_000;
+uint256 constant DEFENSE_MODIFIER = 10_000;
+uint256 constant ATTACK_MODIFIER = 10_000;
diff --git a/packages/contracts/mud.config.ts b/packages/contracts/mud.config.ts
index 4557195e1..e7fbb63a0 100644
--- a/packages/contracts/mud.config.ts
+++ b/packages/contracts/mud.config.ts
@@ -18,7 +18,8 @@ export default defineWorld({
MobType: ["Monster", "NPC"],
Alignment: ["Loyalist", "Neutral", "Rebel", "Aggro"],
EncounterType: ["PvP", "PvE"],
- SkillType: ["PhysicalAttack", "MagicAttack", "StatusEffect"],
+ SkillType: ["Temporary", "PhysicalAttack", "MagicAttack", "StatusEffect"],
+ StatusEffects: ["ToHitModifier", "DoT", "HitPointMod", "ArmorMod", "WeaponMod", "Stun"],
},
tables: {
/**
@@ -35,58 +36,45 @@ export default defineWorld({
locked: "bool",
},
},
- CharacterStats: {
- key: ["characterId"],
+ Stats: {
+ key: ["entityId"],
schema: {
- characterId: "bytes32",
+ entityId: "bytes32",
strength: "uint256",
agility: "uint256",
intelligence: "uint256",
- hitPoints: "uint256",
- damageTaken: "int256",
+ maxHitPoints: "uint256",
+ currentDamage: "int256",
experience: "uint256",
level: "uint256",
+ armor: "uint256",
},
},
MapConfig: {
key: [],
schema: {
- height: "uint32",
- width: "uint32",
- },
- codegen: {
- dataStruct: false,
- },
- },
- Position: {
- key: ["characterId"],
- schema: {
- characterId: "uint256",
- x: "uint32",
- y: "uint32",
+ height: "uint16",
+ width: "uint16",
},
codegen: {
dataStruct: false,
},
},
Spawned: {
- key: ["characterId"],
+ key: ["entityId"],
schema: {
- characterId: "uint256",
+ entityId: "bytes32",
spawned: "bool",
},
},
- MobStats: {
- key: ["entityId"],
+ Mobs: {
schema: {
- entityId: "bytes32",
- strength: "uint256",
- agility: "uint256",
- intelligence: "uint256",
- hitPoints: "uint256",
- damageTaken: "int256",
- experience: "uint256",
+ mobId: "uint256",
+ mobType: "MobType",
+ mobStats: "bytes",
+ mobMetadata: "string",
},
+ key: ["mobId"],
},
Levels: {
key: ["level"],
@@ -99,9 +87,14 @@ export default defineWorld({
key: ["characterId"],
schema: {
characterId: "bytes32",
+ strBonus: "int256",
+ agiBonus: "int256",
+ intBonus: "int256",
+ hpBonus: "int256",
equippedArmor: "uint256[]",
equippedWeapons: "uint256[]",
- equippedSpells: "uint256[]",
+ equippedSpells: "bytes32[]",
+ equippedSkills: "bytes32[]",
},
},
Counters: {
@@ -120,15 +113,15 @@ export default defineWorld({
},
key: ["itemId"],
},
- Mobs: {
+ Skills: {
schema: {
- mobId: "uint256",
- mobType: "MobType",
- mobStats: "bytes",
- mobMetadata: "string",
+ skillId: "bytes32",
+ skillType: "SkillType",
+ skillStats: "bytes",
},
- key: ["mobId"],
+ key: ["skillId"],
},
+
StarterItems: {
key: ["class"],
schema: {
@@ -168,14 +161,16 @@ export default defineWorld({
},
key: ["encounterId"],
},
- MobEntity: {
- key: ["mobEntityId"],
+ // when an entity starts combat it creates a "match entity" for that encounter.
+ //when combat ends, the encounterId is set to zero, and the damage taken subtracted from the entities hp.
+ MatchEntity: {
+ key: ["matchEntityId"],
schema: {
- mobEntityId: "bytes32",
- remainingHp: "int256",
- // by default this is bytes(0), if this mob is in an encounter it will be set,
+ matchEntityId: "bytes32",
+ // by default this is bytes(0), if this entity is in an encounter it will be set,
// if the mob survives its encounter this will be set back to bytes(0)
encounterId: "bytes32",
+ damageTaken: "int256",
},
},
RandomNumbers: {
@@ -191,6 +186,9 @@ export default defineWorld({
*/
Position: {
key: ["entity"],
+ codegen: {
+ dataStruct: false,
+ },
schema: {
entity: "bytes32",
x: "uint16",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index 9144149c0..94f7f6ff2 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -1,4 +1,128 @@
[
+ {
+ "type": "function",
+ "name": "UD___calculateMagicAttack",
+ "inputs": [],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "UD___calculatePhysicalAttack",
+ "inputs": [
+ {
+ "name": "attackStats",
+ "type": "tuple",
+ "internalType": "struct PhysicalAttackStats",
+ "components": [
+ {
+ "name": "bonusDamage",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "requiredItems",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
+ {
+ "name": "armorPenetration",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ },
+ {
+ "name": "attackerId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "defenderId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "weaponId",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "randomNumber",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "damage",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "UD__applyEquipmentBonuses",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "modifiedStats",
+ "type": "tuple",
+ "internalType": "struct StatsData",
+ "components": [
+ {
+ "name": "strength",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "agility",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "intelligence",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "maxHitPoints",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "currentDamage",
+ "type": "int256",
+ "internalType": "int256"
+ },
+ {
+ "name": "experience",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "level",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "armor",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__checkRequirements",
@@ -124,7 +248,7 @@
"internalType": "enum MobType"
},
{
- "name": "mobStats",
+ "name": "stats",
"type": "bytes",
"internalType": "bytes"
},
@@ -166,6 +290,70 @@
"outputs": [],
"stateMutability": "nonpayable"
},
+ {
+ "type": "function",
+ "name": "UD__createSkill",
+ "inputs": [
+ {
+ "name": "skillType",
+ "type": "uint8",
+ "internalType": "enum SkillType"
+ },
+ {
+ "name": "skillStats",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "skillId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "UD__endTurn",
+ "inputs": [
+ {
+ "name": "encounterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "moves",
+ "type": "tuple[]",
+ "internalType": "struct CombatMove[]",
+ "components": [
+ {
+ "name": "attackerEntityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "defenderEntityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "skillId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "weaponId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__enterGame",
@@ -199,54 +387,99 @@
},
{
"type": "function",
- "name": "UD__getCharacterStats",
+ "name": "UD__executeCombat",
"inputs": [
{
- "name": "characterId",
+ "name": "randomNumber",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "encounterId",
"type": "bytes32",
"internalType": "bytes32"
+ },
+ {
+ "name": "moves",
+ "type": "tuple[]",
+ "internalType": "struct CombatMove[]",
+ "components": [
+ {
+ "name": "attackerEntityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "defenderEntityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "skillId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "weaponId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "UD__getArmorStats",
+ "inputs": [
+ {
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
}
],
"outputs": [
{
- "name": "",
+ "name": "_ArmorStats",
"type": "tuple",
- "internalType": "struct CharacterStatsData",
+ "internalType": "struct ArmorStats",
"components": [
{
- "name": "strength",
+ "name": "armorModifier",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "agility",
- "type": "uint256",
- "internalType": "uint256"
+ "name": "classRestrictions",
+ "type": "uint8[]",
+ "internalType": "uint8[]"
},
{
- "name": "intelligence",
+ "name": "minLevel",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "hitPoints",
- "type": "uint256",
- "internalType": "uint256"
+ "name": "strModifier",
+ "type": "int256",
+ "internalType": "int256"
},
{
- "name": "damageTaken",
+ "name": "agiModifier",
"type": "int256",
"internalType": "int256"
},
{
- "name": "experience",
- "type": "uint256",
- "internalType": "uint256"
+ "name": "intModifier",
+ "type": "int256",
+ "internalType": "int256"
},
{
- "name": "level",
- "type": "uint256",
- "internalType": "uint256"
+ "name": "hitPointModifier",
+ "type": "int256",
+ "internalType": "int256"
}
]
}
@@ -400,6 +633,42 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getMob",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct MobsData",
+ "components": [
+ {
+ "name": "mobType",
+ "type": "uint8",
+ "internalType": "enum MobType"
+ },
+ {
+ "name": "mobStats",
+ "type": "bytes",
+ "internalType": "bytes"
+ },
+ {
+ "name": "mobMetadata",
+ "type": "string",
+ "internalType": "string"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getMob",
@@ -496,7 +765,7 @@
"internalType": "struct MonsterStats",
"components": [
{
- "name": "hp",
+ "name": "hitPoints",
"type": "uint256",
"internalType": "uint256"
},
@@ -506,12 +775,22 @@
"internalType": "uint256"
},
{
- "name": "level",
+ "name": "strength",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "baseDamage",
+ "name": "agility",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "intelligence",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "level",
"type": "uint256",
"internalType": "uint256"
},
@@ -552,7 +831,7 @@
"internalType": "struct MonsterStats",
"components": [
{
- "name": "hp",
+ "name": "hitPoints",
"type": "uint256",
"internalType": "uint256"
},
@@ -562,12 +841,22 @@
"internalType": "uint256"
},
{
- "name": "level",
+ "name": "strength",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "agility",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "baseDamage",
+ "name": "intelligence",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "level",
"type": "uint256",
"internalType": "uint256"
},
@@ -633,8 +922,8 @@
},
{
"name": "storyPathIds",
- "type": "uint256[]",
- "internalType": "uint256[]"
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
"name": "alignment",
@@ -669,8 +958,8 @@
},
{
"name": "storyPathIds",
- "type": "uint256[]",
- "internalType": "uint256[]"
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
"name": "alignment",
@@ -771,6 +1060,67 @@
],
"stateMutability": "pure"
},
+ {
+ "type": "function",
+ "name": "UD__getStats",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct StatsData",
+ "components": [
+ {
+ "name": "strength",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "agility",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "intelligence",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "maxHitPoints",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "currentDamage",
+ "type": "int256",
+ "internalType": "int256"
+ },
+ {
+ "name": "experience",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "level",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "armor",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getTotalSupply",
@@ -807,12 +1157,12 @@
"internalType": "struct WeaponStats",
"components": [
{
- "name": "damage",
+ "name": "minDamage",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "speed",
+ "name": "maxDamage",
"type": "uint256",
"internalType": "uint256"
},
@@ -902,32 +1252,19 @@
"name": "UD__move",
"inputs": [
{
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__move",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "x",
- "type": "uint32",
- "internalType": "uint32"
+ "type": "uint16",
+ "internalType": "uint16"
},
{
"name": "y",
- "type": "uint32",
- "internalType": "uint32"
+ "type": "uint16",
+ "internalType": "uint16"
}
],
"outputs": [],
@@ -1002,22 +1339,9 @@
"name": "UD__spawn",
"inputs": [
{
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__unequipItem",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
}
],
"outputs": [],
@@ -1033,21 +1357,14 @@
"internalType": "uint256"
},
{
- "name": "positionData",
- "type": "tuple",
- "internalType": "struct PositionData",
- "components": [
- {
- "name": "x",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "y",
- "type": "uint16",
- "internalType": "uint16"
- }
- ]
+ "name": "x",
+ "type": "uint16",
+ "internalType": "uint16"
+ },
+ {
+ "name": "y",
+ "type": "uint16",
+ "internalType": "uint16"
}
],
"outputs": [
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index 6ca306ef2..6d88bb0b2 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -1,3093 +1,3409 @@
declare const abi: [
{
- type: "function";
- name: "UD__checkRequirements";
- inputs: [
- {
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
- },
- {
- name: "itemId";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [
- {
- name: "";
- type: "bool";
- internalType: "bool";
- },
- ];
- stateMutability: "view";
- },
- {
- type: "function";
- name: "UD__createItem";
- inputs: [
- {
- name: "itemType";
- type: "uint8";
- internalType: "enum ItemType";
- },
- {
- name: "supply";
- type: "uint256";
- internalType: "uint256";
- },
- {
- name: "stats";
- type: "bytes";
- internalType: "bytes";
- },
- {
- name: "itemMetadataURI";
- type: "string";
- internalType: "string";
- },
- ];
- outputs: [
- {
- name: "";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- stateMutability: "nonpayable";
- },
- {
- type: "function";
- name: "UD__createItems";
- inputs: [
- {
- name: "itemTypes";
- type: "uint8[]";
- internalType: "enum ItemType[]";
- },
- {
- name: "supply";
- type: "uint256[]";
- internalType: "uint256[]";
- },
- {
- name: "stats";
- type: "bytes[]";
- internalType: "bytes[]";
- },
- {
- name: "itemMetadataURIs";
- type: "string[]";
- internalType: "string[]";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
- },
- {
- type: "function";
- name: "UD__createMatch";
- inputs: [
- {
- name: "encounterType";
- type: "uint8";
- internalType: "enum EncounterType";
- },
- {
- name: "attackers";
- type: "bytes32[]";
- internalType: "bytes32[]";
- },
- {
- name: "defenders";
- type: "bytes32[]";
- internalType: "bytes32[]";
- },
- ];
- outputs: [
- {
- name: "";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- stateMutability: "nonpayable";
+ "type": "function",
+ "name": "UD___calculateMagicAttack",
+ "inputs": [],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__createMob";
- inputs: [
- {
- name: "mobType";
- type: "uint8";
- internalType: "enum MobType";
- },
- {
- name: "mobStats";
- type: "bytes";
- internalType: "bytes";
- },
- {
- name: "mobMetadataUri";
- type: "string";
- internalType: "string";
- },
- ];
- outputs: [
+ "type": "function",
+ "name": "UD___calculatePhysicalAttack",
+ "inputs": [
{
- name: "";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- stateMutability: "nonpayable";
- },
- {
- type: "function";
- name: "UD__createMobs";
- inputs: [
- {
- name: "mobTypes";
- type: "uint8[]";
- internalType: "enum MobType[]";
+ "name": "attackStats",
+ "type": "tuple",
+ "internalType": "struct PhysicalAttackStats",
+ "components": [
+ {
+ "name": "bonusDamage",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "requiredItems",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
+ {
+ "name": "armorPenetration",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- name: "stats";
- type: "bytes[]";
- internalType: "bytes[]";
+ "name": "attackerId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "mobMetadataURIs";
- type: "string[]";
- internalType: "string[]";
+ "name": "defenderId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
- ];
- outputs: [];
- stateMutability: "nonpayable";
- },
- {
- type: "function";
- name: "UD__enterGame";
- inputs: [
{
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
+ "name": "weaponId",
+ "type": "uint256",
+ "internalType": "uint256"
},
- ];
- outputs: [];
- stateMutability: "nonpayable";
- },
- {
- type: "function";
- name: "UD__equipItems";
- inputs: [
{
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
- },
+ "name": "randomNumber",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
{
- name: "itemIds";
- type: "uint256[]";
- internalType: "uint256[]";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "damage",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__getCharacterStats";
- inputs: [
+ "type": "function",
+ "name": "UD__applyEquipmentBonuses",
+ "inputs": [
{
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- outputs: [
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
{
- name: "";
- type: "tuple";
- internalType: "struct CharacterStatsData";
- components: [
+ "name": "modifiedStats",
+ "type": "tuple",
+ "internalType": "struct StatsData",
+ "components": [
{
- name: "strength";
- type: "uint256";
- internalType: "uint256";
+ "name": "strength",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "agility";
- type: "uint256";
- internalType: "uint256";
+ "name": "agility",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "intelligence";
- type: "uint256";
- internalType: "uint256";
+ "name": "intelligence",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "hitPoints";
- type: "uint256";
- internalType: "uint256";
+ "name": "maxHitPoints",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "damageTaken";
- type: "int256";
- internalType: "int256";
+ "name": "currentDamage",
+ "type": "int256",
+ "internalType": "int256"
},
{
- name: "experience";
- type: "uint256";
- internalType: "uint256";
+ "name": "experience",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "level";
- type: "uint256";
- internalType: "uint256";
+ "name": "level",
+ "type": "uint256",
+ "internalType": "uint256"
},
- ];
- },
- ];
- stateMutability: "view";
+ {
+ "name": "armor",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "UD__getCharacterToken";
- inputs: [];
- outputs: [
+ "type": "function",
+ "name": "UD__checkRequirements",
+ "inputs": [
{
- name: "_characterToken";
- type: "address";
- internalType: "address";
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
- ];
- stateMutability: "view";
+ {
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "UD__getCharacterTokenId";
- inputs: [
+ "type": "function",
+ "name": "UD__createItem",
+ "inputs": [
{
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
+ "name": "itemType",
+ "type": "uint8",
+ "internalType": "enum ItemType"
},
- ];
- outputs: [
{
- name: "";
- type: "uint256";
- internalType: "uint256";
+ "name": "supply",
+ "type": "uint256",
+ "internalType": "uint256"
},
- ];
- stateMutability: "pure";
- },
- {
- type: "function";
- name: "UD__getClass";
- inputs: [
{
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
+ "name": "stats",
+ "type": "bytes",
+ "internalType": "bytes"
},
- ];
- outputs: [
{
- name: "_class";
- type: "uint8";
- internalType: "enum Classes";
- },
- ];
- stateMutability: "view";
+ "name": "itemMetadataURI",
+ "type": "string",
+ "internalType": "string"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__getCurrentLevel";
- inputs: [
+ "type": "function",
+ "name": "UD__createItems",
+ "inputs": [
{
- name: "experience";
- type: "uint256";
- internalType: "uint256";
+ "name": "itemTypes",
+ "type": "uint8[]",
+ "internalType": "enum ItemType[]"
},
- ];
- outputs: [
{
- name: "currentLevel";
- type: "uint256";
- internalType: "uint256";
+ "name": "supply",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
},
- ];
- stateMutability: "view";
- },
- {
- type: "function";
- name: "UD__getEntropy";
- inputs: [];
- outputs: [
{
- name: "_entropy";
- type: "address";
- internalType: "address";
+ "name": "stats",
+ "type": "bytes[]",
+ "internalType": "bytes[]"
},
- ];
- stateMutability: "view";
+ {
+ "name": "itemMetadataURIs",
+ "type": "string[]",
+ "internalType": "string[]"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__getExperience";
- inputs: [
+ "type": "function",
+ "name": "UD__createMatch",
+ "inputs": [
{
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
+ "name": "encounterType",
+ "type": "uint8",
+ "internalType": "enum EncounterType"
},
- ];
- outputs: [
{
- name: "";
- type: "uint256";
- internalType: "uint256";
+ "name": "attackers",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
- ];
- stateMutability: "view";
+ {
+ "name": "defenders",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__getGoldToken";
- inputs: [];
- outputs: [
+ "type": "function",
+ "name": "UD__createMob",
+ "inputs": [
+ {
+ "name": "mobType",
+ "type": "uint8",
+ "internalType": "enum MobType"
+ },
{
- name: "_goldToken";
- type: "address";
- internalType: "address";
+ "name": "stats",
+ "type": "bytes",
+ "internalType": "bytes"
},
- ];
- stateMutability: "view";
+ {
+ "name": "mobMetadataUri",
+ "type": "string",
+ "internalType": "string"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__getItemType";
- inputs: [
+ "type": "function",
+ "name": "UD__createMobs",
+ "inputs": [
{
- name: "itemId";
- type: "uint256";
- internalType: "uint256";
+ "name": "mobTypes",
+ "type": "uint8[]",
+ "internalType": "enum MobType[]"
},
- ];
- outputs: [
{
- name: "";
- type: "uint8";
- internalType: "enum ItemType";
+ "name": "stats",
+ "type": "bytes[]",
+ "internalType": "bytes[]"
},
- ];
- stateMutability: "view";
+ {
+ "name": "mobMetadataURIs",
+ "type": "string[]",
+ "internalType": "string[]"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__getItemsContract";
- inputs: [];
- outputs: [
+ "type": "function",
+ "name": "UD__createSkill",
+ "inputs": [
{
- name: "_erc1155";
- type: "address";
- internalType: "address";
+ "name": "skillType",
+ "type": "uint8",
+ "internalType": "enum SkillType"
},
- ];
- stateMutability: "view";
+ {
+ "name": "skillStats",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "skillId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__getMob";
- inputs: [
+ "type": "function",
+ "name": "UD__endTurn",
+ "inputs": [
{
- name: "mobId";
- type: "uint256";
- internalType: "uint256";
+ "name": "encounterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
- ];
- outputs: [
{
- name: "";
- type: "tuple";
- internalType: "struct MobsData";
- components: [
+ "name": "moves",
+ "type": "tuple[]",
+ "internalType": "struct CombatMove[]",
+ "components": [
{
- name: "mobType";
- type: "uint8";
- internalType: "enum MobType";
+ "name": "attackerEntityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "mobStats";
- type: "bytes";
- internalType: "bytes";
+ "name": "defenderEntityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "mobMetadata";
- type: "string";
- internalType: "string";
+ "name": "skillId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
- ];
- },
- ];
- stateMutability: "view";
+ {
+ "name": "weaponId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__getMobId";
- inputs: [
+ "type": "function",
+ "name": "UD__enterGame",
+ "inputs": [
{
- name: "entityId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- outputs: [
- {
- name: "";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- stateMutability: "pure";
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__getMobPosition";
- inputs: [
- {
- name: "entityId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- outputs: [
+ "type": "function",
+ "name": "UD__equipItems",
+ "inputs": [
{
- name: "x";
- type: "uint16";
- internalType: "uint16";
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "y";
- type: "uint16";
- internalType: "uint16";
- },
- ];
- stateMutability: "pure";
+ "name": "itemIds",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__getMonsterStats";
- inputs: [
+ "type": "function",
+ "name": "UD__executeCombat",
+ "inputs": [
+ {
+ "name": "randomNumber",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
{
- name: "mobId";
- type: "uint256";
- internalType: "uint256";
+ "name": "encounterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
- ];
- outputs: [
{
- name: "";
- type: "tuple";
- internalType: "struct MonsterStats";
- components: [
+ "name": "moves",
+ "type": "tuple[]",
+ "internalType": "struct CombatMove[]",
+ "components": [
{
- name: "hp";
- type: "uint256";
- internalType: "uint256";
+ "name": "attackerEntityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "armor";
- type: "uint256";
- internalType: "uint256";
+ "name": "defenderEntityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "level";
- type: "uint256";
- internalType: "uint256";
+ "name": "skillId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "baseDamage";
- type: "uint256";
- internalType: "uint256";
+ "name": "weaponId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "UD__getArmorStats",
+ "inputs": [
+ {
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "_ArmorStats",
+ "type": "tuple",
+ "internalType": "struct ArmorStats",
+ "components": [
+ {
+ "name": "armorModifier",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "class";
- type: "uint8";
- internalType: "enum Classes";
+ "name": "classRestrictions",
+ "type": "uint8[]",
+ "internalType": "uint8[]"
},
{
- name: "inventory";
- type: "uint256[]";
- internalType: "uint256[]";
+ "name": "minLevel",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "experience";
- type: "uint256";
- internalType: "uint256";
+ "name": "strModifier",
+ "type": "int256",
+ "internalType": "int256"
},
- ];
- },
- ];
- stateMutability: "view";
- },
- {
- type: "function";
- name: "UD__getMonsterStats";
- inputs: [
- {
- name: "entityId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- outputs: [
- {
- name: "";
- type: "tuple";
- internalType: "struct MonsterStats";
- components: [
{
- name: "hp";
- type: "uint256";
- internalType: "uint256";
+ "name": "agiModifier",
+ "type": "int256",
+ "internalType": "int256"
},
{
- name: "armor";
- type: "uint256";
- internalType: "uint256";
+ "name": "intModifier",
+ "type": "int256",
+ "internalType": "int256"
},
{
- name: "level";
- type: "uint256";
- internalType: "uint256";
+ "name": "hitPointModifier",
+ "type": "int256",
+ "internalType": "int256"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getCharacterToken",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "_characterToken",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getCharacterTokenId",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "pure"
+ },
+ {
+ "type": "function",
+ "name": "UD__getClass",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "_class",
+ "type": "uint8",
+ "internalType": "enum Classes"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getCurrentLevel",
+ "inputs": [
+ {
+ "name": "experience",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "currentLevel",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getEntropy",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "_entropy",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getExperience",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getGoldToken",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "_goldToken",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getItemType",
+ "inputs": [
+ {
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint8",
+ "internalType": "enum ItemType"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getItemsContract",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "_erc1155",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getMob",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct MobsData",
+ "components": [
+ {
+ "name": "mobType",
+ "type": "uint8",
+ "internalType": "enum MobType"
},
{
- name: "baseDamage";
- type: "uint256";
- internalType: "uint256";
+ "name": "mobStats",
+ "type": "bytes",
+ "internalType": "bytes"
},
{
- name: "class";
- type: "uint8";
- internalType: "enum Classes";
+ "name": "mobMetadata",
+ "type": "string",
+ "internalType": "string"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getMob",
+ "inputs": [
+ {
+ "name": "mobId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct MobsData",
+ "components": [
+ {
+ "name": "mobType",
+ "type": "uint8",
+ "internalType": "enum MobType"
},
{
- name: "inventory";
- type: "uint256[]";
- internalType: "uint256[]";
+ "name": "mobStats",
+ "type": "bytes",
+ "internalType": "bytes"
},
{
- name: "experience";
- type: "uint256";
- internalType: "uint256";
+ "name": "mobMetadata",
+ "type": "string",
+ "internalType": "string"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getMobId",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "pure"
+ },
+ {
+ "type": "function",
+ "name": "UD__getMobPosition",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "x",
+ "type": "uint16",
+ "internalType": "uint16"
+ },
+ {
+ "name": "y",
+ "type": "uint16",
+ "internalType": "uint16"
+ }
+ ],
+ "stateMutability": "pure"
+ },
+ {
+ "type": "function",
+ "name": "UD__getMonsterStats",
+ "inputs": [
+ {
+ "name": "mobId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct MonsterStats",
+ "components": [
+ {
+ "name": "hitPoints",
+ "type": "uint256",
+ "internalType": "uint256"
},
- ];
- },
- ];
- stateMutability: "view";
- },
- {
- type: "function";
- name: "UD__getName";
- inputs: [
- {
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- outputs: [
- {
- name: "_name";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- stateMutability: "view";
- },
- {
- type: "function";
- name: "UD__getNpcStats";
- inputs: [
- {
- name: "mobId";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [
- {
- name: "";
- type: "tuple";
- internalType: "struct NPCStats";
- components: [
{
- name: "name";
- type: "string";
- internalType: "string";
+ "name": "armor",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "storyPathIds";
- type: "uint256[]";
- internalType: "uint256[]";
+ "name": "strength",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "alignment";
- type: "uint8";
- internalType: "enum Alignment";
+ "name": "agility",
+ "type": "uint256",
+ "internalType": "uint256"
},
- ];
- },
- ];
- stateMutability: "view";
- },
- {
- type: "function";
- name: "UD__getNpcStats";
- inputs: [
- {
- name: "entityId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- outputs: [
- {
- name: "";
- type: "tuple";
- internalType: "struct NPCStats";
- components: [
{
- name: "name";
- type: "string";
- internalType: "string";
+ "name": "intelligence",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "storyPathIds";
- type: "uint256[]";
- internalType: "uint256[]";
+ "name": "level",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "alignment";
- type: "uint8";
- internalType: "enum Alignment";
+ "name": "class",
+ "type": "uint8",
+ "internalType": "enum Classes"
},
- ];
- },
- ];
- stateMutability: "view";
- },
- {
- type: "function";
- name: "UD__getOwner";
- inputs: [
- {
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- outputs: [
- {
- name: "";
- type: "address";
- internalType: "address";
- },
- ];
- stateMutability: "view";
- },
- {
- type: "function";
- name: "UD__getOwnerAddress";
- inputs: [
- {
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- outputs: [
- {
- name: "";
- type: "address";
- internalType: "address";
- },
- ];
- stateMutability: "pure";
- },
- {
- type: "function";
- name: "UD__getPlayerEntityId";
- inputs: [
- {
- name: "characterTokenId";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [
- {
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- stateMutability: "view";
- },
- {
- type: "function";
- name: "UD__getPythProvider";
- inputs: [];
- outputs: [
- {
- name: "_provider";
- type: "address";
- internalType: "address";
- },
- ];
- stateMutability: "view";
- },
- {
- type: "function";
- name: "UD__getSpawnCounter";
- inputs: [
- {
- name: "entityId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- outputs: [
- {
- name: "";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- stateMutability: "pure";
- },
- {
- type: "function";
- name: "UD__getTotalSupply";
- inputs: [
- {
- name: "tokenId";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [
- {
- name: "_supply";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- stateMutability: "view";
- },
- {
- type: "function";
- name: "UD__getWeaponStats";
- inputs: [
- {
- name: "itemId";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [
- {
- name: "_weaponStats";
- type: "tuple";
- internalType: "struct WeaponStats";
- components: [
{
- name: "damage";
- type: "uint256";
- internalType: "uint256";
+ "name": "inventory",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
},
{
- name: "speed";
- type: "uint256";
- internalType: "uint256";
+ "name": "experience",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getMonsterStats",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct MonsterStats",
+ "components": [
+ {
+ "name": "hitPoints",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "classRestrictions";
- type: "uint8[]";
- internalType: "uint8[]";
+ "name": "armor",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "minLevel";
- type: "uint256";
- internalType: "uint256";
+ "name": "strength",
+ "type": "uint256",
+ "internalType": "uint256"
},
- ];
- },
- ];
- stateMutability: "view";
+ {
+ "name": "agility",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "intelligence",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "level",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "class",
+ "type": "uint8",
+ "internalType": "enum Classes"
+ },
+ {
+ "name": "inventory",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
+ {
+ "name": "experience",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getName",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "_name",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getNpcStats",
+ "inputs": [
+ {
+ "name": "mobId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct NPCStats",
+ "components": [
+ {
+ "name": "name",
+ "type": "string",
+ "internalType": "string"
+ },
+ {
+ "name": "storyPathIds",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
+ },
+ {
+ "name": "alignment",
+ "type": "uint8",
+ "internalType": "enum Alignment"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getNpcStats",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct NPCStats",
+ "components": [
+ {
+ "name": "name",
+ "type": "string",
+ "internalType": "string"
+ },
+ {
+ "name": "storyPathIds",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
+ },
+ {
+ "name": "alignment",
+ "type": "uint8",
+ "internalType": "enum Alignment"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getOwner",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getOwnerAddress",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "pure"
+ },
+ {
+ "type": "function",
+ "name": "UD__getPlayerEntityId",
+ "inputs": [
+ {
+ "name": "characterTokenId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getPythProvider",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "_provider",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getSpawnCounter",
+ "inputs": [
+ {
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "pure"
+ },
+ {
+ "type": "function",
+ "name": "UD__getStats",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "tuple",
+ "internalType": "struct StatsData",
+ "components": [
+ {
+ "name": "strength",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "agility",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "intelligence",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "maxHitPoints",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "currentDamage",
+ "type": "int256",
+ "internalType": "int256"
+ },
+ {
+ "name": "experience",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "level",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "armor",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getTotalSupply",
+ "inputs": [
+ {
+ "name": "tokenId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "_supply",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getWeaponStats",
+ "inputs": [
+ {
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "_weaponStats",
+ "type": "tuple",
+ "internalType": "struct WeaponStats",
+ "components": [
+ {
+ "name": "minDamage",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "maxDamage",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "classRestrictions",
+ "type": "uint8[]",
+ "internalType": "uint8[]"
+ },
+ {
+ "name": "minLevel",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "UD__isEquipped";
- inputs: [
+ "type": "function",
+ "name": "UD__isEquipped",
+ "inputs": [
{
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "itemId";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
{
- name: "_isEquipped";
- type: "bool";
- internalType: "bool";
- },
- ];
- stateMutability: "view";
+ "name": "_isEquipped",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "UD__issueStarterItems";
- inputs: [
+ "type": "function",
+ "name": "UD__issueStarterItems",
+ "inputs": [
{
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__mintCharacter";
- inputs: [
+ "type": "function",
+ "name": "UD__mintCharacter",
+ "inputs": [
{
- name: "account";
- type: "address";
- internalType: "address";
+ "name": "account",
+ "type": "address",
+ "internalType": "address"
},
{
- name: "name";
- type: "bytes32";
- internalType: "bytes32";
+ "name": "name",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "tokenUri";
- type: "string";
- internalType: "string";
- },
- ];
- outputs: [
- {
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- stateMutability: "nonpayable";
- },
- {
- type: "function";
- name: "UD__move";
- inputs: [
+ "name": "tokenUri",
+ "type": "string",
+ "internalType": "string"
+ }
+ ],
+ "outputs": [
{
- name: "characterId";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__move";
- inputs: [
+ "type": "function",
+ "name": "UD__move",
+ "inputs": [
{
- name: "characterId";
- type: "uint256";
- internalType: "uint256";
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "x";
- type: "uint32";
- internalType: "uint32";
+ "name": "x",
+ "type": "uint16",
+ "internalType": "uint16"
},
{
- name: "y";
- type: "uint32";
- internalType: "uint32";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "y",
+ "type": "uint16",
+ "internalType": "uint16"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__rollStats";
- inputs: [
+ "type": "function",
+ "name": "UD__rollStats",
+ "inputs": [
{
- name: "userRandomNumber";
- type: "bytes32";
- internalType: "bytes32";
+ "name": "userRandomNumber",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "class";
- type: "uint8";
- internalType: "enum Classes";
- },
- ];
- outputs: [];
- stateMutability: "payable";
+ "name": "class",
+ "type": "uint8",
+ "internalType": "enum Classes"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "payable"
},
{
- type: "function";
- name: "UD__setStarterItems";
- inputs: [
+ "type": "function",
+ "name": "UD__setStarterItems",
+ "inputs": [
{
- name: "class";
- type: "uint8";
- internalType: "enum Classes";
+ "name": "class",
+ "type": "uint8",
+ "internalType": "enum Classes"
},
{
- name: "itemIds";
- type: "uint256[]";
- internalType: "uint256[]";
+ "name": "itemIds",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
},
{
- name: "amounts";
- type: "uint256[]";
- internalType: "uint256[]";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "amounts",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__setTokenUri";
- inputs: [
+ "type": "function",
+ "name": "UD__setTokenUri",
+ "inputs": [
{
- name: "tokenId";
- type: "uint256";
- internalType: "uint256";
+ "name": "tokenId",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "tokenUri";
- type: "string";
- internalType: "string";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "tokenUri",
+ "type": "string",
+ "internalType": "string"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__spawn";
- inputs: [
+ "type": "function",
+ "name": "UD__spawn",
+ "inputs": [
{
- name: "characterId";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__unequipItem";
- inputs: [
+ "type": "function",
+ "name": "UD__spawnMob",
+ "inputs": [
{
- name: "characterId";
- type: "uint256";
- internalType: "uint256";
+ "name": "mobId",
+ "type": "uint256",
+ "internalType": "uint256"
},
- ];
- outputs: [];
- stateMutability: "nonpayable";
- },
- {
- type: "function";
- name: "UD__spawnMob";
- inputs: [
{
- name: "mobId";
- type: "uint256";
- internalType: "uint256";
+ "name": "x",
+ "type": "uint16",
+ "internalType": "uint16"
},
{
- name: "positionData";
- type: "tuple";
- internalType: "struct PositionData";
- components: [
- {
- name: "x";
- type: "uint16";
- internalType: "uint16";
- },
- {
- name: "y";
- type: "uint16";
- internalType: "uint16";
- },
- ];
- },
- ];
- outputs: [
+ "name": "y",
+ "type": "uint16",
+ "internalType": "uint16"
+ }
+ ],
+ "outputs": [
{
- name: "entityId";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- stateMutability: "nonpayable";
+ "name": "entityId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "UD__unequipItem";
- inputs: [
+ "type": "function",
+ "name": "UD__unequipItem",
+ "inputs": [
{
- name: "characterId";
- type: "bytes32";
- internalType: "bytes32";
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
- name: "itemId";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
{
- name: "success";
- type: "bool";
- internalType: "bool";
- },
- ];
- stateMutability: "nonpayable";
+ "name": "success",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "batchCall";
- inputs: [
+ "type": "function",
+ "name": "batchCall",
+ "inputs": [
{
- name: "systemCalls";
- type: "tuple[]";
- internalType: "struct SystemCallData[]";
- components: [
+ "name": "systemCalls",
+ "type": "tuple[]",
+ "internalType": "struct SystemCallData[]",
+ "components": [
{
- name: "systemId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "systemId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "callData";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- },
- ];
- outputs: [
- {
- name: "returnDatas";
- type: "bytes[]";
- internalType: "bytes[]";
- },
- ];
- stateMutability: "nonpayable";
- },
- {
- type: "function";
- name: "batchCallFrom";
- inputs: [
- {
- name: "systemCalls";
- type: "tuple[]";
- internalType: "struct SystemCallFromData[]";
- components: [
+ "name": "callData",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ]
+ }
+ ],
+ "outputs": [
+ {
+ "name": "returnDatas",
+ "type": "bytes[]",
+ "internalType": "bytes[]"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "batchCallFrom",
+ "inputs": [
+ {
+ "name": "systemCalls",
+ "type": "tuple[]",
+ "internalType": "struct SystemCallFromData[]",
+ "components": [
{
- name: "from";
- type: "address";
- internalType: "address";
+ "name": "from",
+ "type": "address",
+ "internalType": "address"
},
{
- name: "systemId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "systemId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "callData";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- },
- ];
- outputs: [
+ "name": "callData",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ]
+ }
+ ],
+ "outputs": [
{
- name: "returnDatas";
- type: "bytes[]";
- internalType: "bytes[]";
- },
- ];
- stateMutability: "nonpayable";
+ "name": "returnDatas",
+ "type": "bytes[]",
+ "internalType": "bytes[]"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "call";
- inputs: [
+ "type": "function",
+ "name": "call",
+ "inputs": [
{
- name: "systemId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "systemId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "callData";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [
+ "name": "callData",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [
{
- name: "";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- stateMutability: "payable";
+ "name": "",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "stateMutability": "payable"
},
{
- type: "function";
- name: "callFrom";
- inputs: [
+ "type": "function",
+ "name": "callFrom",
+ "inputs": [
{
- name: "delegator";
- type: "address";
- internalType: "address";
+ "name": "delegator",
+ "type": "address",
+ "internalType": "address"
},
{
- name: "systemId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "systemId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "callData";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [
+ "name": "callData",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [
{
- name: "";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- stateMutability: "payable";
+ "name": "",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "stateMutability": "payable"
},
{
- type: "function";
- name: "creator";
- inputs: [];
- outputs: [
+ "type": "function",
+ "name": "creator",
+ "inputs": [],
+ "outputs": [
{
- name: "";
- type: "address";
- internalType: "address";
- },
- ];
- stateMutability: "view";
+ "name": "",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "deleteRecord";
- inputs: [
+ "type": "function",
+ "name": "deleteRecord",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "getDynamicField";
- inputs: [
+ "type": "function",
+ "name": "getDynamicField",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "dynamicFieldIndex";
- type: "uint8";
- internalType: "uint8";
- },
- ];
- outputs: [
+ "name": "dynamicFieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
+ }
+ ],
+ "outputs": [
{
- name: "";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- stateMutability: "view";
+ "name": "",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getDynamicFieldLength";
- inputs: [
+ "type": "function",
+ "name": "getDynamicFieldLength",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "dynamicFieldIndex";
- type: "uint8";
- internalType: "uint8";
- },
- ];
- outputs: [
+ "name": "dynamicFieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
+ }
+ ],
+ "outputs": [
{
- name: "";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- stateMutability: "view";
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getDynamicFieldSlice";
- inputs: [
+ "type": "function",
+ "name": "getDynamicFieldSlice",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "dynamicFieldIndex";
- type: "uint8";
- internalType: "uint8";
+ "name": "dynamicFieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
},
{
- name: "start";
- type: "uint256";
- internalType: "uint256";
+ "name": "start",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "end";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [
+ "name": "end",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
{
- name: "data";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- stateMutability: "view";
+ "name": "data",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getField";
- inputs: [
+ "type": "function",
+ "name": "getField",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "fieldIndex";
- type: "uint8";
- internalType: "uint8";
+ "name": "fieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
},
{
- name: "fieldLayout";
- type: "bytes32";
- internalType: "FieldLayout";
- },
- ];
- outputs: [
+ "name": "fieldLayout",
+ "type": "bytes32",
+ "internalType": "FieldLayout"
+ }
+ ],
+ "outputs": [
{
- name: "data";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- stateMutability: "view";
+ "name": "data",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getField";
- inputs: [
+ "type": "function",
+ "name": "getField",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "fieldIndex";
- type: "uint8";
- internalType: "uint8";
- },
- ];
- outputs: [
+ "name": "fieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
+ }
+ ],
+ "outputs": [
{
- name: "data";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- stateMutability: "view";
+ "name": "data",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getFieldLayout";
- inputs: [
+ "type": "function",
+ "name": "getFieldLayout",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
- },
- ];
- outputs: [
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
+ }
+ ],
+ "outputs": [
{
- name: "fieldLayout";
- type: "bytes32";
- internalType: "FieldLayout";
- },
- ];
- stateMutability: "view";
+ "name": "fieldLayout",
+ "type": "bytes32",
+ "internalType": "FieldLayout"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getFieldLength";
- inputs: [
+ "type": "function",
+ "name": "getFieldLength",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "fieldIndex";
- type: "uint8";
- internalType: "uint8";
+ "name": "fieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
},
{
- name: "fieldLayout";
- type: "bytes32";
- internalType: "FieldLayout";
- },
- ];
- outputs: [
+ "name": "fieldLayout",
+ "type": "bytes32",
+ "internalType": "FieldLayout"
+ }
+ ],
+ "outputs": [
{
- name: "";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- stateMutability: "view";
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getFieldLength";
- inputs: [
+ "type": "function",
+ "name": "getFieldLength",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "fieldIndex";
- type: "uint8";
- internalType: "uint8";
- },
- ];
- outputs: [
+ "name": "fieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
+ }
+ ],
+ "outputs": [
{
- name: "";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- stateMutability: "view";
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getKeySchema";
- inputs: [
+ "type": "function",
+ "name": "getKeySchema",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
- },
- ];
- outputs: [
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
+ }
+ ],
+ "outputs": [
{
- name: "keySchema";
- type: "bytes32";
- internalType: "Schema";
- },
- ];
- stateMutability: "view";
+ "name": "keySchema",
+ "type": "bytes32",
+ "internalType": "Schema"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getRecord";
- inputs: [
+ "type": "function",
+ "name": "getRecord",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "fieldLayout";
- type: "bytes32";
- internalType: "FieldLayout";
- },
- ];
- outputs: [
+ "name": "fieldLayout",
+ "type": "bytes32",
+ "internalType": "FieldLayout"
+ }
+ ],
+ "outputs": [
{
- name: "staticData";
- type: "bytes";
- internalType: "bytes";
+ "name": "staticData",
+ "type": "bytes",
+ "internalType": "bytes"
},
{
- name: "encodedLengths";
- type: "bytes32";
- internalType: "EncodedLengths";
+ "name": "encodedLengths",
+ "type": "bytes32",
+ "internalType": "EncodedLengths"
},
{
- name: "dynamicData";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- stateMutability: "view";
+ "name": "dynamicData",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getRecord";
- inputs: [
+ "type": "function",
+ "name": "getRecord",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
- },
- ];
- outputs: [
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
+ }
+ ],
+ "outputs": [
{
- name: "staticData";
- type: "bytes";
- internalType: "bytes";
+ "name": "staticData",
+ "type": "bytes",
+ "internalType": "bytes"
},
{
- name: "encodedLengths";
- type: "bytes32";
- internalType: "EncodedLengths";
+ "name": "encodedLengths",
+ "type": "bytes32",
+ "internalType": "EncodedLengths"
},
{
- name: "dynamicData";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- stateMutability: "view";
+ "name": "dynamicData",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getStaticField";
- inputs: [
+ "type": "function",
+ "name": "getStaticField",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "fieldIndex";
- type: "uint8";
- internalType: "uint8";
+ "name": "fieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
},
{
- name: "fieldLayout";
- type: "bytes32";
- internalType: "FieldLayout";
- },
- ];
- outputs: [
+ "name": "fieldLayout",
+ "type": "bytes32",
+ "internalType": "FieldLayout"
+ }
+ ],
+ "outputs": [
{
- name: "";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- stateMutability: "view";
+ "name": "",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "getValueSchema";
- inputs: [
+ "type": "function",
+ "name": "getValueSchema",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
- },
- ];
- outputs: [
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
+ }
+ ],
+ "outputs": [
{
- name: "valueSchema";
- type: "bytes32";
- internalType: "Schema";
- },
- ];
- stateMutability: "view";
+ "name": "valueSchema",
+ "type": "bytes32",
+ "internalType": "Schema"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "grantAccess";
- inputs: [
+ "type": "function",
+ "name": "grantAccess",
+ "inputs": [
{
- name: "resourceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "resourceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "grantee";
- type: "address";
- internalType: "address";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "grantee",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "initialize";
- inputs: [
+ "type": "function",
+ "name": "initialize",
+ "inputs": [
{
- name: "initModule";
- type: "address";
- internalType: "contract IModule";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "initModule",
+ "type": "address",
+ "internalType": "contract IModule"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "installModule";
- inputs: [
+ "type": "function",
+ "name": "installModule",
+ "inputs": [
{
- name: "module";
- type: "address";
- internalType: "contract IModule";
+ "name": "module",
+ "type": "address",
+ "internalType": "contract IModule"
},
{
- name: "encodedArgs";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "encodedArgs",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "installRootModule";
- inputs: [
+ "type": "function",
+ "name": "installRootModule",
+ "inputs": [
{
- name: "module";
- type: "address";
- internalType: "contract IModule";
+ "name": "module",
+ "type": "address",
+ "internalType": "contract IModule"
},
{
- name: "encodedArgs";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "encodedArgs",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "popFromDynamicField";
- inputs: [
+ "type": "function",
+ "name": "popFromDynamicField",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "dynamicFieldIndex";
- type: "uint8";
- internalType: "uint8";
+ "name": "dynamicFieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
},
{
- name: "byteLengthToPop";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "byteLengthToPop",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "pushToDynamicField";
- inputs: [
+ "type": "function",
+ "name": "pushToDynamicField",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "dynamicFieldIndex";
- type: "uint8";
- internalType: "uint8";
+ "name": "dynamicFieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
},
{
- name: "dataToPush";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "dataToPush",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "registerDelegation";
- inputs: [
+ "type": "function",
+ "name": "registerDelegation",
+ "inputs": [
{
- name: "delegatee";
- type: "address";
- internalType: "address";
+ "name": "delegatee",
+ "type": "address",
+ "internalType": "address"
},
{
- name: "delegationControlId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "delegationControlId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "initCallData";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "initCallData",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "registerFunctionSelector";
- inputs: [
+ "type": "function",
+ "name": "registerFunctionSelector",
+ "inputs": [
{
- name: "systemId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "systemId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "systemFunctionSignature";
- type: "string";
- internalType: "string";
- },
- ];
- outputs: [
+ "name": "systemFunctionSignature",
+ "type": "string",
+ "internalType": "string"
+ }
+ ],
+ "outputs": [
{
- name: "worldFunctionSelector";
- type: "bytes4";
- internalType: "bytes4";
- },
- ];
- stateMutability: "nonpayable";
+ "name": "worldFunctionSelector",
+ "type": "bytes4",
+ "internalType": "bytes4"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "registerNamespace";
- inputs: [
+ "type": "function",
+ "name": "registerNamespace",
+ "inputs": [
{
- name: "namespaceId";
- type: "bytes32";
- internalType: "ResourceId";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "namespaceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "registerNamespaceDelegation";
- inputs: [
+ "type": "function",
+ "name": "registerNamespaceDelegation",
+ "inputs": [
{
- name: "namespaceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "namespaceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "delegationControlId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "delegationControlId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "initCallData";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "initCallData",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "registerRootFunctionSelector";
- inputs: [
+ "type": "function",
+ "name": "registerRootFunctionSelector",
+ "inputs": [
{
- name: "systemId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "systemId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "worldFunctionSignature";
- type: "string";
- internalType: "string";
+ "name": "worldFunctionSignature",
+ "type": "string",
+ "internalType": "string"
},
{
- name: "systemFunctionSignature";
- type: "string";
- internalType: "string";
- },
- ];
- outputs: [
+ "name": "systemFunctionSignature",
+ "type": "string",
+ "internalType": "string"
+ }
+ ],
+ "outputs": [
{
- name: "worldFunctionSelector";
- type: "bytes4";
- internalType: "bytes4";
- },
- ];
- stateMutability: "nonpayable";
+ "name": "worldFunctionSelector",
+ "type": "bytes4",
+ "internalType": "bytes4"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "registerStoreHook";
- inputs: [
+ "type": "function",
+ "name": "registerStoreHook",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "hookAddress";
- type: "address";
- internalType: "contract IStoreHook";
+ "name": "hookAddress",
+ "type": "address",
+ "internalType": "contract IStoreHook"
},
{
- name: "enabledHooksBitmap";
- type: "uint8";
- internalType: "uint8";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "enabledHooksBitmap",
+ "type": "uint8",
+ "internalType": "uint8"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "registerSystem";
- inputs: [
+ "type": "function",
+ "name": "registerSystem",
+ "inputs": [
{
- name: "systemId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "systemId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "system";
- type: "address";
- internalType: "contract System";
+ "name": "system",
+ "type": "address",
+ "internalType": "contract System"
},
{
- name: "publicAccess";
- type: "bool";
- internalType: "bool";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "publicAccess",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "registerSystemHook";
- inputs: [
+ "type": "function",
+ "name": "registerSystemHook",
+ "inputs": [
{
- name: "systemId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "systemId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "hookAddress";
- type: "address";
- internalType: "contract ISystemHook";
+ "name": "hookAddress",
+ "type": "address",
+ "internalType": "contract ISystemHook"
},
{
- name: "enabledHooksBitmap";
- type: "uint8";
- internalType: "uint8";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "enabledHooksBitmap",
+ "type": "uint8",
+ "internalType": "uint8"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "registerTable";
- inputs: [
+ "type": "function",
+ "name": "registerTable",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "fieldLayout";
- type: "bytes32";
- internalType: "FieldLayout";
+ "name": "fieldLayout",
+ "type": "bytes32",
+ "internalType": "FieldLayout"
},
{
- name: "keySchema";
- type: "bytes32";
- internalType: "Schema";
+ "name": "keySchema",
+ "type": "bytes32",
+ "internalType": "Schema"
},
{
- name: "valueSchema";
- type: "bytes32";
- internalType: "Schema";
+ "name": "valueSchema",
+ "type": "bytes32",
+ "internalType": "Schema"
},
{
- name: "keyNames";
- type: "string[]";
- internalType: "string[]";
+ "name": "keyNames",
+ "type": "string[]",
+ "internalType": "string[]"
},
{
- name: "fieldNames";
- type: "string[]";
- internalType: "string[]";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "fieldNames",
+ "type": "string[]",
+ "internalType": "string[]"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "renounceOwnership";
- inputs: [
+ "type": "function",
+ "name": "renounceOwnership",
+ "inputs": [
{
- name: "namespaceId";
- type: "bytes32";
- internalType: "ResourceId";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "namespaceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "revokeAccess";
- inputs: [
+ "type": "function",
+ "name": "revokeAccess",
+ "inputs": [
{
- name: "resourceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "resourceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "grantee";
- type: "address";
- internalType: "address";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "grantee",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "setDynamicField";
- inputs: [
+ "type": "function",
+ "name": "setDynamicField",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "dynamicFieldIndex";
- type: "uint8";
- internalType: "uint8";
+ "name": "dynamicFieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
},
{
- name: "data";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "data",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "setField";
- inputs: [
+ "type": "function",
+ "name": "setField",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "fieldIndex";
- type: "uint8";
- internalType: "uint8";
+ "name": "fieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
},
{
- name: "data";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "data",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "setField";
- inputs: [
+ "type": "function",
+ "name": "setField",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "fieldIndex";
- type: "uint8";
- internalType: "uint8";
+ "name": "fieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
},
{
- name: "data";
- type: "bytes";
- internalType: "bytes";
+ "name": "data",
+ "type": "bytes",
+ "internalType": "bytes"
},
{
- name: "fieldLayout";
- type: "bytes32";
- internalType: "FieldLayout";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "fieldLayout",
+ "type": "bytes32",
+ "internalType": "FieldLayout"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "setRecord";
- inputs: [
+ "type": "function",
+ "name": "setRecord",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "staticData";
- type: "bytes";
- internalType: "bytes";
+ "name": "staticData",
+ "type": "bytes",
+ "internalType": "bytes"
},
{
- name: "encodedLengths";
- type: "bytes32";
- internalType: "EncodedLengths";
+ "name": "encodedLengths",
+ "type": "bytes32",
+ "internalType": "EncodedLengths"
},
{
- name: "dynamicData";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "dynamicData",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "setStaticField";
- inputs: [
+ "type": "function",
+ "name": "setStaticField",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "fieldIndex";
- type: "uint8";
- internalType: "uint8";
+ "name": "fieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
},
{
- name: "data";
- type: "bytes";
- internalType: "bytes";
+ "name": "data",
+ "type": "bytes",
+ "internalType": "bytes"
},
{
- name: "fieldLayout";
- type: "bytes32";
- internalType: "FieldLayout";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "fieldLayout",
+ "type": "bytes32",
+ "internalType": "FieldLayout"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "spliceDynamicData";
- inputs: [
+ "type": "function",
+ "name": "spliceDynamicData",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "dynamicFieldIndex";
- type: "uint8";
- internalType: "uint8";
+ "name": "dynamicFieldIndex",
+ "type": "uint8",
+ "internalType": "uint8"
},
{
- name: "startWithinField";
- type: "uint40";
- internalType: "uint40";
+ "name": "startWithinField",
+ "type": "uint40",
+ "internalType": "uint40"
},
{
- name: "deleteCount";
- type: "uint40";
- internalType: "uint40";
+ "name": "deleteCount",
+ "type": "uint40",
+ "internalType": "uint40"
},
{
- name: "data";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "data",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "spliceStaticData";
- inputs: [
+ "type": "function",
+ "name": "spliceStaticData",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
},
{
- name: "start";
- type: "uint48";
- internalType: "uint48";
+ "name": "start",
+ "type": "uint48",
+ "internalType": "uint48"
},
{
- name: "data";
- type: "bytes";
- internalType: "bytes";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "data",
+ "type": "bytes",
+ "internalType": "bytes"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "storeVersion";
- inputs: [];
- outputs: [
+ "type": "function",
+ "name": "storeVersion",
+ "inputs": [],
+ "outputs": [
{
- name: "version";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- stateMutability: "view";
+ "name": "version",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "function";
- name: "transferBalanceToAddress";
- inputs: [
+ "type": "function",
+ "name": "transferBalanceToAddress",
+ "inputs": [
{
- name: "fromNamespaceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "fromNamespaceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "toAddress";
- type: "address";
- internalType: "address";
+ "name": "toAddress",
+ "type": "address",
+ "internalType": "address"
},
{
- name: "amount";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "transferBalanceToNamespace";
- inputs: [
+ "type": "function",
+ "name": "transferBalanceToNamespace",
+ "inputs": [
{
- name: "fromNamespaceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "fromNamespaceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "toNamespaceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "toNamespaceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "amount";
- type: "uint256";
- internalType: "uint256";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "transferOwnership";
- inputs: [
+ "type": "function",
+ "name": "transferOwnership",
+ "inputs": [
{
- name: "namespaceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "namespaceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "newOwner";
- type: "address";
- internalType: "address";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "newOwner",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "unregisterDelegation";
- inputs: [
+ "type": "function",
+ "name": "unregisterDelegation",
+ "inputs": [
{
- name: "delegatee";
- type: "address";
- internalType: "address";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "delegatee",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "unregisterNamespaceDelegation";
- inputs: [
+ "type": "function",
+ "name": "unregisterNamespaceDelegation",
+ "inputs": [
{
- name: "namespaceId";
- type: "bytes32";
- internalType: "ResourceId";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "namespaceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "unregisterStoreHook";
- inputs: [
+ "type": "function",
+ "name": "unregisterStoreHook",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "hookAddress";
- type: "address";
- internalType: "contract IStoreHook";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "hookAddress",
+ "type": "address",
+ "internalType": "contract IStoreHook"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "unregisterSystemHook";
- inputs: [
+ "type": "function",
+ "name": "unregisterSystemHook",
+ "inputs": [
{
- name: "systemId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "systemId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "hookAddress";
- type: "address";
- internalType: "contract ISystemHook";
- },
- ];
- outputs: [];
- stateMutability: "nonpayable";
+ "name": "hookAddress",
+ "type": "address",
+ "internalType": "contract ISystemHook"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
},
{
- type: "function";
- name: "worldVersion";
- inputs: [];
- outputs: [
+ "type": "function",
+ "name": "worldVersion",
+ "inputs": [],
+ "outputs": [
{
- name: "";
- type: "bytes32";
- internalType: "bytes32";
- },
- ];
- stateMutability: "view";
+ "name": "",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "stateMutability": "view"
},
{
- type: "event";
- name: "HelloStore";
- inputs: [
+ "type": "event",
+ "name": "HelloStore",
+ "inputs": [
{
- name: "storeVersion";
- type: "bytes32";
- indexed: true;
- internalType: "bytes32";
- },
- ];
- anonymous: false;
+ "name": "storeVersion",
+ "type": "bytes32",
+ "indexed": true,
+ "internalType": "bytes32"
+ }
+ ],
+ "anonymous": false
},
{
- type: "event";
- name: "HelloWorld";
- inputs: [
+ "type": "event",
+ "name": "HelloWorld",
+ "inputs": [
{
- name: "worldVersion";
- type: "bytes32";
- indexed: true;
- internalType: "bytes32";
- },
- ];
- anonymous: false;
+ "name": "worldVersion",
+ "type": "bytes32",
+ "indexed": true,
+ "internalType": "bytes32"
+ }
+ ],
+ "anonymous": false
},
{
- type: "event";
- name: "Store_DeleteRecord";
- inputs: [
+ "type": "event",
+ "name": "Store_DeleteRecord",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- indexed: true;
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "indexed": true,
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- indexed: false;
- internalType: "bytes32[]";
- },
- ];
- anonymous: false;
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "indexed": false,
+ "internalType": "bytes32[]"
+ }
+ ],
+ "anonymous": false
},
{
- type: "event";
- name: "Store_SetRecord";
- inputs: [
+ "type": "event",
+ "name": "Store_SetRecord",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- indexed: true;
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "indexed": true,
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- indexed: false;
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "indexed": false,
+ "internalType": "bytes32[]"
},
{
- name: "staticData";
- type: "bytes";
- indexed: false;
- internalType: "bytes";
+ "name": "staticData",
+ "type": "bytes",
+ "indexed": false,
+ "internalType": "bytes"
},
{
- name: "encodedLengths";
- type: "bytes32";
- indexed: false;
- internalType: "EncodedLengths";
+ "name": "encodedLengths",
+ "type": "bytes32",
+ "indexed": false,
+ "internalType": "EncodedLengths"
},
{
- name: "dynamicData";
- type: "bytes";
- indexed: false;
- internalType: "bytes";
- },
- ];
- anonymous: false;
+ "name": "dynamicData",
+ "type": "bytes",
+ "indexed": false,
+ "internalType": "bytes"
+ }
+ ],
+ "anonymous": false
},
{
- type: "event";
- name: "Store_SpliceDynamicData";
- inputs: [
+ "type": "event",
+ "name": "Store_SpliceDynamicData",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- indexed: true;
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "indexed": true,
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- indexed: false;
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "indexed": false,
+ "internalType": "bytes32[]"
},
{
- name: "dynamicFieldIndex";
- type: "uint8";
- indexed: false;
- internalType: "uint8";
+ "name": "dynamicFieldIndex",
+ "type": "uint8",
+ "indexed": false,
+ "internalType": "uint8"
},
{
- name: "start";
- type: "uint48";
- indexed: false;
- internalType: "uint48";
+ "name": "start",
+ "type": "uint48",
+ "indexed": false,
+ "internalType": "uint48"
},
{
- name: "deleteCount";
- type: "uint40";
- indexed: false;
- internalType: "uint40";
+ "name": "deleteCount",
+ "type": "uint40",
+ "indexed": false,
+ "internalType": "uint40"
},
{
- name: "encodedLengths";
- type: "bytes32";
- indexed: false;
- internalType: "EncodedLengths";
+ "name": "encodedLengths",
+ "type": "bytes32",
+ "indexed": false,
+ "internalType": "EncodedLengths"
},
{
- name: "data";
- type: "bytes";
- indexed: false;
- internalType: "bytes";
- },
- ];
- anonymous: false;
+ "name": "data",
+ "type": "bytes",
+ "indexed": false,
+ "internalType": "bytes"
+ }
+ ],
+ "anonymous": false
},
{
- type: "event";
- name: "Store_SpliceStaticData";
- inputs: [
+ "type": "event",
+ "name": "Store_SpliceStaticData",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- indexed: true;
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "indexed": true,
+ "internalType": "ResourceId"
},
{
- name: "keyTuple";
- type: "bytes32[]";
- indexed: false;
- internalType: "bytes32[]";
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "indexed": false,
+ "internalType": "bytes32[]"
},
{
- name: "start";
- type: "uint48";
- indexed: false;
- internalType: "uint48";
+ "name": "start",
+ "type": "uint48",
+ "indexed": false,
+ "internalType": "uint48"
},
{
- name: "data";
- type: "bytes";
- indexed: false;
- internalType: "bytes";
- },
- ];
- anonymous: false;
+ "name": "data",
+ "type": "bytes",
+ "indexed": false,
+ "internalType": "bytes"
+ }
+ ],
+ "anonymous": false
},
{
- type: "error";
- name: "EncodedLengths_InvalidLength";
- inputs: [
+ "type": "error",
+ "name": "EncodedLengths_InvalidLength",
+ "inputs": [
{
- name: "length";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "length",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "FieldLayout_Empty";
- inputs: [];
+ "type": "error",
+ "name": "FieldLayout_Empty",
+ "inputs": []
},
{
- type: "error";
- name: "FieldLayout_InvalidStaticDataLength";
- inputs: [
+ "type": "error",
+ "name": "FieldLayout_InvalidStaticDataLength",
+ "inputs": [
{
- name: "staticDataLength";
- type: "uint256";
- internalType: "uint256";
+ "name": "staticDataLength",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "computedStaticDataLength";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "computedStaticDataLength",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "FieldLayout_StaticLengthDoesNotFitInAWord";
- inputs: [
+ "type": "error",
+ "name": "FieldLayout_StaticLengthDoesNotFitInAWord",
+ "inputs": [
{
- name: "index";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "index",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "FieldLayout_StaticLengthIsNotZero";
- inputs: [
+ "type": "error",
+ "name": "FieldLayout_StaticLengthIsNotZero",
+ "inputs": [
{
- name: "index";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "index",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "FieldLayout_StaticLengthIsZero";
- inputs: [
+ "type": "error",
+ "name": "FieldLayout_StaticLengthIsZero",
+ "inputs": [
{
- name: "index";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "index",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "FieldLayout_TooManyDynamicFields";
- inputs: [
+ "type": "error",
+ "name": "FieldLayout_TooManyDynamicFields",
+ "inputs": [
{
- name: "numFields";
- type: "uint256";
- internalType: "uint256";
+ "name": "numFields",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "maxFields";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "maxFields",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "FieldLayout_TooManyFields";
- inputs: [
+ "type": "error",
+ "name": "FieldLayout_TooManyFields",
+ "inputs": [
{
- name: "numFields";
- type: "uint256";
- internalType: "uint256";
+ "name": "numFields",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "maxFields";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "maxFields",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "Module_AlreadyInstalled";
- inputs: [];
+ "type": "error",
+ "name": "Module_AlreadyInstalled",
+ "inputs": []
},
{
- type: "error";
- name: "Module_MissingDependency";
- inputs: [
+ "type": "error",
+ "name": "Module_MissingDependency",
+ "inputs": [
{
- name: "dependency";
- type: "address";
- internalType: "address";
- },
- ];
+ "name": "dependency",
+ "type": "address",
+ "internalType": "address"
+ }
+ ]
},
{
- type: "error";
- name: "Module_NonRootInstallNotSupported";
- inputs: [];
+ "type": "error",
+ "name": "Module_NonRootInstallNotSupported",
+ "inputs": []
},
{
- type: "error";
- name: "Module_RootInstallNotSupported";
- inputs: [];
+ "type": "error",
+ "name": "Module_RootInstallNotSupported",
+ "inputs": []
},
{
- type: "error";
- name: "Schema_InvalidLength";
- inputs: [
+ "type": "error",
+ "name": "Schema_InvalidLength",
+ "inputs": [
{
- name: "length";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "length",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "Schema_StaticTypeAfterDynamicType";
- inputs: [];
+ "type": "error",
+ "name": "Schema_StaticTypeAfterDynamicType",
+ "inputs": []
},
{
- type: "error";
- name: "Slice_OutOfBounds";
- inputs: [
+ "type": "error",
+ "name": "Slice_OutOfBounds",
+ "inputs": [
{
- name: "data";
- type: "bytes";
- internalType: "bytes";
+ "name": "data",
+ "type": "bytes",
+ "internalType": "bytes"
},
{
- name: "start";
- type: "uint256";
- internalType: "uint256";
+ "name": "start",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "end";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "end",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "Store_IndexOutOfBounds";
- inputs: [
+ "type": "error",
+ "name": "Store_IndexOutOfBounds",
+ "inputs": [
{
- name: "length";
- type: "uint256";
- internalType: "uint256";
+ "name": "length",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "accessedIndex";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "accessedIndex",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "Store_InvalidBounds";
- inputs: [
+ "type": "error",
+ "name": "Store_InvalidBounds",
+ "inputs": [
{
- name: "start";
- type: "uint256";
- internalType: "uint256";
+ "name": "start",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "end";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "end",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "Store_InvalidFieldNamesLength";
- inputs: [
+ "type": "error",
+ "name": "Store_InvalidFieldNamesLength",
+ "inputs": [
{
- name: "expected";
- type: "uint256";
- internalType: "uint256";
+ "name": "expected",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "received";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "received",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "Store_InvalidKeyNamesLength";
- inputs: [
+ "type": "error",
+ "name": "Store_InvalidKeyNamesLength",
+ "inputs": [
{
- name: "expected";
- type: "uint256";
- internalType: "uint256";
+ "name": "expected",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "received";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "received",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "Store_InvalidResourceType";
- inputs: [
+ "type": "error",
+ "name": "Store_InvalidResourceType",
+ "inputs": [
{
- name: "expected";
- type: "bytes2";
- internalType: "bytes2";
+ "name": "expected",
+ "type": "bytes2",
+ "internalType": "bytes2"
},
{
- name: "resourceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "resourceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "resourceIdString";
- type: "string";
- internalType: "string";
- },
- ];
+ "name": "resourceIdString",
+ "type": "string",
+ "internalType": "string"
+ }
+ ]
},
{
- type: "error";
- name: "Store_InvalidSplice";
- inputs: [
+ "type": "error",
+ "name": "Store_InvalidSplice",
+ "inputs": [
{
- name: "startWithinField";
- type: "uint40";
- internalType: "uint40";
+ "name": "startWithinField",
+ "type": "uint40",
+ "internalType": "uint40"
},
{
- name: "deleteCount";
- type: "uint40";
- internalType: "uint40";
+ "name": "deleteCount",
+ "type": "uint40",
+ "internalType": "uint40"
},
{
- name: "fieldLength";
- type: "uint40";
- internalType: "uint40";
- },
- ];
+ "name": "fieldLength",
+ "type": "uint40",
+ "internalType": "uint40"
+ }
+ ]
},
{
- type: "error";
- name: "Store_InvalidStaticDataLength";
- inputs: [
+ "type": "error",
+ "name": "Store_InvalidStaticDataLength",
+ "inputs": [
{
- name: "expected";
- type: "uint256";
- internalType: "uint256";
+ "name": "expected",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "received";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "received",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "Store_InvalidValueSchemaDynamicLength";
- inputs: [
+ "type": "error",
+ "name": "Store_InvalidValueSchemaDynamicLength",
+ "inputs": [
{
- name: "expected";
- type: "uint256";
- internalType: "uint256";
+ "name": "expected",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "received";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "received",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "Store_InvalidValueSchemaLength";
- inputs: [
+ "type": "error",
+ "name": "Store_InvalidValueSchemaLength",
+ "inputs": [
{
- name: "expected";
- type: "uint256";
- internalType: "uint256";
+ "name": "expected",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "received";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "received",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "Store_InvalidValueSchemaStaticLength";
- inputs: [
+ "type": "error",
+ "name": "Store_InvalidValueSchemaStaticLength",
+ "inputs": [
{
- name: "expected";
- type: "uint256";
- internalType: "uint256";
+ "name": "expected",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "received";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "received",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "Store_TableAlreadyExists";
- inputs: [
+ "type": "error",
+ "name": "Store_TableAlreadyExists",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "tableIdString";
- type: "string";
- internalType: "string";
- },
- ];
+ "name": "tableIdString",
+ "type": "string",
+ "internalType": "string"
+ }
+ ]
},
{
- type: "error";
- name: "Store_TableNotFound";
- inputs: [
+ "type": "error",
+ "name": "Store_TableNotFound",
+ "inputs": [
{
- name: "tableId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "tableId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "tableIdString";
- type: "string";
- internalType: "string";
- },
- ];
+ "name": "tableIdString",
+ "type": "string",
+ "internalType": "string"
+ }
+ ]
},
{
- type: "error";
- name: "World_AccessDenied";
- inputs: [
+ "type": "error",
+ "name": "World_AccessDenied",
+ "inputs": [
{
- name: "resource";
- type: "string";
- internalType: "string";
+ "name": "resource",
+ "type": "string",
+ "internalType": "string"
},
{
- name: "caller";
- type: "address";
- internalType: "address";
- },
- ];
+ "name": "caller",
+ "type": "address",
+ "internalType": "address"
+ }
+ ]
},
{
- type: "error";
- name: "World_AlreadyInitialized";
- inputs: [];
+ "type": "error",
+ "name": "World_AlreadyInitialized",
+ "inputs": []
},
{
- type: "error";
- name: "World_CallbackNotAllowed";
- inputs: [
+ "type": "error",
+ "name": "World_CallbackNotAllowed",
+ "inputs": [
{
- name: "functionSelector";
- type: "bytes4";
- internalType: "bytes4";
- },
- ];
+ "name": "functionSelector",
+ "type": "bytes4",
+ "internalType": "bytes4"
+ }
+ ]
},
{
- type: "error";
- name: "World_DelegationNotFound";
- inputs: [
+ "type": "error",
+ "name": "World_DelegationNotFound",
+ "inputs": [
{
- name: "delegator";
- type: "address";
- internalType: "address";
+ "name": "delegator",
+ "type": "address",
+ "internalType": "address"
},
{
- name: "delegatee";
- type: "address";
- internalType: "address";
- },
- ];
+ "name": "delegatee",
+ "type": "address",
+ "internalType": "address"
+ }
+ ]
},
{
- type: "error";
- name: "World_FunctionSelectorAlreadyExists";
- inputs: [
+ "type": "error",
+ "name": "World_FunctionSelectorAlreadyExists",
+ "inputs": [
{
- name: "functionSelector";
- type: "bytes4";
- internalType: "bytes4";
- },
- ];
+ "name": "functionSelector",
+ "type": "bytes4",
+ "internalType": "bytes4"
+ }
+ ]
},
{
- type: "error";
- name: "World_FunctionSelectorNotFound";
- inputs: [
+ "type": "error",
+ "name": "World_FunctionSelectorNotFound",
+ "inputs": [
{
- name: "functionSelector";
- type: "bytes4";
- internalType: "bytes4";
- },
- ];
+ "name": "functionSelector",
+ "type": "bytes4",
+ "internalType": "bytes4"
+ }
+ ]
},
{
- type: "error";
- name: "World_InsufficientBalance";
- inputs: [
+ "type": "error",
+ "name": "World_InsufficientBalance",
+ "inputs": [
{
- name: "balance";
- type: "uint256";
- internalType: "uint256";
+ "name": "balance",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- name: "amount";
- type: "uint256";
- internalType: "uint256";
- },
- ];
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
- type: "error";
- name: "World_InterfaceNotSupported";
- inputs: [
+ "type": "error",
+ "name": "World_InterfaceNotSupported",
+ "inputs": [
{
- name: "contractAddress";
- type: "address";
- internalType: "address";
+ "name": "contractAddress",
+ "type": "address",
+ "internalType": "address"
},
{
- name: "interfaceId";
- type: "bytes4";
- internalType: "bytes4";
- },
- ];
+ "name": "interfaceId",
+ "type": "bytes4",
+ "internalType": "bytes4"
+ }
+ ]
},
{
- type: "error";
- name: "World_InvalidNamespace";
- inputs: [
+ "type": "error",
+ "name": "World_InvalidNamespace",
+ "inputs": [
{
- name: "namespace";
- type: "bytes14";
- internalType: "bytes14";
- },
- ];
+ "name": "namespace",
+ "type": "bytes14",
+ "internalType": "bytes14"
+ }
+ ]
},
{
- type: "error";
- name: "World_InvalidResourceId";
- inputs: [
+ "type": "error",
+ "name": "World_InvalidResourceId",
+ "inputs": [
{
- name: "resourceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "resourceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "resourceIdString";
- type: "string";
- internalType: "string";
- },
- ];
+ "name": "resourceIdString",
+ "type": "string",
+ "internalType": "string"
+ }
+ ]
},
{
- type: "error";
- name: "World_InvalidResourceType";
- inputs: [
+ "type": "error",
+ "name": "World_InvalidResourceType",
+ "inputs": [
{
- name: "expected";
- type: "bytes2";
- internalType: "bytes2";
+ "name": "expected",
+ "type": "bytes2",
+ "internalType": "bytes2"
},
{
- name: "resourceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "resourceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "resourceIdString";
- type: "string";
- internalType: "string";
- },
- ];
+ "name": "resourceIdString",
+ "type": "string",
+ "internalType": "string"
+ }
+ ]
},
{
- type: "error";
- name: "World_ResourceAlreadyExists";
- inputs: [
+ "type": "error",
+ "name": "World_ResourceAlreadyExists",
+ "inputs": [
{
- name: "resourceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "resourceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "resourceIdString";
- type: "string";
- internalType: "string";
- },
- ];
+ "name": "resourceIdString",
+ "type": "string",
+ "internalType": "string"
+ }
+ ]
},
{
- type: "error";
- name: "World_ResourceNotFound";
- inputs: [
+ "type": "error",
+ "name": "World_ResourceNotFound",
+ "inputs": [
{
- name: "resourceId";
- type: "bytes32";
- internalType: "ResourceId";
+ "name": "resourceId",
+ "type": "bytes32",
+ "internalType": "ResourceId"
},
{
- name: "resourceIdString";
- type: "string";
- internalType: "string";
- },
- ];
+ "name": "resourceIdString",
+ "type": "string",
+ "internalType": "string"
+ }
+ ]
},
{
- type: "error";
- name: "World_SystemAlreadyExists";
- inputs: [
+ "type": "error",
+ "name": "World_SystemAlreadyExists",
+ "inputs": [
{
- name: "system";
- type: "address";
- internalType: "address";
- },
- ];
+ "name": "system",
+ "type": "address",
+ "internalType": "address"
+ }
+ ]
},
{
- type: "error";
- name: "World_UnlimitedDelegationNotAllowed";
- inputs: [];
- },
-];
-export default abi;
+ "type": "error",
+ "name": "World_UnlimitedDelegationNotAllowed",
+ "inputs": []
+ }
+]; export default abi;
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index e12f64134..22390f972 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1,6478 +1 @@
-{
- "abi": [
- {
- "type": "function",
- "name": "UD__checkRequirements",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__createItem",
- "inputs": [
- {
- "name": "itemType",
- "type": "uint8",
- "internalType": "enum ItemType"
- },
- {
- "name": "supply",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "stats",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "itemMetadataURI",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__createItems",
- "inputs": [
- {
- "name": "itemTypes",
- "type": "uint8[]",
- "internalType": "enum ItemType[]"
- },
- {
- "name": "supply",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "stats",
- "type": "bytes[]",
- "internalType": "bytes[]"
- },
- {
- "name": "itemMetadataURIs",
- "type": "string[]",
- "internalType": "string[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__createMatch",
- "inputs": [
- {
- "name": "encounterType",
- "type": "uint8",
- "internalType": "enum EncounterType"
- },
- {
- "name": "attackers",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "defenders",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__createMob",
- "inputs": [
- {
- "name": "mobType",
- "type": "uint8",
- "internalType": "enum MobType"
- },
- {
- "name": "mobStats",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "mobMetadataUri",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__createMobs",
- "inputs": [
- {
- "name": "mobTypes",
- "type": "uint8[]",
- "internalType": "enum MobType[]"
- },
- {
- "name": "stats",
- "type": "bytes[]",
- "internalType": "bytes[]"
- },
- {
- "name": "mobMetadataURIs",
- "type": "string[]",
- "internalType": "string[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__createSkill",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__enterGame",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__equipItems",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "itemIds",
- "type": "uint256[]",
- "internalType": "uint256[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__getCharacterStats",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct CharacterStatsData",
- "components": [
- {
- "name": "strength",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "agility",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "intelligence",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "hitPoints",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "damageTaken",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "experience",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getCharacterToken",
- "inputs": [],
- "outputs": [
- {
- "name": "_characterToken",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getClass",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "_class",
- "type": "uint8",
- "internalType": "enum Classes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getCurrentLevel",
- "inputs": [
- {
- "name": "experience",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "currentLevel",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getEntropy",
- "inputs": [],
- "outputs": [
- {
- "name": "_entropy",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getExperience",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getGoldToken",
- "inputs": [],
- "outputs": [
- {
- "name": "_goldToken",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getItemType",
- "inputs": [
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint8",
- "internalType": "enum ItemType"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getItemsContract",
- "inputs": [],
- "outputs": [
- {
- "name": "_erc1155",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getMob",
- "inputs": [
- {
- "name": "mobId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct MobsData",
- "components": [
- {
- "name": "mobType",
- "type": "uint8",
- "internalType": "enum MobType"
- },
- {
- "name": "mobStats",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "mobMetadata",
- "type": "string",
- "internalType": "string"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getMonsterStats",
- "inputs": [
- {
- "name": "mobId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct MonsterStats",
- "components": [
- {
- "name": "hp",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "armor",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "level",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "baseDamage",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "class",
- "type": "uint8",
- "internalType": "enum Classes"
- },
- {
- "name": "inventory",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "experience",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getName",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "_name",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getNpcStats",
- "inputs": [
- {
- "name": "mobId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct NPCStats",
- "components": [
- {
- "name": "name",
- "type": "string",
- "internalType": "string"
- },
- {
- "name": "storyPathIds",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "alignment",
- "type": "uint8",
- "internalType": "enum Alignment"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getOwner",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getPythProvider",
- "inputs": [],
- "outputs": [
- {
- "name": "_provider",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getTotalSupply",
- "inputs": [
- {
- "name": "tokenId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "_supply",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getWeaponStats",
- "inputs": [
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "_weaponStats",
- "type": "tuple",
- "internalType": "struct WeaponStats",
- "components": [
- {
- "name": "damage",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "speed",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "classRestrictions",
- "type": "uint8[]",
- "internalType": "uint8[]"
- },
- {
- "name": "minLevel",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__isEquipped",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "_isEquipped",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__issueStarterItems",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__mintCharacter",
- "inputs": [
- {
- "name": "account",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "name",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "tokenUri",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__rollStats",
- "inputs": [
- {
- "name": "userRandomNumber",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "class",
- "type": "uint8",
- "internalType": "enum Classes"
- }
- ],
- "outputs": [],
- "stateMutability": "payable"
- },
- {
- "type": "function",
- "name": "UD__setStarterItems",
- "inputs": [
- {
- "name": "class",
- "type": "uint8",
- "internalType": "enum Classes"
- },
- {
- "name": "itemIds",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "amounts",
- "type": "uint256[]",
- "internalType": "uint256[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__setTokenUri",
- "inputs": [
- {
- "name": "tokenId",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "tokenUri",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__unequipItem",
- "inputs": [
- {
- "name": "characterId",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "success",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "batchCall",
- "inputs": [
- {
- "name": "systemCalls",
- "type": "tuple[]",
- "internalType": "struct SystemCallData[]",
- "components": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "callData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ]
- }
- ],
- "outputs": [
- {
- "name": "returnDatas",
- "type": "bytes[]",
- "internalType": "bytes[]"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "batchCallFrom",
- "inputs": [
- {
- "name": "systemCalls",
- "type": "tuple[]",
- "internalType": "struct SystemCallFromData[]",
- "components": [
- {
- "name": "from",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "callData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ]
- }
- ],
- "outputs": [
- {
- "name": "returnDatas",
- "type": "bytes[]",
- "internalType": "bytes[]"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "call",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "callData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "payable"
- },
- {
- "type": "function",
- "name": "callFrom",
- "inputs": [
- {
- "name": "delegator",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "callData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "payable"
- },
- {
- "type": "function",
- "name": "creator",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "deleteRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "getDynamicField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getDynamicFieldLength",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getDynamicFieldSlice",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "start",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "end",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getFieldLayout",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getFieldLength",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getFieldLength",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getKeySchema",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [
- {
- "name": "keySchema",
- "type": "bytes32",
- "internalType": "Schema"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [
- {
- "name": "staticData",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "internalType": "EncodedLengths"
- },
- {
- "name": "dynamicData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- }
- ],
- "outputs": [
- {
- "name": "staticData",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "internalType": "EncodedLengths"
- },
- {
- "name": "dynamicData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getStaticField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getValueSchema",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [
- {
- "name": "valueSchema",
- "type": "bytes32",
- "internalType": "Schema"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "grantAccess",
- "inputs": [
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "grantee",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "initialize",
- "inputs": [
- {
- "name": "initModule",
- "type": "address",
- "internalType": "contract IModule"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "installModule",
- "inputs": [
- {
- "name": "module",
- "type": "address",
- "internalType": "contract IModule"
- },
- {
- "name": "encodedArgs",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "installRootModule",
- "inputs": [
- {
- "name": "module",
- "type": "address",
- "internalType": "contract IModule"
- },
- {
- "name": "encodedArgs",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "popFromDynamicField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "byteLengthToPop",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "pushToDynamicField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "dataToPush",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerDelegation",
- "inputs": [
- {
- "name": "delegatee",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "delegationControlId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "initCallData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerFunctionSelector",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "systemFunctionSignature",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [
- {
- "name": "worldFunctionSelector",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerNamespace",
- "inputs": [
- {
- "name": "namespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerNamespaceDelegation",
- "inputs": [
- {
- "name": "namespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "delegationControlId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "initCallData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerRootFunctionSelector",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "worldFunctionSignature",
- "type": "string",
- "internalType": "string"
- },
- {
- "name": "systemFunctionSignature",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [
- {
- "name": "worldFunctionSelector",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerStoreHook",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "hookAddress",
- "type": "address",
- "internalType": "contract IStoreHook"
- },
- {
- "name": "enabledHooksBitmap",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerSystem",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "system",
- "type": "address",
- "internalType": "contract System"
- },
- {
- "name": "publicAccess",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerSystemHook",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "hookAddress",
- "type": "address",
- "internalType": "contract ISystemHook"
- },
- {
- "name": "enabledHooksBitmap",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerTable",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- },
- {
- "name": "keySchema",
- "type": "bytes32",
- "internalType": "Schema"
- },
- {
- "name": "valueSchema",
- "type": "bytes32",
- "internalType": "Schema"
- },
- {
- "name": "keyNames",
- "type": "string[]",
- "internalType": "string[]"
- },
- {
- "name": "fieldNames",
- "type": "string[]",
- "internalType": "string[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "renounceOwnership",
- "inputs": [
- {
- "name": "namespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "revokeAccess",
- "inputs": [
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "grantee",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "setDynamicField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "setField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "setField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "setRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "staticData",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "internalType": "EncodedLengths"
- },
- {
- "name": "dynamicData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "setStaticField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "spliceDynamicData",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "startWithinField",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "deleteCount",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "spliceStaticData",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "start",
- "type": "uint48",
- "internalType": "uint48"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "storeVersion",
- "inputs": [],
- "outputs": [
- {
- "name": "version",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "transferBalanceToAddress",
- "inputs": [
- {
- "name": "fromNamespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "toAddress",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "amount",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "transferBalanceToNamespace",
- "inputs": [
- {
- "name": "fromNamespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "toNamespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "amount",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "transferOwnership",
- "inputs": [
- {
- "name": "namespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "newOwner",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "unregisterDelegation",
- "inputs": [
- {
- "name": "delegatee",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "unregisterNamespaceDelegation",
- "inputs": [
- {
- "name": "namespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "unregisterStoreHook",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "hookAddress",
- "type": "address",
- "internalType": "contract IStoreHook"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "unregisterSystemHook",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "hookAddress",
- "type": "address",
- "internalType": "contract ISystemHook"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "worldVersion",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "event",
- "name": "HelloStore",
- "inputs": [
- {
- "name": "storeVersion",
- "type": "bytes32",
- "indexed": true,
- "internalType": "bytes32"
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "HelloWorld",
- "inputs": [
- {
- "name": "worldVersion",
- "type": "bytes32",
- "indexed": true,
- "internalType": "bytes32"
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "Store_DeleteRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "indexed": true,
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false,
- "internalType": "bytes32[]"
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "Store_SetRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "indexed": true,
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false,
- "internalType": "bytes32[]"
- },
- {
- "name": "staticData",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false,
- "internalType": "EncodedLengths"
- },
- {
- "name": "dynamicData",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "Store_SpliceDynamicData",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "indexed": true,
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false,
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "indexed": false,
- "internalType": "uint8"
- },
- {
- "name": "start",
- "type": "uint48",
- "indexed": false,
- "internalType": "uint48"
- },
- {
- "name": "deleteCount",
- "type": "uint40",
- "indexed": false,
- "internalType": "uint40"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false,
- "internalType": "EncodedLengths"
- },
- {
- "name": "data",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "Store_SpliceStaticData",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "indexed": true,
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false,
- "internalType": "bytes32[]"
- },
- {
- "name": "start",
- "type": "uint48",
- "indexed": false,
- "internalType": "uint48"
- },
- {
- "name": "data",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- }
- ],
- "anonymous": false
- },
- {
- "type": "error",
- "name": "EncodedLengths_InvalidLength",
- "inputs": [
- {
- "name": "length",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_Empty",
- "inputs": []
- },
- {
- "type": "error",
- "name": "FieldLayout_InvalidStaticDataLength",
- "inputs": [
- {
- "name": "staticDataLength",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "computedStaticDataLength",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_StaticLengthDoesNotFitInAWord",
- "inputs": [
- {
- "name": "index",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_StaticLengthIsNotZero",
- "inputs": [
- {
- "name": "index",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_StaticLengthIsZero",
- "inputs": [
- {
- "name": "index",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_TooManyDynamicFields",
- "inputs": [
- {
- "name": "numFields",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "maxFields",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_TooManyFields",
- "inputs": [
- {
- "name": "numFields",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "maxFields",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Module_AlreadyInstalled",
- "inputs": []
- },
- {
- "type": "error",
- "name": "Module_MissingDependency",
- "inputs": [
- {
- "name": "dependency",
- "type": "address",
- "internalType": "address"
- }
- ]
- },
- {
- "type": "error",
- "name": "Module_NonRootInstallNotSupported",
- "inputs": []
- },
- {
- "type": "error",
- "name": "Module_RootInstallNotSupported",
- "inputs": []
- },
- {
- "type": "error",
- "name": "Schema_InvalidLength",
- "inputs": [
- {
- "name": "length",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Schema_StaticTypeAfterDynamicType",
- "inputs": []
- },
- {
- "type": "error",
- "name": "Slice_OutOfBounds",
- "inputs": [
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "start",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "end",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_IndexOutOfBounds",
- "inputs": [
- {
- "name": "length",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "accessedIndex",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidBounds",
- "inputs": [
- {
- "name": "start",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "end",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidFieldNamesLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidKeyNamesLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidResourceType",
- "inputs": [
- {
- "name": "expected",
- "type": "bytes2",
- "internalType": "bytes2"
- },
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidSplice",
- "inputs": [
- {
- "name": "startWithinField",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "deleteCount",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "fieldLength",
- "type": "uint40",
- "internalType": "uint40"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidStaticDataLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidValueSchemaDynamicLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidValueSchemaLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidValueSchemaStaticLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_TableAlreadyExists",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "tableIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_TableNotFound",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "tableIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_AccessDenied",
- "inputs": [
- {
- "name": "resource",
- "type": "string",
- "internalType": "string"
- },
- {
- "name": "caller",
- "type": "address",
- "internalType": "address"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_AlreadyInitialized",
- "inputs": []
- },
- {
- "type": "error",
- "name": "World_CallbackNotAllowed",
- "inputs": [
- {
- "name": "functionSelector",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_DelegationNotFound",
- "inputs": [
- {
- "name": "delegator",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "delegatee",
- "type": "address",
- "internalType": "address"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_FunctionSelectorAlreadyExists",
- "inputs": [
- {
- "name": "functionSelector",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_FunctionSelectorNotFound",
- "inputs": [
- {
- "name": "functionSelector",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_InsufficientBalance",
- "inputs": [
- {
- "name": "balance",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "amount",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_InterfaceNotSupported",
- "inputs": [
- {
- "name": "contractAddress",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "interfaceId",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_InvalidNamespace",
- "inputs": [
- {
- "name": "namespace",
- "type": "bytes14",
- "internalType": "bytes14"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_InvalidResourceId",
- "inputs": [
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_InvalidResourceType",
- "inputs": [
- {
- "name": "expected",
- "type": "bytes2",
- "internalType": "bytes2"
- },
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_ResourceAlreadyExists",
- "inputs": [
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_ResourceNotFound",
- "inputs": [
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_SystemAlreadyExists",
- "inputs": [
- {
- "name": "system",
- "type": "address",
- "internalType": "address"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_UnlimitedDelegationNotAllowed",
- "inputs": []
- }
- ],
- "bytecode": {
- "object": "0x",
- "sourceMap": "",
- "linkReferences": {}
- },
- "deployedBytecode": {
- "object": "0x",
- "sourceMap": "",
- "linkReferences": {}
- },
- "methodIdentifiers": {
- "UD__checkRequirements(uint256,uint256)": "79fdcdee",
- "UD__createItem(uint8,uint256,bytes,string)": "f28c840e",
- "UD__createItems(uint8[],uint256[],bytes[],string[])": "941acaab",
- "UD__createMatch(uint8,uint256[],bytes32[])": "54763054",
- "UD__createMob(uint8,bytes,string)": "8cc68cc7",
- "UD__createMobs(uint8[],bytes[],string[])": "3f93a314",
- "UD__createSkill()": "8993c4e1",
- "UD__enterGame(uint256)": "cc0f1ab7",
- "UD__equipItems(uint256,uint256[])": "c686667a",
- "UD__getCharacterStats(uint256)": "e1ecef13",
- "UD__getCharacterToken()": "49d8cf02",
- "UD__getClass(uint256)": "5758128c",
- "UD__getCurrentLevel(uint256)": "e83e2af9",
- "UD__getEntropy()": "b5c691c7",
- "UD__getExperience(uint256)": "8bc01bf0",
- "UD__getGoldToken()": "8b994e32",
- "UD__getItemType(uint256)": "cdaccbae",
- "UD__getItemsContract()": "997f897a",
- "UD__getMob(uint256)": "622834d0",
- "UD__getMonsterStats(uint256)": "91b22373",
- "UD__getName(uint256)": "cf36b62e",
- "UD__getNpcStats(uint256)": "35c65325",
- "UD__getOwner(uint256)": "ef89f17a",
- "UD__getPythProvider()": "e24cefd9",
- "UD__getTotalSupply(uint256)": "37007d40",
- "UD__getWeaponStats(uint256)": "810c1dc1",
- "UD__isEquipped(uint256,uint256)": "b80057db",
- "UD__issueStarterItems(uint256)": "ce2d5a9a",
- "UD__mintCharacter(address,bytes32,string)": "d408a43b",
- "UD__rollStats(bytes32,uint256,uint8)": "1cf705d7",
- "UD__setStarterItems(uint8,uint256[],uint256[])": "2f97d48f",
- "UD__setTokenUri(uint256,string)": "d6556009",
- "UD__unequipItem(uint256,uint256)": "ca3caa8c",
- "batchCall((bytes32,bytes)[])": "ce5e8dd9",
- "batchCallFrom((address,bytes32,bytes)[])": "8fc8cf7e",
- "call(bytes32,bytes)": "3ae7af08",
- "callFrom(address,bytes32,bytes)": "894ecc58",
- "creator()": "02d05d3f",
- "deleteRecord(bytes32,bytes32[])": "505a181d",
- "getDynamicField(bytes32,bytes32[],uint8)": "1e788977",
- "getDynamicFieldLength(bytes32,bytes32[],uint8)": "dbbf0e21",
- "getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)": "4dc77d97",
- "getField(bytes32,bytes32[],uint8)": "d03edb8c",
- "getField(bytes32,bytes32[],uint8,bytes32)": "05242d2f",
- "getFieldLayout(bytes32)": "3a77c2c2",
- "getFieldLength(bytes32,bytes32[],uint8)": "a53417ed",
- "getFieldLength(bytes32,bytes32[],uint8,bytes32)": "9f1fcf0a",
- "getKeySchema(bytes32)": "d4285dc2",
- "getRecord(bytes32,bytes32[])": "cc49db7e",
- "getRecord(bytes32,bytes32[],bytes32)": "419b58fd",
- "getStaticField(bytes32,bytes32[],uint8,bytes32)": "8c364d59",
- "getValueSchema(bytes32)": "e228a4a3",
- "grantAccess(bytes32,address)": "40554c3a",
- "initialize(address)": "c4d66de8",
- "installModule(address,bytes)": "8da798da",
- "installRootModule(address,bytes)": "af068c9e",
- "popFromDynamicField(bytes32,bytes32[],uint8,uint256)": "d9c03a04",
- "pushToDynamicField(bytes32,bytes32[],uint8,bytes)": "150f3262",
- "registerDelegation(address,bytes32,bytes)": "1d2257ba",
- "registerFunctionSelector(bytes32,string)": "26d98102",
- "registerNamespace(bytes32)": "b29e4089",
- "registerNamespaceDelegation(bytes32,bytes32,bytes)": "bfdfaff7",
- "registerRootFunctionSelector(bytes32,string,string)": "6548a90a",
- "registerStoreHook(bytes32,address,uint8)": "530f4b60",
- "registerSystem(bytes32,address,bool)": "3350b6a9",
- "registerSystemHook(bytes32,address,uint8)": "d5f8337f",
- "registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])": "0ba51f49",
- "renounceOwnership(bytes32)": "219adc2e",
- "revokeAccess(bytes32,address)": "8d53b208",
- "setDynamicField(bytes32,bytes32[],uint8,bytes)": "ef6ea862",
- "setField(bytes32,bytes32[],uint8,bytes)": "114a7266",
- "setField(bytes32,bytes32[],uint8,bytes,bytes32)": "3708196e",
- "setRecord(bytes32,bytes32[],bytes,bytes32,bytes)": "298314fb",
- "setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)": "390baae0",
- "spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)": "c0a2895a",
- "spliceStaticData(bytes32,bytes32[],uint48,bytes)": "b047c1eb",
- "storeVersion()": "c1122229",
- "transferBalanceToAddress(bytes32,address,uint256)": "45afd199",
- "transferBalanceToNamespace(bytes32,bytes32,uint256)": "c9c85a60",
- "transferOwnership(bytes32,address)": "ef5d6bbb",
- "unregisterDelegation(address)": "cdc938c5",
- "unregisterNamespaceDelegation(bytes32)": "aa66e9c8",
- "unregisterStoreHook(bytes32,address)": "05609129",
- "unregisterSystemHook(bytes32,address)": "a92813ad",
- "worldVersion()": "6951955d"
- },
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"attackers\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__createSkill\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseDamage\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"storyPathIds\",\"type\":\"uint256[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"speed\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xfdd2eab59d2236c9dea22424159f6a2183bc6a801b57915487f0696537e089e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba516e48c246749f8e0885e15f02d945dd0fdf6588a0d83e3002b7f3247fd6bc\",\"dweb:/ipfs/QmdUo8LuP6NobHUCKjT2Bg9hpz64JnLyo6WGMU4Y9sSDKN\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6\",\"dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4\",\"dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6\",\"dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0xff0a6e9e6e34d739d3260d2e0ef2db0190dfb6eed6acf9b5e631228a35c37c42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bc2c8f088539657ffc555483e094d771ca60e12eb211af1fd5fc5d58d4fac74\",\"dweb:/ipfs/Qmd7PuyowVmPhRWoFQQMRaTihnn9iFQsaKQQRjTaW99eYP\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf\",\"dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xb0d27dd67d9ea10ef835a91c9f1f264107dc2a4cdbeb5531049a5006704cc991\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89727edf1e326df28d8c42d231d46df10a285ea2fdf7b73fe19f21c0901c22b\",\"dweb:/ipfs/QmeRQ4nkXiuh1DSWuGCrC5inRejZKhDZLwtNZn8ai1bV88\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x70caf9c80ea6c72b8f5bb5262f5fc4e8733ebc249c24b7dfb5c881f7b85dab9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3d1ef91292b619f37f8ad93ab9d3cb8e45b91674ab1edee5a7fc1c5d071a0c3\",\"dweb:/ipfs/QmNP2royisUVREpoqfYK1a2hhYodd6iS39yhYpvAPJnG4H\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x1795d0914aa67a81ffcf51328b6eeb9a5359692cd58122047354cf2b9be9c44e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ddc8d7780fd47d6981aa6324e545814f37ff3fb2be2b27e1e5aed97b15f225\",\"dweb:/ipfs/Qmcv98XaSvzK9fijokfySYEMDtyxu8RKp1mT9S2fDvJYoA\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134\",\"dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018\",\"dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]}},\"version\":1}",
- "metadata": {
- "compiler": {
- "version": "0.8.24+commit.e11b9ed9"
- },
- "language": "Solidity",
- "output": {
- "abi": [
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "length",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "EncodedLengths_InvalidLength"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "FieldLayout_Empty"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "staticDataLength",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "computedStaticDataLength",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_InvalidStaticDataLength"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_StaticLengthDoesNotFitInAWord"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_StaticLengthIsNotZero"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_StaticLengthIsZero"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "numFields",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "maxFields",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_TooManyDynamicFields"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "numFields",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "maxFields",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_TooManyFields"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "Module_AlreadyInstalled"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "dependency",
- "type": "address"
- }
- ],
- "type": "error",
- "name": "Module_MissingDependency"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "Module_NonRootInstallNotSupported"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "Module_RootInstallNotSupported"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "length",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Schema_InvalidLength"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "Schema_StaticTypeAfterDynamicType"
- },
- {
- "inputs": [
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "uint256",
- "name": "start",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Slice_OutOfBounds"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "length",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "accessedIndex",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_IndexOutOfBounds"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "start",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidBounds"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidFieldNamesLength"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidKeyNamesLength"
- },
- {
- "inputs": [
- {
- "internalType": "bytes2",
- "name": "expected",
- "type": "bytes2"
- },
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "Store_InvalidResourceType"
- },
- {
- "inputs": [
- {
- "internalType": "uint40",
- "name": "startWithinField",
- "type": "uint40"
- },
- {
- "internalType": "uint40",
- "name": "deleteCount",
- "type": "uint40"
- },
- {
- "internalType": "uint40",
- "name": "fieldLength",
- "type": "uint40"
- }
- ],
- "type": "error",
- "name": "Store_InvalidSplice"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidStaticDataLength"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidValueSchemaDynamicLength"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidValueSchemaLength"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidValueSchemaStaticLength"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "tableIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "Store_TableAlreadyExists"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "tableIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "Store_TableNotFound"
- },
- {
- "inputs": [
- {
- "internalType": "string",
- "name": "resource",
- "type": "string"
- },
- {
- "internalType": "address",
- "name": "caller",
- "type": "address"
- }
- ],
- "type": "error",
- "name": "World_AccessDenied"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "World_AlreadyInitialized"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "functionSelector",
- "type": "bytes4"
- }
- ],
- "type": "error",
- "name": "World_CallbackNotAllowed"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegator",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- }
- ],
- "type": "error",
- "name": "World_DelegationNotFound"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "functionSelector",
- "type": "bytes4"
- }
- ],
- "type": "error",
- "name": "World_FunctionSelectorAlreadyExists"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "functionSelector",
- "type": "bytes4"
- }
- ],
- "type": "error",
- "name": "World_FunctionSelectorNotFound"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "balance",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "World_InsufficientBalance"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "contractAddress",
- "type": "address"
- },
- {
- "internalType": "bytes4",
- "name": "interfaceId",
- "type": "bytes4"
- }
- ],
- "type": "error",
- "name": "World_InterfaceNotSupported"
- },
- {
- "inputs": [
- {
- "internalType": "bytes14",
- "name": "namespace",
- "type": "bytes14"
- }
- ],
- "type": "error",
- "name": "World_InvalidNamespace"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "World_InvalidResourceId"
- },
- {
- "inputs": [
- {
- "internalType": "bytes2",
- "name": "expected",
- "type": "bytes2"
- },
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "World_InvalidResourceType"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "World_ResourceAlreadyExists"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "World_ResourceNotFound"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "system",
- "type": "address"
- }
- ],
- "type": "error",
- "name": "World_SystemAlreadyExists"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "World_UnlimitedDelegationNotAllowed"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "storeVersion",
- "type": "bytes32",
- "indexed": true
- }
- ],
- "type": "event",
- "name": "HelloStore",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "worldVersion",
- "type": "bytes32",
- "indexed": true
- }
- ],
- "type": "event",
- "name": "HelloWorld",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32",
- "indexed": true
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false
- }
- ],
- "type": "event",
- "name": "Store_DeleteRecord",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32",
- "indexed": true
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false
- },
- {
- "internalType": "bytes",
- "name": "staticData",
- "type": "bytes",
- "indexed": false
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false
- },
- {
- "internalType": "bytes",
- "name": "dynamicData",
- "type": "bytes",
- "indexed": false
- }
- ],
- "type": "event",
- "name": "Store_SetRecord",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32",
- "indexed": true
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "indexed": false
- },
- {
- "internalType": "uint48",
- "name": "start",
- "type": "uint48",
- "indexed": false
- },
- {
- "internalType": "uint40",
- "name": "deleteCount",
- "type": "uint40",
- "indexed": false
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes",
- "indexed": false
- }
- ],
- "type": "event",
- "name": "Store_SpliceDynamicData",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32",
- "indexed": true
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false
- },
- {
- "internalType": "uint48",
- "name": "start",
- "type": "uint48",
- "indexed": false
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes",
- "indexed": false
- }
- ],
- "type": "event",
- "name": "Store_SpliceStaticData",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__checkRequirements",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "enum ItemType",
- "name": "itemType",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "supply",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "stats",
- "type": "bytes"
- },
- {
- "internalType": "string",
- "name": "itemMetadataURI",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createItem",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "enum ItemType[]",
- "name": "itemTypes",
- "type": "uint8[]"
- },
- {
- "internalType": "uint256[]",
- "name": "supply",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "stats",
- "type": "bytes[]"
- },
- {
- "internalType": "string[]",
- "name": "itemMetadataURIs",
- "type": "string[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createItems"
- },
- {
- "inputs": [
- {
- "internalType": "enum EncounterType",
- "name": "encounterType",
- "type": "uint8"
- },
- {
- "internalType": "uint256[]",
- "name": "attackers",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes32[]",
- "name": "defenders",
- "type": "bytes32[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createMatch",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "enum MobType",
- "name": "mobType",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "mobStats",
- "type": "bytes"
- },
- {
- "internalType": "string",
- "name": "mobMetadataUri",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createMob",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "enum MobType[]",
- "name": "mobTypes",
- "type": "uint8[]"
- },
- {
- "internalType": "bytes[]",
- "name": "stats",
- "type": "bytes[]"
- },
- {
- "internalType": "string[]",
- "name": "mobMetadataURIs",
- "type": "string[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createMobs"
- },
- {
- "inputs": [],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createSkill",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__enterGame"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- },
- {
- "internalType": "uint256[]",
- "name": "itemIds",
- "type": "uint256[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__equipItems"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getCharacterStats",
- "outputs": [
- {
- "internalType": "struct CharacterStatsData",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "uint256",
- "name": "strength",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "agility",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "intelligence",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "hitPoints",
- "type": "uint256"
- },
- {
- "internalType": "int256",
- "name": "damageTaken",
- "type": "int256"
- },
- {
- "internalType": "uint256",
- "name": "experience",
- "type": "uint256"
- }
- ]
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getCharacterToken",
- "outputs": [
- {
- "internalType": "address",
- "name": "_characterToken",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getClass",
- "outputs": [
- {
- "internalType": "enum Classes",
- "name": "_class",
- "type": "uint8"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "experience",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getCurrentLevel",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "currentLevel",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getEntropy",
- "outputs": [
- {
- "internalType": "address",
- "name": "_entropy",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getExperience",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getGoldToken",
- "outputs": [
- {
- "internalType": "address",
- "name": "_goldToken",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getItemType",
- "outputs": [
- {
- "internalType": "enum ItemType",
- "name": "",
- "type": "uint8"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getItemsContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "_erc1155",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "mobId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getMob",
- "outputs": [
- {
- "internalType": "struct MobsData",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "enum MobType",
- "name": "mobType",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "mobStats",
- "type": "bytes"
- },
- {
- "internalType": "string",
- "name": "mobMetadata",
- "type": "string"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "mobId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getMonsterStats",
- "outputs": [
- {
- "internalType": "struct MonsterStats",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "uint256",
- "name": "hp",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "armor",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "level",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "baseDamage",
- "type": "uint256"
- },
- {
- "internalType": "enum Classes",
- "name": "class",
- "type": "uint8"
- },
- {
- "internalType": "uint256[]",
- "name": "inventory",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256",
- "name": "experience",
- "type": "uint256"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getName",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "_name",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "mobId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getNpcStats",
- "outputs": [
- {
- "internalType": "struct NPCStats",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "string",
- "name": "name",
- "type": "string"
- },
- {
- "internalType": "uint256[]",
- "name": "storyPathIds",
- "type": "uint256[]"
- },
- {
- "internalType": "enum Alignment",
- "name": "alignment",
- "type": "uint8"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getOwner",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getPythProvider",
- "outputs": [
- {
- "internalType": "address",
- "name": "_provider",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getTotalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "_supply",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getWeaponStats",
- "outputs": [
- {
- "internalType": "struct WeaponStats",
- "name": "_weaponStats",
- "type": "tuple",
- "components": [
- {
- "internalType": "uint256",
- "name": "damage",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "speed",
- "type": "uint256"
- },
- {
- "internalType": "uint8[]",
- "name": "classRestrictions",
- "type": "uint8[]"
- },
- {
- "internalType": "uint256",
- "name": "minLevel",
- "type": "uint256"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__isEquipped",
- "outputs": [
- {
- "internalType": "bool",
- "name": "_isEquipped",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__issueStarterItems"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "name",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "tokenUri",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__mintCharacter",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "userRandomNumber",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- },
- {
- "internalType": "enum Classes",
- "name": "class",
- "type": "uint8"
- }
- ],
- "stateMutability": "payable",
- "type": "function",
- "name": "UD__rollStats"
- },
- {
- "inputs": [
- {
- "internalType": "enum Classes",
- "name": "class",
- "type": "uint8"
- },
- {
- "internalType": "uint256[]",
- "name": "itemIds",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "amounts",
- "type": "uint256[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__setStarterItems"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "internalType": "string",
- "name": "tokenUri",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__setTokenUri"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__unequipItem",
- "outputs": [
- {
- "internalType": "bool",
- "name": "success",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "struct SystemCallData[]",
- "name": "systemCalls",
- "type": "tuple[]",
- "components": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "callData",
- "type": "bytes"
- }
- ]
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "batchCall",
- "outputs": [
- {
- "internalType": "bytes[]",
- "name": "returnDatas",
- "type": "bytes[]"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "struct SystemCallFromData[]",
- "name": "systemCalls",
- "type": "tuple[]",
- "components": [
- {
- "internalType": "address",
- "name": "from",
- "type": "address"
- },
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "callData",
- "type": "bytes"
- }
- ]
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "batchCallFrom",
- "outputs": [
- {
- "internalType": "bytes[]",
- "name": "returnDatas",
- "type": "bytes[]"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "callData",
- "type": "bytes"
- }
- ],
- "stateMutability": "payable",
- "type": "function",
- "name": "call",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegator",
- "type": "address"
- },
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "callData",
- "type": "bytes"
- }
- ],
- "stateMutability": "payable",
- "type": "function",
- "name": "callFrom",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "creator",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "deleteRecord"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getDynamicField",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getDynamicFieldLength",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "start",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getDynamicFieldSlice",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getField",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getField",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getFieldLayout",
- "outputs": [
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getFieldLength",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getFieldLength",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getKeySchema",
- "outputs": [
- {
- "internalType": "Schema",
- "name": "keySchema",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getRecord",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "staticData",
- "type": "bytes"
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "dynamicData",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getRecord",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "staticData",
- "type": "bytes"
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "dynamicData",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getStaticField",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getValueSchema",
- "outputs": [
- {
- "internalType": "Schema",
- "name": "valueSchema",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "grantee",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "grantAccess"
- },
- {
- "inputs": [
- {
- "internalType": "contract IModule",
- "name": "initModule",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "initialize"
- },
- {
- "inputs": [
- {
- "internalType": "contract IModule",
- "name": "module",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "encodedArgs",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "installModule"
- },
- {
- "inputs": [
- {
- "internalType": "contract IModule",
- "name": "module",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "encodedArgs",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "installRootModule"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "byteLengthToPop",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "popFromDynamicField"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "dataToPush",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "pushToDynamicField"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- },
- {
- "internalType": "ResourceId",
- "name": "delegationControlId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "initCallData",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerDelegation"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "systemFunctionSignature",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerFunctionSelector",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "worldFunctionSelector",
- "type": "bytes4"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "namespaceId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerNamespace"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "namespaceId",
- "type": "bytes32"
- },
- {
- "internalType": "ResourceId",
- "name": "delegationControlId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "initCallData",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerNamespaceDelegation"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "worldFunctionSignature",
- "type": "string"
- },
- {
- "internalType": "string",
- "name": "systemFunctionSignature",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerRootFunctionSelector",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "worldFunctionSelector",
- "type": "bytes4"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "contract IStoreHook",
- "name": "hookAddress",
- "type": "address"
- },
- {
- "internalType": "uint8",
- "name": "enabledHooksBitmap",
- "type": "uint8"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerStoreHook"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "contract System",
- "name": "system",
- "type": "address"
- },
- {
- "internalType": "bool",
- "name": "publicAccess",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerSystem"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "contract ISystemHook",
- "name": "hookAddress",
- "type": "address"
- },
- {
- "internalType": "uint8",
- "name": "enabledHooksBitmap",
- "type": "uint8"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerSystemHook"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- },
- {
- "internalType": "Schema",
- "name": "keySchema",
- "type": "bytes32"
- },
- {
- "internalType": "Schema",
- "name": "valueSchema",
- "type": "bytes32"
- },
- {
- "internalType": "string[]",
- "name": "keyNames",
- "type": "string[]"
- },
- {
- "internalType": "string[]",
- "name": "fieldNames",
- "type": "string[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerTable"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "namespaceId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "renounceOwnership"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "grantee",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "revokeAccess"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "setDynamicField"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "setField"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "setField"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "bytes",
- "name": "staticData",
- "type": "bytes"
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "dynamicData",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "setRecord"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "setStaticField"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "uint40",
- "name": "startWithinField",
- "type": "uint40"
- },
- {
- "internalType": "uint40",
- "name": "deleteCount",
- "type": "uint40"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "spliceDynamicData"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint48",
- "name": "start",
- "type": "uint48"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "spliceStaticData"
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "storeVersion",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "version",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "fromNamespaceId",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "toAddress",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "transferBalanceToAddress"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "fromNamespaceId",
- "type": "bytes32"
- },
- {
- "internalType": "ResourceId",
- "name": "toNamespaceId",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "transferBalanceToNamespace"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "namespaceId",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "newOwner",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "transferOwnership"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "unregisterDelegation"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "namespaceId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "unregisterNamespaceDelegation"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "contract IStoreHook",
- "name": "hookAddress",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "unregisterStoreHook"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "contract ISystemHook",
- "name": "hookAddress",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "unregisterSystemHook"
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "worldVersion",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ]
- }
- ],
- "devdoc": {
- "kind": "dev",
- "methods": {
- "call(bytes32,bytes)": {
- "details": "If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).",
- "params": {
- "callData": "The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.",
- "systemId": "The ID of the system to be called."
- },
- "returns": {
- "_0": "The abi encoded return data from the called system."
- }
- },
- "callFrom(address,bytes32,bytes)": {
- "details": "If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).",
- "params": {
- "callData": "The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.",
- "delegator": "The address on whose behalf the call is made.",
- "systemId": "The ID of the system to be called."
- },
- "returns": {
- "_0": "The abi encoded return data from the called system."
- }
- },
- "creator()": {
- "returns": {
- "_0": "The address of the World's creator."
- }
- },
- "initialize(address)": {
- "details": "Can only be called once by the creator.",
- "params": {
- "initModule": "The InitModule to be installed during initialization."
- }
- },
- "installRootModule(address,bytes)": {
- "details": "Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.",
- "params": {
- "encodedArgs": "The ABI encoded arguments for the module installation.",
- "module": "The module to be installed."
- }
- },
- "storeVersion()": {
- "returns": {
- "version": "The protocol version of the Store contract."
- }
- },
- "worldVersion()": {
- "returns": {
- "_0": "The protocol version of the World."
- }
- }
- },
- "version": 1
- },
- "userdoc": {
- "kind": "user",
- "methods": {
- "call(bytes32,bytes)": {
- "notice": "Call the system at the given system ID."
- },
- "callFrom(address,bytes32,bytes)": {
- "notice": "Call the system at the given system ID on behalf of the given delegator."
- },
- "creator()": {
- "notice": "Retrieve the immutable original deployer of the World."
- },
- "getDynamicField(bytes32,bytes32[],uint8)": {
- "notice": "Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"
- },
- "getDynamicFieldLength(bytes32,bytes32[],uint8)": {
- "notice": "Get the byte length of a single dynamic field from the given tableId and key tuple"
- },
- "getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)": {
- "notice": "Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."
- },
- "getField(bytes32,bytes32[],uint8)": {
- "notice": "Get a single field from the given tableId and key tuple, loading the field layout from storage"
- },
- "getField(bytes32,bytes32[],uint8,bytes32)": {
- "notice": "Get a single field from the given tableId and key tuple, with the given field layout"
- },
- "getFieldLength(bytes32,bytes32[],uint8)": {
- "notice": "Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"
- },
- "getFieldLength(bytes32,bytes32[],uint8,bytes32)": {
- "notice": "Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"
- },
- "getRecord(bytes32,bytes32[])": {
- "notice": "Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"
- },
- "getRecord(bytes32,bytes32[],bytes32)": {
- "notice": "Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"
- },
- "getStaticField(bytes32,bytes32[],uint8,bytes32)": {
- "notice": "Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."
- },
- "initialize(address)": {
- "notice": "Initializes the World."
- },
- "installRootModule(address,bytes)": {
- "notice": "Install the given root module in the World."
- },
- "storeVersion()": {
- "notice": "Returns the protocol version of the Store contract."
- },
- "worldVersion()": {
- "notice": "Retrieve the protocol version of the World."
- }
- },
- "version": 1
- }
- },
- "settings": {
- "remappings": [
- "@codegen/=src/codegen/",
- "@erc1155/=lib/ERC1155-puppet/",
- "@interfaces/=src/interfaces/",
- "@latticexyz/=node_modules/@latticexyz/",
- "@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/",
- "@openzeppelin/=node_modules/@openzeppelin/contracts/",
- "@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/",
- "@systems/=src/systems/",
- "@tables/=src/codegen/tables/",
- "@test/=test/",
- "@world/=src/codegen/world/",
- "ERC1155-puppet/=lib/ERC1155-puppet/",
- "ds-test/=node_modules/ds-test/src/",
- "forge-std/=node_modules/forge-std/src/"
- ],
- "optimizer": {
- "enabled": true,
- "runs": 3000
- },
- "metadata": {
- "bytecodeHash": "ipfs"
- },
- "compilationTarget": {
- "src/codegen/world/IWorld.sol": "IWorld"
- },
- "evmVersion": "paris",
- "libraries": {}
- },
- "sources": {
- "node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol": {
- "keccak256": "0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a",
- "urls": [
- "bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44",
- "dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Bytes.sol": {
- "keccak256": "0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8",
- "urls": [
- "bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35",
- "dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/EncodedLengths.sol": {
- "keccak256": "0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774",
- "urls": [
- "bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09",
- "dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/FieldLayout.sol": {
- "keccak256": "0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658",
- "urls": [
- "bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7",
- "dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Hook.sol": {
- "keccak256": "0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e",
- "urls": [
- "bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3",
- "dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IERC165.sol": {
- "keccak256": "0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927",
- "urls": [
- "bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2",
- "dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol": {
- "keccak256": "0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa",
- "urls": [
- "bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba",
- "dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol": {
- "keccak256": "0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53",
- "urls": [
- "bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817",
- "dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ISchemaErrors.sol": {
- "keccak256": "0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441",
- "urls": [
- "bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d",
- "dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ISliceErrors.sol": {
- "keccak256": "0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c",
- "urls": [
- "bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883",
- "dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStore.sol": {
- "keccak256": "0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706",
- "urls": [
- "bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc",
- "dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreErrors.sol": {
- "keccak256": "0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912",
- "urls": [
- "bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6",
- "dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreEvents.sol": {
- "keccak256": "0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a",
- "urls": [
- "bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08",
- "dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreHook.sol": {
- "keccak256": "0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4",
- "urls": [
- "bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562",
- "dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreKernel.sol": {
- "keccak256": "0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89",
- "urls": [
- "bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0",
- "dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreRead.sol": {
- "keccak256": "0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b",
- "urls": [
- "bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db",
- "dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreRegistration.sol": {
- "keccak256": "0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b",
- "urls": [
- "bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a",
- "dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreWrite.sol": {
- "keccak256": "0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba",
- "urls": [
- "bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890",
- "dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Memory.sol": {
- "keccak256": "0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811",
- "urls": [
- "bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392",
- "dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ResourceId.sol": {
- "keccak256": "0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2",
- "urls": [
- "bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0",
- "dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Schema.sol": {
- "keccak256": "0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7",
- "urls": [
- "bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3",
- "dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Slice.sol": {
- "keccak256": "0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345",
- "urls": [
- "bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4",
- "dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Storage.sol": {
- "keccak256": "0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3",
- "urls": [
- "bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee",
- "dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/StoreCore.sol": {
- "keccak256": "0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861",
- "urls": [
- "bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2",
- "dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/StoreSwitch.sol": {
- "keccak256": "0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40",
- "urls": [
- "bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91",
- "dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/index.sol": {
- "keccak256": "0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85",
- "urls": [
- "bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4",
- "dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol": {
- "keccak256": "0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394",
- "urls": [
- "bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53",
- "dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol": {
- "keccak256": "0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64",
- "urls": [
- "bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905",
- "dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol": {
- "keccak256": "0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c",
- "urls": [
- "bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6",
- "dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/Tables.sol": {
- "keccak256": "0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09",
- "urls": [
- "bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc",
- "dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/constants.sol": {
- "keccak256": "0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6",
- "urls": [
- "bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168",
- "dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/rightMask.sol": {
- "keccak256": "0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275",
- "urls": [
- "bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754",
- "dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/storeHookTypes.sol": {
- "keccak256": "0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572",
- "urls": [
- "bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3",
- "dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/storeResourceTypes.sol": {
- "keccak256": "0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261",
- "urls": [
- "bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586",
- "dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol": {
- "keccak256": "0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152",
- "urls": [
- "bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e",
- "dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol": {
- "keccak256": "0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3",
- "urls": [
- "bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea",
- "dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol": {
- "keccak256": "0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8",
- "urls": [
- "bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3",
- "dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/version.sol": {
- "keccak256": "0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a",
- "urls": [
- "bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a",
- "dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IERC165.sol": {
- "keccak256": "0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d",
- "urls": [
- "bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7",
- "dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IModule.sol": {
- "keccak256": "0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57",
- "urls": [
- "bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2",
- "dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IModuleErrors.sol": {
- "keccak256": "0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d",
- "urls": [
- "bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea",
- "dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/ISystemHook.sol": {
- "keccak256": "0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721",
- "urls": [
- "bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f",
- "dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldContextConsumer.sol": {
- "keccak256": "0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299",
- "urls": [
- "bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255",
- "dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldErrors.sol": {
- "keccak256": "0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b",
- "urls": [
- "bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf",
- "dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldEvents.sol": {
- "keccak256": "0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243",
- "urls": [
- "bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57",
- "dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldKernel.sol": {
- "keccak256": "0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b",
- "urls": [
- "bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092",
- "dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/System.sol": {
- "keccak256": "0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd",
- "urls": [
- "bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f",
- "dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/WorldContext.sol": {
- "keccak256": "0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9",
- "urls": [
- "bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e",
- "dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/WorldResourceId.sol": {
- "keccak256": "0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee",
- "urls": [
- "bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea",
- "dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol": {
- "keccak256": "0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc",
- "urls": [
- "bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48",
- "dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol": {
- "keccak256": "0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4",
- "urls": [
- "bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83",
- "dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol": {
- "keccak256": "0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17",
- "urls": [
- "bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81",
- "dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol": {
- "keccak256": "0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c",
- "urls": [
- "bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2",
- "dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol": {
- "keccak256": "0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35",
- "urls": [
- "bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b",
- "dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol": {
- "keccak256": "0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800",
- "urls": [
- "bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c",
- "dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol": {
- "keccak256": "0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c",
- "urls": [
- "bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27",
- "dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/constants.sol": {
- "keccak256": "0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5",
- "urls": [
- "bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22",
- "dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/modules/init/types.sol": {
- "keccak256": "0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc",
- "urls": [
- "bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525",
- "dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/revertWithBytes.sol": {
- "keccak256": "0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5",
- "urls": [
- "bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359",
- "dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/worldResourceTypes.sol": {
- "keccak256": "0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465",
- "urls": [
- "bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea",
- "dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"
- ],
- "license": "MIT"
- },
- "src/codegen/common.sol": {
- "keccak256": "0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a",
- "urls": [
- "bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018",
- "dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"
- ],
- "license": "MIT"
- },
- "src/codegen/index.sol": {
- "keccak256": "0xfdd2eab59d2236c9dea22424159f6a2183bc6a801b57915487f0696537e089e5",
- "urls": [
- "bzz-raw://ba516e48c246749f8e0885e15f02d945dd0fdf6588a0d83e3002b7f3247fd6bc",
- "dweb:/ipfs/QmdUo8LuP6NobHUCKjT2Bg9hpz64JnLyo6WGMU4Y9sSDKN"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Admin.sol": {
- "keccak256": "0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725",
- "urls": [
- "bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614",
- "dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/CharacterEquipment.sol": {
- "keccak256": "0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8",
- "urls": [
- "bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6",
- "dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/CharacterStats.sol": {
- "keccak256": "0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627",
- "urls": [
- "bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4",
- "dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Characters.sol": {
- "keccak256": "0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7",
- "urls": [
- "bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6",
- "dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/CombatEncounter.sol": {
- "keccak256": "0xff0a6e9e6e34d739d3260d2e0ef2db0190dfb6eed6acf9b5e631228a35c37c42",
- "urls": [
- "bzz-raw://2bc2c8f088539657ffc555483e094d771ca60e12eb211af1fd5fc5d58d4fac74",
- "dweb:/ipfs/Qmd7PuyowVmPhRWoFQQMRaTihnn9iFQsaKQQRjTaW99eYP"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Counters.sol": {
- "keccak256": "0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad",
- "urls": [
- "bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf",
- "dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Items.sol": {
- "keccak256": "0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30",
- "urls": [
- "bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da",
- "dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Levels.sol": {
- "keccak256": "0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327",
- "urls": [
- "bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4",
- "dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/MobEntity.sol": {
- "keccak256": "0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5",
- "urls": [
- "bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0",
- "dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/MobStats.sol": {
- "keccak256": "0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57",
- "urls": [
- "bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09",
- "dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Mobs.sol": {
- "keccak256": "0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3",
- "urls": [
- "bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060",
- "dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Name.sol": {
- "keccak256": "0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99",
- "urls": [
- "bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4",
- "dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/NameExists.sol": {
- "keccak256": "0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab",
- "urls": [
- "bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf",
- "dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/RandomNumbers.sol": {
- "keccak256": "0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22",
- "urls": [
- "bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5",
- "dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/StarterItems.sol": {
- "keccak256": "0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3",
- "urls": [
- "bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3",
- "dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/UltimateDominionConfig.sol": {
- "keccak256": "0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26",
- "urls": [
- "bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256",
- "dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"
- ],
- "license": "MIT"
- },
- "src/codegen/world/ICharacterSystem.sol": {
- "keccak256": "0xb0d27dd67d9ea10ef835a91c9f1f264107dc2a4cdbeb5531049a5006704cc991",
- "urls": [
- "bzz-raw://e89727edf1e326df28d8c42d231d46df10a285ea2fdf7b73fe19f21c0901c22b",
- "dweb:/ipfs/QmeRQ4nkXiuh1DSWuGCrC5inRejZKhDZLwtNZn8ai1bV88"
- ],
- "license": "MIT"
- },
- "src/codegen/world/ICombatSystem.sol": {
- "keccak256": "0x70caf9c80ea6c72b8f5bb5262f5fc4e8733ebc249c24b7dfb5c881f7b85dab9d",
- "urls": [
- "bzz-raw://c3d1ef91292b619f37f8ad93ab9d3cb8e45b91674ab1edee5a7fc1c5d071a0c3",
- "dweb:/ipfs/QmNP2royisUVREpoqfYK1a2hhYodd6iS39yhYpvAPJnG4H"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IItemsSystem.sol": {
- "keccak256": "0x1795d0914aa67a81ffcf51328b6eeb9a5359692cd58122047354cf2b9be9c44e",
- "urls": [
- "bzz-raw://75ddc8d7780fd47d6981aa6324e545814f37ff3fb2be2b27e1e5aed97b15f225",
- "dweb:/ipfs/Qmcv98XaSvzK9fijokfySYEMDtyxu8RKp1mT9S2fDvJYoA"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IMobSystem.sol": {
- "keccak256": "0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad",
- "urls": [
- "bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134",
- "dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IUltimateDominionConfigSystem.sol": {
- "keccak256": "0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9",
- "urls": [
- "bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6",
- "dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IWorld.sol": {
- "keccak256": "0x71e049e0de75deadbd8edf2db7e0cc229e9c98d74694b39f1e8eed4101e1cf6d",
- "urls": [
- "bzz-raw://b14b5e37b9c18453e774408b5469d5d75530dce6b00955e12ef18ac8b4b6d018",
- "dweb:/ipfs/QmcZMHY1Bcmgg28qnj4dFuBSALuz2mV3XxNDZVvRCXxFru"
- ],
- "license": "MIT"
- },
- "src/interfaces/Structs.sol": {
- "keccak256": "0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e",
- "urls": [
- "bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8",
- "dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"
- ],
- "license": "MIT"
- }
- },
- "version": 1
- },
- "id": 196
-}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"uint256","internalType":"uint256"},{"name":"requiredItems","type":"uint256[]","internalType":"uint256[]"},{"name":"armorPenetration","type":"uint256","internalType":"uint256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createSkill","inputs":[{"name":"skillType","type":"uint8","internalType":"enum SkillType"},{"name":"skillStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"skillId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"moves","type":"tuple[]","internalType":"struct CombatMove[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"moves","type":"tuple[]","internalType":"struct CombatMove[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"},{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"hitPointModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((uint256,uint256[],uint256),bytes32,bytes32,uint256,uint256)":"de5b2631","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__createSkill(uint8,bytes)":"7fceccd4","UD__endTurn(bytes32,(bytes32,bytes32,bytes32,uint256)[])":"66518b7b","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"bonusDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"requiredItems\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"armorPenetration\",\"type\":\"uint256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum SkillType\",\"name\":\"skillType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"skillStats\",\"type\":\"bytes\"}],\"name\":\"UD__createSkill\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct CombatMove[]\",\"name\":\"moves\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct CombatMove[]\",\"name\":\"moves\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366\",\"dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1\",\"dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d\",\"dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Skills.sol\":{\"keccak256\":\"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f\",\"dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44\",\"dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d\",\"dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0xaccf72665d5f2d2e13a09d446aee9fb024908ece33679ebf9a26c447c5909420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78553166b36c778b8e7b5976cd8ca64e23090ba2fe9d83aa944396d5d9ebb30a\",\"dweb:/ipfs/QmTLWJYZjtWBD5RBcG7HQfyKaYPFf3ioQHdBTcCEFiHPrX\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa351bc5c3282b7622df82a98d5c36815bba39434d4d2ea903716d8a3f266efaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3168bd804395fb197a590db550f93cc831e35fec7546ba25cb3a013e15b0b3fc\",\"dweb:/ipfs/QmcCitUjsRm3hPYtGbeFBiKbDH4e3ptDRGkoYMMERUU9Q4\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159\",\"dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8\",\"dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u\"]},\"src/codegen/world/ISkillSystem.sol\":{\"keccak256\":\"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b\",\"dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c\",\"dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x5a3fbdd08871f81515875c406afbbdbee23dbddb7cc398b37fe598b85a24518d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67eb6e57a9204e13c116247d613c13e67c0d01471b5c1fac69931745fcd5b9db\",\"dweb:/ipfs/QmbxwYuD3XFwysHYG81VBbCgGP4haqqUZEEoqD6ajTDHLr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"uint256","name":"bonusDamage","type":"uint256"},{"internalType":"uint256[]","name":"requiredItems","type":"uint256[]"},{"internalType":"uint256","name":"armorPenetration","type":"uint256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"uint256","name":"damage","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct StatsData","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"enum SkillType","name":"skillType","type":"uint8"},{"internalType":"bytes","name":"skillStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createSkill","outputs":[{"internalType":"bytes32","name":"skillId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct CombatMove[]","name":"moves","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct CombatMove[]","name":"moves","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"},{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"int256","name":"hitPointModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de","urls":["bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366","dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b","urls":["bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1","dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6","urls":["bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d","dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Skills.sol":{"keccak256":"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7","urls":["bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f","dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4","urls":["bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44","dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300","urls":["bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d","dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0xaccf72665d5f2d2e13a09d446aee9fb024908ece33679ebf9a26c447c5909420","urls":["bzz-raw://78553166b36c778b8e7b5976cd8ca64e23090ba2fe9d83aa944396d5d9ebb30a","dweb:/ipfs/QmTLWJYZjtWBD5RBcG7HQfyKaYPFf3ioQHdBTcCEFiHPrX"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa351bc5c3282b7622df82a98d5c36815bba39434d4d2ea903716d8a3f266efaa","urls":["bzz-raw://3168bd804395fb197a590db550f93cc831e35fec7546ba25cb3a013e15b0b3fc","dweb:/ipfs/QmcCitUjsRm3hPYtGbeFBiKbDH4e3ptDRGkoYMMERUU9Q4"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7","urls":["bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159","dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5","urls":["bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8","dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u"],"license":"MIT"},"src/codegen/world/ISkillSystem.sol":{"keccak256":"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838","urls":["bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b","dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346","urls":["bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c","dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x5a3fbdd08871f81515875c406afbbdbee23dbddb7cc398b37fe598b85a24518d","urls":["bzz-raw://67eb6e57a9204e13c116247d613c13e67c0d01471b5c1fac69931745fcd5b9db","dweb:/ipfs/QmbxwYuD3XFwysHYG81VBbCgGP4haqqUZEEoqD6ajTDHLr"],"license":"MIT"}},"version":1},"id":202}
\ No newline at end of file
diff --git a/packages/contracts/script/DeployCharacters.sol b/packages/contracts/script/DeployCharacters.sol
index ab582dbce..ba0af6e54 100644
--- a/packages/contracts/script/DeployCharacters.sol
+++ b/packages/contracts/script/DeployCharacters.sol
@@ -1,56 +1,56 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { Script } from "forge-std/Script.sol";
-import { IERC721Mintable } from "@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol";
-import { registerERC721 } from "@latticexyz/world-modules/src/modules/erc721-puppet/registerERC721.sol";
-import { ERC721MetadataData } from "@latticexyz/world-modules/src/modules/erc721-puppet/tables/ERC721Metadata.sol";
-import { ResourceId, WorldResourceIdLib, WorldResourceIdInstance } from "@latticexyz/world/src/WorldResourceId.sol";
-import { RESOURCE_SYSTEM } from "@latticexyz/world/src/worldResourceTypes.sol";
-import { IWorld } from "../src/codegen/world/IWorld.sol";
-import { CharacterSystem } from "../src/systems/CharacterSystem.sol";
-import { System } from "@latticexyz/world/src/System.sol";
-import { CHARACTERS_NAMESPACE, ERC721_NAME, ERC721_SYMBOL, TOKEN_URI } from "../constants.sol";
-import { NoTransferHook } from "../src/NoTransferHook.sol";
-import { _erc721SystemId } from "@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol";
-import { BEFORE_CALL_SYSTEM } from "@latticexyz/world/src/systemHookTypes.sol";
-
-import { UltimateDominionConfig } from "../src/codegen/index.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {Script} from "forge-std/Script.sol";
+import {IERC721Mintable} from "@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol";
+import {registerERC721} from "@latticexyz/world-modules/src/modules/erc721-puppet/registerERC721.sol";
+import {ERC721MetadataData} from "@latticexyz/world-modules/src/modules/erc721-puppet/tables/ERC721Metadata.sol";
+import {ResourceId, WorldResourceIdLib, WorldResourceIdInstance} from "@latticexyz/world/src/WorldResourceId.sol";
+import {RESOURCE_SYSTEM} from "@latticexyz/world/src/worldResourceTypes.sol";
+import {IWorld} from "../src/codegen/world/IWorld.sol";
+import {CharacterSystem} from "../src/systems/CharacterSystem.sol";
+import {System} from "@latticexyz/world/src/System.sol";
+import {CHARACTERS_NAMESPACE, ERC721_NAME, ERC721_SYMBOL, TOKEN_URI} from "../constants.sol";
+import {NoTransferHook} from "../src/NoTransferHook.sol";
+import {_erc721SystemId} from "@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol";
+import {BEFORE_CALL_SYSTEM} from "@latticexyz/world/src/systemHookTypes.sol";
+
+import {UltimateDominionConfig} from "../src/codegen/index.sol";
import "forge-std/console2.sol";
contract DeployCharacters is Script {
- function run(address worldAddress) public returns (address) {
- IWorld world = IWorld(worldAddress);
- StoreSwitch.setStoreAddress(worldAddress);
+ function run(address worldAddress) public returns (address) {
+ IWorld world = IWorld(worldAddress);
+ StoreSwitch.setStoreAddress(worldAddress);
- uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
- vm.startBroadcast(deployerPrivateKey);
+ uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
+ vm.startBroadcast(deployerPrivateKey);
- IERC721Mintable characters = registerERC721(
- world,
- CHARACTERS_NAMESPACE,
- ERC721MetadataData({ name: ERC721_NAME, symbol: ERC721_SYMBOL, baseURI: TOKEN_URI })
- );
+ IERC721Mintable characters = registerERC721(
+ world,
+ CHARACTERS_NAMESPACE,
+ ERC721MetadataData({name: ERC721_NAME, symbol: ERC721_SYMBOL, baseURI: TOKEN_URI})
+ );
- ResourceId systemId = WorldResourceIdLib.encode(RESOURCE_SYSTEM, "Characters", "Character");
+ ResourceId systemId = WorldResourceIdLib.encode(RESOURCE_SYSTEM, "Characters", "Character");
- System systemContract = new CharacterSystem();
+ System systemContract = new CharacterSystem();
- ResourceId namespaceId = WorldResourceIdLib.encodeNamespace("Characters");
+ ResourceId namespaceId = WorldResourceIdLib.encodeNamespace("Characters");
- world.registerSystem(systemId, systemContract, true);
+ world.registerSystem(systemId, systemContract, true);
- NoTransferHook characterHook = new NoTransferHook();
+ NoTransferHook characterHook = new NoTransferHook();
- world.registerSystemHook(_erc721SystemId(CHARACTERS_NAMESPACE), characterHook, BEFORE_CALL_SYSTEM);
+ world.registerSystemHook(_erc721SystemId(CHARACTERS_NAMESPACE), characterHook, BEFORE_CALL_SYSTEM);
- // Transfer characters namespace to World
- world.transferOwnership(namespaceId, worldAddress);
+ // Transfer characters namespace to World
+ world.transferOwnership(namespaceId, worldAddress);
- UltimateDominionConfig.setCharacterToken(address(characters));
- console2.log("CHAR: ", address(characters));
- vm.stopBroadcast();
- return address(characters);
- }
+ UltimateDominionConfig.setCharacterToken(address(characters));
+ console2.log("CHAR: ", address(characters));
+ vm.stopBroadcast();
+ return address(characters);
+ }
}
diff --git a/packages/contracts/script/DeployGold.sol b/packages/contracts/script/DeployGold.sol
index 6a939cca6..f1d38b6a0 100644
--- a/packages/contracts/script/DeployGold.sol
+++ b/packages/contracts/script/DeployGold.sol
@@ -1,46 +1,43 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { Script } from "forge-std/Script.sol";
-import { IERC20Mintable } from "@latticexyz/world-modules/src/modules/erc20-puppet/IERC20Mintable.sol";
-import { registerERC20 } from "@latticexyz/world-modules/src/modules/erc20-puppet/registerERC20.sol";
-import { ERC20MetadataData } from "@latticexyz/world-modules/src/modules/erc20-puppet/tables/ERC20Metadata.sol";
-import { ResourceId, WorldResourceIdLib, WorldResourceIdInstance } from "@latticexyz/world/src/WorldResourceId.sol";
-import { IWorld } from "../src/codegen/world/IWorld.sol";
-import { RESOURCE_SYSTEM } from "@latticexyz/world/src/worldResourceTypes.sol";
-import { System } from "@latticexyz/world/src/System.sol";
-import { GOLD_NAMESPACE } from "../constants.sol";
-import { CharacterSystem } from "../src/systems/CharacterSystem.sol";
-
-import { UltimateDominionConfig } from "../src/codegen/index.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {Script} from "forge-std/Script.sol";
+import {IERC20Mintable} from "@latticexyz/world-modules/src/modules/erc20-puppet/IERC20Mintable.sol";
+import {registerERC20} from "@latticexyz/world-modules/src/modules/erc20-puppet/registerERC20.sol";
+import {ERC20MetadataData} from "@latticexyz/world-modules/src/modules/erc20-puppet/tables/ERC20Metadata.sol";
+import {ResourceId, WorldResourceIdLib, WorldResourceIdInstance} from "@latticexyz/world/src/WorldResourceId.sol";
+import {IWorld} from "../src/codegen/world/IWorld.sol";
+import {RESOURCE_SYSTEM} from "@latticexyz/world/src/worldResourceTypes.sol";
+import {System} from "@latticexyz/world/src/System.sol";
+import {GOLD_NAMESPACE} from "../constants.sol";
+import {CharacterSystem} from "../src/systems/CharacterSystem.sol";
+
+import {UltimateDominionConfig} from "../src/codegen/index.sol";
import "forge-std/console2.sol";
contract DeployGold is Script {
- function run(address worldAddress) public returns (address) {
- IWorld world = IWorld(worldAddress);
- StoreSwitch.setStoreAddress(worldAddress);
+ function run(address worldAddress) public returns (address) {
+ IWorld world = IWorld(worldAddress);
+ StoreSwitch.setStoreAddress(worldAddress);
- uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
- vm.startBroadcast(deployerPrivateKey);
+ uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
+ vm.startBroadcast(deployerPrivateKey);
- IERC20Mintable goldToken = registerERC20(
- world,
- GOLD_NAMESPACE,
- ERC20MetadataData({ decimals: 18, name: "Gold", symbol: unicode"🜚" })
- );
+ IERC20Mintable goldToken =
+ registerERC20(world, GOLD_NAMESPACE, ERC20MetadataData({decimals: 18, name: "Gold", symbol: unicode"🜚"}));
- ResourceId systemId = WorldResourceIdLib.encode(RESOURCE_SYSTEM, "Gold", "GoldToken");
+ ResourceId systemId = WorldResourceIdLib.encode(RESOURCE_SYSTEM, "Gold", "GoldToken");
- System systemContract = new CharacterSystem();
+ System systemContract = new CharacterSystem();
- world.registerSystem(systemId, systemContract, true);
+ world.registerSystem(systemId, systemContract, true);
- goldToken.mint(worldAddress, 100_000_000 ether);
- UltimateDominionConfig.setGoldToken(address(goldToken));
+ goldToken.mint(worldAddress, 100_000_000 ether);
+ UltimateDominionConfig.setGoldToken(address(goldToken));
- vm.stopBroadcast();
+ vm.stopBroadcast();
- return address(goldToken);
- }
+ return address(goldToken);
+ }
}
diff --git a/packages/contracts/script/PostDeploy.s.sol b/packages/contracts/script/PostDeploy.s.sol
index 1e68e02da..9e8b20947 100644
--- a/packages/contracts/script/PostDeploy.s.sol
+++ b/packages/contracts/script/PostDeploy.s.sol
@@ -1,250 +1,238 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-import { Script } from "forge-std/Script.sol";
-import { console } from "forge-std/console.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore, EncodedLengths } from "@latticexyz/store/src/StoreCore.sol";
-import { MockEntropy } from "@test/mocks/MockEntropy.sol";
-import { PuppetModule } from "@latticexyz/world-modules/src/modules/puppet/PuppetModule.sol";
-import { Systems } from "@latticexyz/world/src/codegen/tables/Systems.sol";
-import { IWorld } from "@world/IWorld.sol";
-import { UltimateDominionConfig, Levels, MapConfig } from "@codegen/index.sol";
-import { ResourceIdLib } from "@latticexyz/store/src/ResourceId.sol";
-import { ResourceId, WorldResourceIdLib, WorldResourceIdInstance } from "@latticexyz/world/src/WorldResourceId.sol";
-import { RESOURCE_SYSTEM } from "@latticexyz/world/src/worldResourceTypes.sol";
-import { DeployGold } from "./DeployGold.sol";
-import { DeployCharacters } from "./DeployCharacters.sol";
-import { RngSystem } from "../src/systems/RngSystem.sol";
-import { IERC721Mintable } from "@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol";
-import { registerERC721 } from "@latticexyz/world-modules/src/modules/erc721-puppet/registerERC721.sol";
-import { ERC721System } from "@latticexyz/world-modules/src/modules/erc721-puppet/ERC721System.sol";
-import { ERC721MetadataData } from "@latticexyz/world-modules/src/modules/erc721-puppet/tables/ERC721Metadata.sol";
-import { GOLD_NAMESPACE, CHARACTERS_NAMESPACE, ERC721_NAME, ERC721_SYMBOL, ITEMS_NAMESPACE, TOKEN_URI } from "../constants.sol";
-import { NoTransferHook } from "../src/NoTransferHook.sol";
-import { BEFORE_CALL_SYSTEM } from "@latticexyz/world/src/systemHookTypes.sol";
-import { Classes, ItemType } from "@codegen/common.sol";
-import { WeaponStats } from "@interfaces/Structs.sol";
-import { IERC20Mintable } from "@latticexyz/world-modules/src/modules/erc20-puppet/IERC20Mintable.sol";
-import { ERC20MetadataData } from "@latticexyz/world-modules/src/modules/erc20-puppet/tables/ERC20Metadata.sol";
-import { ERC20System } from "@latticexyz/world-modules/src/modules/erc20-puppet/ERC20System.sol";
-import { registerERC20 } from "@latticexyz/world-modules/src/modules/erc20-puppet/registerERC20.sol";
-import { System } from "@latticexyz/world/src/System.sol";
-import { CharacterSystem } from "../src/systems/CharacterSystem.sol";
-
-import { ERC1155Module } from "@erc1155/ERC1155Module.sol";
-import { ERC1155System } from "@erc1155/ERC1155System.sol";
-import { IERC1155 } from "@erc1155/IERC1155.sol";
-import { registerERC1155 } from "@erc1155/registerERC1155.sol";
-import { _erc1155SystemId } from "@erc1155/utils.sol";
+import {Script} from "forge-std/Script.sol";
+import {console} from "forge-std/console.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore, EncodedLengths} from "@latticexyz/store/src/StoreCore.sol";
+import {MockEntropy} from "@test/mocks/MockEntropy.sol";
+import {PuppetModule} from "@latticexyz/world-modules/src/modules/puppet/PuppetModule.sol";
+import {Systems} from "@latticexyz/world/src/codegen/tables/Systems.sol";
+import {IWorld} from "@world/IWorld.sol";
+import {UltimateDominionConfig, Levels, MapConfig} from "@codegen/index.sol";
+import {ResourceIdLib} from "@latticexyz/store/src/ResourceId.sol";
+import {ResourceId, WorldResourceIdLib, WorldResourceIdInstance} from "@latticexyz/world/src/WorldResourceId.sol";
+import {RESOURCE_SYSTEM} from "@latticexyz/world/src/worldResourceTypes.sol";
+import {DeployGold} from "./DeployGold.sol";
+import {DeployCharacters} from "./DeployCharacters.sol";
+import {RngSystem} from "../src/systems/RngSystem.sol";
+import {IERC721Mintable} from "@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol";
+import {registerERC721} from "@latticexyz/world-modules/src/modules/erc721-puppet/registerERC721.sol";
+import {ERC721System} from "@latticexyz/world-modules/src/modules/erc721-puppet/ERC721System.sol";
+import {ERC721MetadataData} from "@latticexyz/world-modules/src/modules/erc721-puppet/tables/ERC721Metadata.sol";
+import {
+ GOLD_NAMESPACE,
+ CHARACTERS_NAMESPACE,
+ ERC721_NAME,
+ ERC721_SYMBOL,
+ ITEMS_NAMESPACE,
+ TOKEN_URI
+} from "../constants.sol";
+import {NoTransferHook} from "../src/NoTransferHook.sol";
+import {BEFORE_CALL_SYSTEM} from "@latticexyz/world/src/systemHookTypes.sol";
+import {Classes, ItemType} from "@codegen/common.sol";
+import {WeaponStats} from "@interfaces/Structs.sol";
+import {IERC20Mintable} from "@latticexyz/world-modules/src/modules/erc20-puppet/IERC20Mintable.sol";
+import {ERC20MetadataData} from "@latticexyz/world-modules/src/modules/erc20-puppet/tables/ERC20Metadata.sol";
+import {ERC20System} from "@latticexyz/world-modules/src/modules/erc20-puppet/ERC20System.sol";
+import {registerERC20} from "@latticexyz/world-modules/src/modules/erc20-puppet/registerERC20.sol";
+import {System} from "@latticexyz/world/src/System.sol";
+import {CharacterSystem} from "../src/systems/CharacterSystem.sol";
+
+import {ERC1155Module} from "@erc1155/ERC1155Module.sol";
+import {ERC1155System} from "@erc1155/ERC1155System.sol";
+import {IERC1155} from "@erc1155/IERC1155.sol";
+import {registerERC1155} from "@erc1155/registerERC1155.sol";
+import {_erc1155SystemId} from "@erc1155/utils.sol";
import "forge-std/console2.sol";
struct ResourceIds {
- ResourceId erc721SystemId;
- ResourceId erc721NamespaceId;
- ResourceId characterSystemId;
- ResourceId erc20SystemId;
- ResourceId erc20NamespaceId;
- ResourceId rngSystemId;
- ResourceId erc1155SystemId;
- ResourceId erc1155NamespaceId;
- ResourceId itemsSystemId;
+ ResourceId erc721SystemId;
+ ResourceId erc721NamespaceId;
+ ResourceId characterSystemId;
+ ResourceId erc20SystemId;
+ ResourceId erc20NamespaceId;
+ ResourceId rngSystemId;
+ ResourceId erc1155SystemId;
+ ResourceId erc1155NamespaceId;
+ ResourceId itemsSystemId;
}
contract PostDeploy is Script {
- IWorld public world;
- ResourceIds public resourceIds;
- address public worldAddress;
-
- function run(address _worldAddress) external {
- worldAddress = _worldAddress;
- world = IWorld(worldAddress);
- // Specify a store so that you can use tables directly in PostDeploy
- StoreSwitch.setStoreAddress(worldAddress);
-
- // Load the private key from the `PRIVATE_KEY` environment variable (in .env)
- uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
-
- // Start broadcasting transactions from the deployer account
- vm.startBroadcast(deployerPrivateKey);
- if (block.chainid == 31337) {
- // Set entropy contracts
- address mockEntropy = address(new MockEntropy());
- UltimateDominionConfig.setEntropy(mockEntropy);
- UltimateDominionConfig.setPythProvider(address(1));
- } else if (block.chainid == 84532) {
- UltimateDominionConfig.setEntropy(0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c);
- UltimateDominionConfig.setPythProvider(0x6CC14824Ea2918f5De5C2f75A9Da968ad4BD6344);
- } else if (block.chainid == 8453) {
- UltimateDominionConfig.setEntropy(0x6E7D74FA7d5c90FEF9F0512987605a6d546181Bb);
- UltimateDominionConfig.setPythProvider(0x52DeaA1c84233F7bb8C8A45baeDE41091c616506);
+ IWorld public world;
+ ResourceIds public resourceIds;
+ address public worldAddress;
+
+ function run(address _worldAddress) external {
+ worldAddress = _worldAddress;
+ world = IWorld(worldAddress);
+ // Specify a store so that you can use tables directly in PostDeploy
+ StoreSwitch.setStoreAddress(worldAddress);
+
+ // Load the private key from the `PRIVATE_KEY` environment variable (in .env)
+ uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
+
+ // Start broadcasting transactions from the deployer account
+ vm.startBroadcast(deployerPrivateKey);
+ if (block.chainid == 31337) {
+ // Set entropy contracts
+ address mockEntropy = address(new MockEntropy());
+ UltimateDominionConfig.setEntropy(mockEntropy);
+ UltimateDominionConfig.setPythProvider(address(1));
+ } else if (block.chainid == 84532) {
+ UltimateDominionConfig.setEntropy(0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c);
+ UltimateDominionConfig.setPythProvider(0x6CC14824Ea2918f5De5C2f75A9Da968ad4BD6344);
+ } else if (block.chainid == 8453) {
+ UltimateDominionConfig.setEntropy(0x6E7D74FA7d5c90FEF9F0512987605a6d546181Bb);
+ UltimateDominionConfig.setPythProvider(0x52DeaA1c84233F7bb8C8A45baeDE41091c616506);
+ }
+
+ uint16 height = uint16(10);
+ uint16 width = uint16(10);
+ MapConfig.set(width, height);
+
+ //install puppet
+ world.installModule(new PuppetModule(), new bytes(0));
+
+ _addRngSystem();
+
+ // install gold module
+ IERC20Mintable goldToken = registerERC20(
+ world, GOLD_NAMESPACE, ERC20MetadataData({decimals: 18, name: "GoldToken", symbol: unicode"🜚"})
+ );
+
+ UltimateDominionConfig.setGoldToken(address(goldToken));
+
+ // characters
+ IERC721Mintable characters = registerERC721(
+ world,
+ CHARACTERS_NAMESPACE,
+ ERC721MetadataData({name: ERC721_NAME, symbol: ERC721_SYMBOL, baseURI: TOKEN_URI})
+ );
+
+ UltimateDominionConfig.setCharacterToken(address(characters));
+
+ {
+ resourceIds.erc20NamespaceId = WorldResourceIdLib.encodeNamespace(GOLD_NAMESPACE);
+ resourceIds.erc20SystemId =
+ WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: "Gold", name: "GoldToken"});
+
+ resourceIds.characterSystemId =
+ WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: "UD", name: "CharacterSystem"});
+
+ resourceIds.erc721NamespaceId = WorldResourceIdLib.encodeNamespace(CHARACTERS_NAMESPACE);
+
+ resourceIds.erc721SystemId =
+ WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: "Characters", name: "ERC721System"});
+
+ resourceIds.erc1155SystemId = _erc1155SystemId(ITEMS_NAMESPACE);
+ resourceIds.erc1155NamespaceId = WorldResourceIdLib.encodeNamespace(ITEMS_NAMESPACE);
+ resourceIds.itemsSystemId =
+ WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: "UD", name: "ItemsSystem"});
+ }
+
+ address characterSystemAddress = Systems.getSystem(resourceIds.characterSystemId);
+
+ System goldSystemContract = new ERC20System();
+
+ world.registerSystem(resourceIds.erc20SystemId, goldSystemContract, true);
+
+ IWorld(worldAddress).grantAccess(resourceIds.erc20NamespaceId, worldAddress);
+ IWorld(worldAddress).registerFunctionSelector(resourceIds.erc20SystemId, "mint(address,uint256)");
+
+ world.transferOwnership(resourceIds.erc20NamespaceId, address(characterSystemAddress));
+
+ System systemContract = new ERC721System();
+ world.registerSystem(resourceIds.erc721SystemId, systemContract, true);
+
+ NoTransferHook characterHook = new NoTransferHook();
+
+ world.registerSystemHook(resourceIds.erc721SystemId, characterHook, BEFORE_CALL_SYSTEM);
+
+ // Transfer characters namespace to World
+ world.grantAccess(resourceIds.erc721SystemId, worldAddress);
+ world.grantAccess(resourceIds.erc721SystemId, characterSystemAddress);
+ world.transferOwnership(resourceIds.erc721NamespaceId, characterSystemAddress);
+
+ address items = _deployErc1155(world, ITEMS_NAMESPACE);
+ UltimateDominionConfig.setItems(address(items));
+
+ _createStarterItems();
+ setLevels();
+ vm.stopBroadcast();
+ }
+
+ function _deployErc1155(IWorld _world, bytes14 itemsNamespace) internal returns (address) {
+ IERC1155 _items = registerERC1155(_world, itemsNamespace, "test_Items_uri/");
+
+ // ERC1155System erc1155System = new ERC1155System();
+ address itemsSystemAddress = Systems.getSystem(resourceIds.itemsSystemId);
+
+ // _world.registerSystem(resourceIds.erc1155SystemId, erc1155System, false);
+ _world.grantAccess(resourceIds.erc1155SystemId, worldAddress);
+ world.transferOwnership(resourceIds.erc1155NamespaceId, itemsSystemAddress);
+ return address(_items);
+ }
+
+ function _addRngSystem() internal {
+ System rngSystem = new RngSystem();
+
+ resourceIds.rngSystemId = WorldResourceIdLib.encode(RESOURCE_SYSTEM, "", "RngSystem");
+
+ world.registerSystem(resourceIds.rngSystemId, rngSystem, true);
+ world.registerRootFunctionSelector(
+ resourceIds.rngSystemId, "getRng(bytes32,uint8,bytes)", "getRng(bytes32,uint8,bytes)"
+ );
+ world.registerRootFunctionSelector(
+ resourceIds.rngSystemId,
+ "entropyCallback(uint64,address,bytes32)",
+ "entropyCallback(uint64,address,bytes32)"
+ );
+ world.registerRootFunctionSelector(
+ resourceIds.rngSystemId,
+ "_entropyCallback(uint64,address,bytes32)",
+ "_entropyCallback(uint64,address,bytes32)"
+ );
+ world.registerRootFunctionSelector(resourceIds.rngSystemId, "getFee()", "getFee()");
+ world.registerRootFunctionSelector(resourceIds.rngSystemId, "getEntropy()", "getEntropy()");
}
- uint32 height = uint32(10);
- uint32 width = uint32(10);
- MapConfig.set(width, height);
-
- //install puppet
- world.installModule(new PuppetModule(), new bytes(0));
-
- _addRngSystem();
-
- // install gold module
- IERC20Mintable goldToken = registerERC20(
- world,
- GOLD_NAMESPACE,
- ERC20MetadataData({ decimals: 18, name: "GoldToken", symbol: unicode"🜚" })
- );
-
- UltimateDominionConfig.setGoldToken(address(goldToken));
-
- // characters
- IERC721Mintable characters = registerERC721(
- world,
- CHARACTERS_NAMESPACE,
- ERC721MetadataData({ name: ERC721_NAME, symbol: ERC721_SYMBOL, baseURI: TOKEN_URI })
- );
-
- UltimateDominionConfig.setCharacterToken(address(characters));
-
- {
- resourceIds.erc20NamespaceId = WorldResourceIdLib.encodeNamespace(GOLD_NAMESPACE);
- resourceIds.erc20SystemId = WorldResourceIdLib.encode({
- typeId: RESOURCE_SYSTEM,
- namespace: "Gold",
- name: "GoldToken"
- });
-
- resourceIds.characterSystemId = WorldResourceIdLib.encode({
- typeId: RESOURCE_SYSTEM,
- namespace: "UD",
- name: "CharacterSystem"
- });
-
- resourceIds.erc721NamespaceId = WorldResourceIdLib.encodeNamespace(CHARACTERS_NAMESPACE);
-
- resourceIds.erc721SystemId = WorldResourceIdLib.encode({
- typeId: RESOURCE_SYSTEM,
- namespace: "Characters",
- name: "ERC721System"
- });
-
- resourceIds.erc1155SystemId = _erc1155SystemId(ITEMS_NAMESPACE);
- resourceIds.erc1155NamespaceId = WorldResourceIdLib.encodeNamespace(ITEMS_NAMESPACE);
- resourceIds.itemsSystemId = WorldResourceIdLib.encode({
- typeId: RESOURCE_SYSTEM,
- namespace: "UD",
- name: "ItemsSystem"
- });
+ function _createStarterItems() internal {
+ uint8[] memory restrictions = new uint8[](0);
+ WeaponStats memory weaponStats =
+ WeaponStats({minDamage: 1, maxDamage: 4, classRestrictions: restrictions, minLevel: 0});
+
+ uint256 starterItemId =
+ world.UD__createItem(ItemType.Weapon, 10 ether, abi.encode(weaponStats), "starter-weapon-uri/");
+ uint256[] memory itemIds = new uint256[](1);
+ itemIds[0] = starterItemId;
+ uint256[] memory amounts = new uint256[](1);
+ amounts[0] = 1;
+ world.UD__setStarterItems(Classes.Rogue, itemIds, amounts);
+ world.UD__setStarterItems(Classes.Warrior, itemIds, amounts);
+ world.UD__setStarterItems(Classes.Mage, itemIds, amounts);
}
- address characterSystemAddress = Systems.getSystem(resourceIds.characterSystemId);
-
- System goldSystemContract = new ERC20System();
-
- world.registerSystem(resourceIds.erc20SystemId, goldSystemContract, true);
-
- IWorld(worldAddress).grantAccess(resourceIds.erc20NamespaceId, worldAddress);
- IWorld(worldAddress).registerFunctionSelector(resourceIds.erc20SystemId, "mint(address,uint256)");
-
- world.transferOwnership(resourceIds.erc20NamespaceId, address(characterSystemAddress));
-
- System systemContract = new ERC721System();
- world.registerSystem(resourceIds.erc721SystemId, systemContract, true);
-
- NoTransferHook characterHook = new NoTransferHook();
-
- world.registerSystemHook(resourceIds.erc721SystemId, characterHook, BEFORE_CALL_SYSTEM);
-
- // Transfer characters namespace to World
- world.grantAccess(resourceIds.erc721SystemId, worldAddress);
- world.grantAccess(resourceIds.erc721SystemId, characterSystemAddress);
- world.transferOwnership(resourceIds.erc721NamespaceId, characterSystemAddress);
-
- address items = _deployErc1155(world, ITEMS_NAMESPACE);
- UltimateDominionConfig.setItems(address(items));
-
- _createStarterItems();
- setLevels();
- vm.stopBroadcast();
- }
-
- function _deployErc1155(IWorld _world, bytes14 itemsNamespace) internal returns (address) {
- IERC1155 _items = registerERC1155(_world, itemsNamespace, "test_Items_uri/");
-
- // ERC1155System erc1155System = new ERC1155System();
- address itemsSystemAddress = Systems.getSystem(resourceIds.itemsSystemId);
-
- // _world.registerSystem(resourceIds.erc1155SystemId, erc1155System, false);
- _world.grantAccess(resourceIds.erc1155SystemId, worldAddress);
- world.transferOwnership(resourceIds.erc1155NamespaceId, itemsSystemAddress);
- return address(_items);
- }
-
- function _addRngSystem() internal {
- System rngSystem = new RngSystem();
-
- resourceIds.rngSystemId = WorldResourceIdLib.encode(RESOURCE_SYSTEM, "", "RngSystem");
-
- world.registerSystem(resourceIds.rngSystemId, rngSystem, true);
- world.registerRootFunctionSelector(
- resourceIds.rngSystemId,
- "getRng(bytes32,uint8,bytes)",
- "getRng(bytes32,uint8,bytes)"
- );
- world.registerRootFunctionSelector(
- resourceIds.rngSystemId,
- "entropyCallback(uint64,address,bytes32)",
- "entropyCallback(uint64,address,bytes32)"
- );
- world.registerRootFunctionSelector(
- resourceIds.rngSystemId,
- "_entropyCallback(uint64,address,bytes32)",
- "_entropyCallback(uint64,address,bytes32)"
- );
- world.registerRootFunctionSelector(resourceIds.rngSystemId, "getFee()", "getFee()");
- world.registerRootFunctionSelector(resourceIds.rngSystemId, "getEntropy()", "getEntropy()");
- }
-
- function _createStarterItems() internal {
- uint8[] memory restrictions = new uint8[](0);
- WeaponStats memory weaponStats = WeaponStats({ damage: 1, speed: 2, classRestrictions: restrictions, minLevel: 0 });
-
- uint256 starterItemId = world.UD__createItem(
- ItemType.Weapon,
- 10 ether,
- abi.encode(weaponStats),
- "starter-weapon-uri/"
- );
- uint256[] memory itemIds = new uint256[](1);
- itemIds[0] = starterItemId;
- uint256[] memory amounts = new uint256[](1);
- amounts[0] = 1;
- world.UD__setStarterItems(Classes.Rogue, itemIds, amounts);
- world.UD__setStarterItems(Classes.Warrior, itemIds, amounts);
- world.UD__setStarterItems(Classes.Mage, itemIds, amounts);
- }
-
- function setLevels() internal {
- Levels.setExperience(1, 300);
- Levels.setExperience(2, 900);
- Levels.setExperience(3, 2700);
- Levels.setExperience(4, 6500);
- Levels.setExperience(5, 14000);
- Levels.setExperience(6, 23000);
- Levels.setExperience(7, 34000);
- Levels.setExperience(8, 48000);
- Levels.setExperience(9, 64000);
- Levels.setExperience(10, 85000);
- Levels.setExperience(11, 100000);
- Levels.setExperience(12, 120000);
- Levels.setExperience(13, 140000);
- Levels.setExperience(14, 165000);
- Levels.setExperience(15, 195000);
- Levels.setExperience(16, 225000);
- Levels.setExperience(17, 265000);
- Levels.setExperience(18, 305000);
- Levels.setExperience(19, 355000);
- }
+ function setLevels() internal {
+ Levels.setExperience(1, 300);
+ Levels.setExperience(2, 900);
+ Levels.setExperience(3, 2700);
+ Levels.setExperience(4, 6500);
+ Levels.setExperience(5, 14000);
+ Levels.setExperience(6, 23000);
+ Levels.setExperience(7, 34000);
+ Levels.setExperience(8, 48000);
+ Levels.setExperience(9, 64000);
+ Levels.setExperience(10, 85000);
+ Levels.setExperience(11, 100000);
+ Levels.setExperience(12, 120000);
+ Levels.setExperience(13, 140000);
+ Levels.setExperience(14, 165000);
+ Levels.setExperience(15, 195000);
+ Levels.setExperience(16, 225000);
+ Levels.setExperience(17, 265000);
+ Levels.setExperience(18, 305000);
+ Levels.setExperience(19, 355000);
+ }
}
diff --git a/packages/contracts/src/NoTransferHook.sol b/packages/contracts/src/NoTransferHook.sol
index 0c77192aa..d7d25a4fe 100644
--- a/packages/contracts/src/NoTransferHook.sol
+++ b/packages/contracts/src/NoTransferHook.sol
@@ -1,16 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-import { ResourceId } from '@latticexyz/store/src/ResourceId.sol';
-import { SystemHook } from '@latticexyz/world/src/SystemHook.sol';
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import {SystemHook} from "@latticexyz/world/src/SystemHook.sol";
contract NoTransferHook is SystemHook {
- bytes4 constant transferFromSelector = bytes4(keccak256('transferFrom(address,address,uint256)'));
+ bytes4 constant transferFromSelector = bytes4(keccak256("transferFrom(address,address,uint256)"));
- function onBeforeCallSystem(address, ResourceId, bytes memory callData) public pure {
- bytes4 selector = bytes4(callData);
- require(selector != transferFromSelector, 'this token is non-transferrable');
- }
+ function onBeforeCallSystem(address, ResourceId, bytes memory callData) public pure {
+ bytes4 selector = bytes4(callData);
+ require(selector != transferFromSelector, "this token is non-transferrable");
+ }
- function onAfterCallSystem(address, ResourceId, bytes memory) public {}
+ function onAfterCallSystem(address, ResourceId, bytes memory) public {}
}
diff --git a/packages/contracts/src/codegen/common.sol b/packages/contracts/src/codegen/common.sol
index 32ac299d1..f365c3657 100644
--- a/packages/contracts/src/codegen/common.sol
+++ b/packages/contracts/src/codegen/common.sol
@@ -41,7 +41,17 @@ enum EncounterType {
}
enum SkillType {
+ Temporary,
PhysicalAttack,
MagicAttack,
StatusEffect
}
+
+enum StatusEffects {
+ ToHitModifier,
+ DoT,
+ HitPointMod,
+ ArmorMod,
+ WeaponMod,
+ Stun
+}
diff --git a/packages/contracts/src/codegen/index.sol b/packages/contracts/src/codegen/index.sol
index 9494f834d..eb6699301 100644
--- a/packages/contracts/src/codegen/index.sol
+++ b/packages/contracts/src/codegen/index.sol
@@ -5,22 +5,21 @@ pragma solidity >=0.8.24;
import { Admin } from "./tables/Admin.sol";
import { Characters, CharactersData } from "./tables/Characters.sol";
-import { CharacterStats, CharacterStatsData } from "./tables/CharacterStats.sol";
+import { Stats, StatsData } from "./tables/Stats.sol";
import { MapConfig } from "./tables/MapConfig.sol";
-import { Position } from "./tables/Position.sol";
import { Spawned } from "./tables/Spawned.sol";
-import { MobStats, MobStatsData } from "./tables/MobStats.sol";
+import { Mobs, MobsData } from "./tables/Mobs.sol";
import { Levels } from "./tables/Levels.sol";
import { CharacterEquipment, CharacterEquipmentData } from "./tables/CharacterEquipment.sol";
import { Counters } from "./tables/Counters.sol";
import { Items, ItemsData } from "./tables/Items.sol";
-import { Mobs, MobsData } from "./tables/Mobs.sol";
+import { Skills, SkillsData } from "./tables/Skills.sol";
import { StarterItems, StarterItemsData } from "./tables/StarterItems.sol";
import { Name } from "./tables/Name.sol";
import { NameExists } from "./tables/NameExists.sol";
import { CombatEncounter, CombatEncounterData } from "./tables/CombatEncounter.sol";
-import { MobEntity, MobEntityData } from "./tables/MobEntity.sol";
+import { MatchEntity, MatchEntityData } from "./tables/MatchEntity.sol";
import { RandomNumbers, RandomNumbersData } from "./tables/RandomNumbers.sol";
-import { Position, PositionData } from "./tables/Position.sol";
+import { Position } from "./tables/Position.sol";
import { EntitiesAtPosition } from "./tables/EntitiesAtPosition.sol";
import { UltimateDominionConfig, UltimateDominionConfigData } from "./tables/UltimateDominionConfig.sol";
diff --git a/packages/contracts/src/codegen/tables/CharacterEquipment.sol b/packages/contracts/src/codegen/tables/CharacterEquipment.sol
index 7b27ec7cb..d14782577 100644
--- a/packages/contracts/src/codegen/tables/CharacterEquipment.sol
+++ b/packages/contracts/src/codegen/tables/CharacterEquipment.sol
@@ -17,9 +17,14 @@ import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/Encoded
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
struct CharacterEquipmentData {
+ int256 strBonus;
+ int256 agiBonus;
+ int256 intBonus;
+ int256 hpBonus;
uint256[] equippedArmor;
uint256[] equippedWeapons;
- uint256[] equippedSpells;
+ bytes32[] equippedSpells;
+ bytes32[] equippedSkills;
}
library CharacterEquipment {
@@ -27,12 +32,12 @@ library CharacterEquipment {
ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000043686172616374657245717569706d65);
FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0000000300000000000000000000000000000000000000000000000000000000);
+ FieldLayout.wrap(0x0080040420202020000000000000000000000000000000000000000000000000);
// Hex-encoded key schema of (bytes32)
Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256[], uint256[], uint256[])
- Schema constant _valueSchema = Schema.wrap(0x0000000381818100000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (int256, int256, int256, int256, uint256[], uint256[], bytes32[], bytes32[])
+ Schema constant _valueSchema = Schema.wrap(0x008004043f3f3f3f8181c1c10000000000000000000000000000000000000000);
/**
* @notice Get the table's key field names.
@@ -48,10 +53,15 @@ library CharacterEquipment {
* @return fieldNames An array of strings with the names of value fields.
*/
function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](3);
- fieldNames[0] = "equippedArmor";
- fieldNames[1] = "equippedWeapons";
- fieldNames[2] = "equippedSpells";
+ fieldNames = new string[](8);
+ fieldNames[0] = "strBonus";
+ fieldNames[1] = "agiBonus";
+ fieldNames[2] = "intBonus";
+ fieldNames[3] = "hpBonus";
+ fieldNames[4] = "equippedArmor";
+ fieldNames[5] = "equippedWeapons";
+ fieldNames[6] = "equippedSpells";
+ fieldNames[7] = "equippedSkills";
}
/**
@@ -68,6 +78,174 @@ library CharacterEquipment {
StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
}
+ /**
+ * @notice Get strBonus.
+ */
+ function getStrBonus(bytes32 characterId) internal view returns (int256 strBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get strBonus.
+ */
+ function _getStrBonus(bytes32 characterId) internal view returns (int256 strBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set strBonus.
+ */
+ function setStrBonus(bytes32 characterId, int256 strBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set strBonus.
+ */
+ function _setStrBonus(bytes32 characterId, int256 strBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get agiBonus.
+ */
+ function getAgiBonus(bytes32 characterId) internal view returns (int256 agiBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get agiBonus.
+ */
+ function _getAgiBonus(bytes32 characterId) internal view returns (int256 agiBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set agiBonus.
+ */
+ function setAgiBonus(bytes32 characterId, int256 agiBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agiBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set agiBonus.
+ */
+ function _setAgiBonus(bytes32 characterId, int256 agiBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agiBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get intBonus.
+ */
+ function getIntBonus(bytes32 characterId) internal view returns (int256 intBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get intBonus.
+ */
+ function _getIntBonus(bytes32 characterId) internal view returns (int256 intBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set intBonus.
+ */
+ function setIntBonus(bytes32 characterId, int256 intBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set intBonus.
+ */
+ function _setIntBonus(bytes32 characterId, int256 intBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get hpBonus.
+ */
+ function getHpBonus(bytes32 characterId) internal view returns (int256 hpBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get hpBonus.
+ */
+ function _getHpBonus(bytes32 characterId) internal view returns (int256 hpBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set hpBonus.
+ */
+ function setHpBonus(bytes32 characterId, int256 hpBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hpBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set hpBonus.
+ */
+ function _setHpBonus(bytes32 characterId, int256 hpBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hpBonus)), _fieldLayout);
+ }
+
/**
* @notice Get equippedArmor.
*/
@@ -395,29 +573,29 @@ library CharacterEquipment {
/**
* @notice Get equippedSpells.
*/
- function getEquippedSpells(bytes32 characterId) internal view returns (uint256[] memory equippedSpells) {
+ function getEquippedSpells(bytes32 characterId) internal view returns (bytes32[] memory equippedSpells) {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 2);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
}
/**
* @notice Get equippedSpells.
*/
- function _getEquippedSpells(bytes32 characterId) internal view returns (uint256[] memory equippedSpells) {
+ function _getEquippedSpells(bytes32 characterId) internal view returns (bytes32[] memory equippedSpells) {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 2);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
}
/**
* @notice Set equippedSpells.
*/
- function setEquippedSpells(bytes32 characterId, uint256[] memory equippedSpells) internal {
+ function setEquippedSpells(bytes32 characterId, bytes32[] memory equippedSpells) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
@@ -427,7 +605,7 @@ library CharacterEquipment {
/**
* @notice Set equippedSpells.
*/
- function _setEquippedSpells(bytes32 characterId, uint256[] memory equippedSpells) internal {
+ function _setEquippedSpells(bytes32 characterId, bytes32[] memory equippedSpells) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
@@ -464,13 +642,13 @@ library CharacterEquipment {
* @notice Get an item of equippedSpells.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (uint256) {
+ function getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
unchecked {
bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
+ return (bytes32(_blob));
}
}
@@ -478,20 +656,20 @@ library CharacterEquipment {
* @notice Get an item of equippedSpells.
* @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
*/
- function _getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (uint256) {
+ function _getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
unchecked {
bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
+ return (bytes32(_blob));
}
}
/**
* @notice Push an element to equippedSpells.
*/
- function pushEquippedSpells(bytes32 characterId, uint256 _element) internal {
+ function pushEquippedSpells(bytes32 characterId, bytes32 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
@@ -501,7 +679,7 @@ library CharacterEquipment {
/**
* @notice Push an element to equippedSpells.
*/
- function _pushEquippedSpells(bytes32 characterId, uint256 _element) internal {
+ function _pushEquippedSpells(bytes32 characterId, bytes32 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
@@ -531,7 +709,7 @@ library CharacterEquipment {
/**
* @notice Update an element of equippedSpells at `_index`.
*/
- function updateEquippedSpells(bytes32 characterId, uint256 _index, uint256 _element) internal {
+ function updateEquippedSpells(bytes32 characterId, uint256 _index, bytes32 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
@@ -544,7 +722,7 @@ library CharacterEquipment {
/**
* @notice Update an element of equippedSpells at `_index`.
*/
- function _updateEquippedSpells(bytes32 characterId, uint256 _index, uint256 _element) internal {
+ function _updateEquippedSpells(bytes32 characterId, uint256 _index, bytes32 _element) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
@@ -554,6 +732,168 @@ library CharacterEquipment {
}
}
+ /**
+ * @notice Get equippedSkills.
+ */
+ function getEquippedSkills(bytes32 characterId) internal view returns (bytes32[] memory equippedSkills) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 3);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get equippedSkills.
+ */
+ function _getEquippedSkills(bytes32 characterId) internal view returns (bytes32[] memory equippedSkills) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 3);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Set equippedSkills.
+ */
+ function setEquippedSkills(bytes32 characterId, bytes32[] memory equippedSkills) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 3, EncodeArray.encode((equippedSkills)));
+ }
+
+ /**
+ * @notice Set equippedSkills.
+ */
+ function _setEquippedSkills(bytes32 characterId, bytes32[] memory equippedSkills) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 3, EncodeArray.encode((equippedSkills)));
+ }
+
+ /**
+ * @notice Get the length of equippedSkills.
+ */
+ function lengthEquippedSkills(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 3);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of equippedSkills.
+ */
+ function _lengthEquippedSkills(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 3);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedSkills.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemEquippedSkills(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 3, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedSkills.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemEquippedSkills(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 3, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Push an element to equippedSkills.
+ */
+ function pushEquippedSkills(bytes32 characterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 3, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to equippedSkills.
+ */
+ function _pushEquippedSkills(bytes32 characterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 3, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from equippedSkills.
+ */
+ function popEquippedSkills(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 3, 32);
+ }
+
+ /**
+ * @notice Pop an element from equippedSkills.
+ */
+ function _popEquippedSkills(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 3, 32);
+ }
+
+ /**
+ * @notice Update an element of equippedSkills at `_index`.
+ */
+ function updateEquippedSkills(bytes32 characterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 3, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of equippedSkills at `_index`.
+ */
+ function _updateEquippedSkills(bytes32 characterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 3, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
/**
* @notice Get the full data.
*/
@@ -589,13 +929,19 @@ library CharacterEquipment {
*/
function set(
bytes32 characterId,
+ int256 strBonus,
+ int256 agiBonus,
+ int256 intBonus,
+ int256 hpBonus,
uint256[] memory equippedArmor,
uint256[] memory equippedWeapons,
- uint256[] memory equippedSpells
+ bytes32[] memory equippedSpells,
+ bytes32[] memory equippedSkills
) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
- bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
+ bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus);
+
+ EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells, equippedSkills);
+ bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells, equippedSkills);
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
@@ -608,13 +954,19 @@ library CharacterEquipment {
*/
function _set(
bytes32 characterId,
+ int256 strBonus,
+ int256 agiBonus,
+ int256 intBonus,
+ int256 hpBonus,
uint256[] memory equippedArmor,
uint256[] memory equippedWeapons,
- uint256[] memory equippedSpells
+ bytes32[] memory equippedSpells,
+ bytes32[] memory equippedSkills
) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
- bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
+ bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus);
+
+ EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells, equippedSkills);
+ bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells, equippedSkills);
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
@@ -626,9 +978,20 @@ library CharacterEquipment {
* @notice Set the full data using the data struct.
*/
function set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
- bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
+ bytes memory _staticData = encodeStatic(_table.strBonus, _table.agiBonus, _table.intBonus, _table.hpBonus);
+
+ EncodedLengths _encodedLengths = encodeLengths(
+ _table.equippedArmor,
+ _table.equippedWeapons,
+ _table.equippedSpells,
+ _table.equippedSkills
+ );
+ bytes memory _dynamicData = encodeDynamic(
+ _table.equippedArmor,
+ _table.equippedWeapons,
+ _table.equippedSpells,
+ _table.equippedSkills
+ );
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
@@ -640,9 +1003,20 @@ library CharacterEquipment {
* @notice Set the full data using the data struct.
*/
function _set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
- bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
+ bytes memory _staticData = encodeStatic(_table.strBonus, _table.agiBonus, _table.intBonus, _table.hpBonus);
+
+ EncodedLengths _encodedLengths = encodeLengths(
+ _table.equippedArmor,
+ _table.equippedWeapons,
+ _table.equippedSpells,
+ _table.equippedSkills
+ );
+ bytes memory _dynamicData = encodeDynamic(
+ _table.equippedArmor,
+ _table.equippedWeapons,
+ _table.equippedSpells,
+ _table.equippedSkills
+ );
bytes32[] memory _keyTuple = new bytes32[](1);
_keyTuple[0] = characterId;
@@ -650,6 +1024,21 @@ library CharacterEquipment {
StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
}
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(
+ bytes memory _blob
+ ) internal pure returns (int256 strBonus, int256 agiBonus, int256 intBonus, int256 hpBonus) {
+ strBonus = (int256(uint256(Bytes.getBytes32(_blob, 0))));
+
+ agiBonus = (int256(uint256(Bytes.getBytes32(_blob, 32))));
+
+ intBonus = (int256(uint256(Bytes.getBytes32(_blob, 64))));
+
+ hpBonus = (int256(uint256(Bytes.getBytes32(_blob, 96))));
+ }
+
/**
* @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
*/
@@ -659,7 +1048,12 @@ library CharacterEquipment {
)
internal
pure
- returns (uint256[] memory equippedArmor, uint256[] memory equippedWeapons, uint256[] memory equippedSpells)
+ returns (
+ uint256[] memory equippedArmor,
+ uint256[] memory equippedWeapons,
+ bytes32[] memory equippedSpells,
+ bytes32[] memory equippedSkills
+ )
{
uint256 _start;
uint256 _end;
@@ -678,21 +1072,29 @@ library CharacterEquipment {
unchecked {
_end += _encodedLengths.atIndex(2);
}
- equippedSpells = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
+ equippedSpells = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
+
+ _start = _end;
+ unchecked {
+ _end += _encodedLengths.atIndex(3);
+ }
+ equippedSkills = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
}
/**
* @notice Decode the tightly packed blobs using this table's field layout.
- *
+ * @param _staticData Tightly packed static fields.
* @param _encodedLengths Encoded lengths of dynamic fields.
* @param _dynamicData Tightly packed dynamic fields.
*/
function decode(
- bytes memory,
+ bytes memory _staticData,
EncodedLengths _encodedLengths,
bytes memory _dynamicData
) internal pure returns (CharacterEquipmentData memory _table) {
- (_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells) = decodeDynamic(
+ (_table.strBonus, _table.agiBonus, _table.intBonus, _table.hpBonus) = decodeStatic(_staticData);
+
+ (_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells, _table.equippedSkills) = decodeDynamic(
_encodedLengths,
_dynamicData
);
@@ -718,6 +1120,19 @@ library CharacterEquipment {
StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
}
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(
+ int256 strBonus,
+ int256 agiBonus,
+ int256 intBonus,
+ int256 hpBonus
+ ) internal pure returns (bytes memory) {
+ return abi.encodePacked(strBonus, agiBonus, intBonus, hpBonus);
+ }
+
/**
* @notice Tightly pack dynamic data lengths using this table's schema.
* @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
@@ -725,14 +1140,16 @@ library CharacterEquipment {
function encodeLengths(
uint256[] memory equippedArmor,
uint256[] memory equippedWeapons,
- uint256[] memory equippedSpells
+ bytes32[] memory equippedSpells,
+ bytes32[] memory equippedSkills
) internal pure returns (EncodedLengths _encodedLengths) {
// Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
unchecked {
_encodedLengths = EncodedLengthsLib.pack(
equippedArmor.length * 32,
equippedWeapons.length * 32,
- equippedSpells.length * 32
+ equippedSpells.length * 32,
+ equippedSkills.length * 32
);
}
}
@@ -744,13 +1161,15 @@ library CharacterEquipment {
function encodeDynamic(
uint256[] memory equippedArmor,
uint256[] memory equippedWeapons,
- uint256[] memory equippedSpells
+ bytes32[] memory equippedSpells,
+ bytes32[] memory equippedSkills
) internal pure returns (bytes memory) {
return
abi.encodePacked(
EncodeArray.encode((equippedArmor)),
EncodeArray.encode((equippedWeapons)),
- EncodeArray.encode((equippedSpells))
+ EncodeArray.encode((equippedSpells)),
+ EncodeArray.encode((equippedSkills))
);
}
@@ -761,13 +1180,19 @@ library CharacterEquipment {
* @return The dynamic (variable length) data, encoded into a sequence of bytes.
*/
function encode(
+ int256 strBonus,
+ int256 agiBonus,
+ int256 intBonus,
+ int256 hpBonus,
uint256[] memory equippedArmor,
uint256[] memory equippedWeapons,
- uint256[] memory equippedSpells
+ bytes32[] memory equippedSpells,
+ bytes32[] memory equippedSkills
) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
- bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
+ bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus);
+
+ EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells, equippedSkills);
+ bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells, equippedSkills);
return (_staticData, _encodedLengths, _dynamicData);
}
diff --git a/packages/contracts/src/codegen/tables/CharacterStats.sol b/packages/contracts/src/codegen/tables/CharacterStats.sol
deleted file mode 100644
index 258ed683f..000000000
--- a/packages/contracts/src/codegen/tables/CharacterStats.sol
+++ /dev/null
@@ -1,620 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.8.24;
-
-/* Autogenerated file. Do not edit manually. */
-
-// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
-
-struct CharacterStatsData {
- uint256 strength;
- uint256 agility;
- uint256 intelligence;
- uint256 hitPoints;
- int256 damageTaken;
- uint256 experience;
- uint256 level;
-}
-
-library CharacterStats {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "CharacterStats", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000043686172616374657253746174730000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x00e0070020202020202020000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256, uint256, uint256, uint256, int256, uint256, uint256)
- Schema constant _valueSchema = Schema.wrap(0x00e007001f1f1f1f3f1f1f000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "characterId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](7);
- fieldNames[0] = "strength";
- fieldNames[1] = "agility";
- fieldNames[2] = "intelligence";
- fieldNames[3] = "hitPoints";
- fieldNames[4] = "damageTaken";
- fieldNames[5] = "experience";
- fieldNames[6] = "level";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get strength.
- */
- function getStrength(bytes32 characterId) internal view returns (uint256 strength) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get strength.
- */
- function _getStrength(bytes32 characterId) internal view returns (uint256 strength) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set strength.
- */
- function setStrength(bytes32 characterId, uint256 strength) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
- }
-
- /**
- * @notice Set strength.
- */
- function _setStrength(bytes32 characterId, uint256 strength) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
- }
-
- /**
- * @notice Get agility.
- */
- function getAgility(bytes32 characterId) internal view returns (uint256 agility) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get agility.
- */
- function _getAgility(bytes32 characterId) internal view returns (uint256 agility) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set agility.
- */
- function setAgility(bytes32 characterId, uint256 agility) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
- }
-
- /**
- * @notice Set agility.
- */
- function _setAgility(bytes32 characterId, uint256 agility) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
- }
-
- /**
- * @notice Get intelligence.
- */
- function getIntelligence(bytes32 characterId) internal view returns (uint256 intelligence) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get intelligence.
- */
- function _getIntelligence(bytes32 characterId) internal view returns (uint256 intelligence) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set intelligence.
- */
- function setIntelligence(bytes32 characterId, uint256 intelligence) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intelligence)), _fieldLayout);
- }
-
- /**
- * @notice Set intelligence.
- */
- function _setIntelligence(bytes32 characterId, uint256 intelligence) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intelligence)), _fieldLayout);
- }
-
- /**
- * @notice Get hitPoints.
- */
- function getHitPoints(bytes32 characterId) internal view returns (uint256 hitPoints) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get hitPoints.
- */
- function _getHitPoints(bytes32 characterId) internal view returns (uint256 hitPoints) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set hitPoints.
- */
- function setHitPoints(bytes32 characterId, uint256 hitPoints) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hitPoints)), _fieldLayout);
- }
-
- /**
- * @notice Set hitPoints.
- */
- function _setHitPoints(bytes32 characterId, uint256 hitPoints) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hitPoints)), _fieldLayout);
- }
-
- /**
- * @notice Get damageTaken.
- */
- function getDamageTaken(bytes32 characterId) internal view returns (int256 damageTaken) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get damageTaken.
- */
- function _getDamageTaken(bytes32 characterId) internal view returns (int256 damageTaken) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set damageTaken.
- */
- function setDamageTaken(bytes32 characterId, int256 damageTaken) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((damageTaken)), _fieldLayout);
- }
-
- /**
- * @notice Set damageTaken.
- */
- function _setDamageTaken(bytes32 characterId, int256 damageTaken) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((damageTaken)), _fieldLayout);
- }
-
- /**
- * @notice Get experience.
- */
- function getExperience(bytes32 characterId) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get experience.
- */
- function _getExperience(bytes32 characterId) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set experience.
- */
- function setExperience(bytes32 characterId, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Set experience.
- */
- function _setExperience(bytes32 characterId, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Get level.
- */
- function getLevel(bytes32 characterId) internal view returns (uint256 level) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get level.
- */
- function _getLevel(bytes32 characterId) internal view returns (uint256 level) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set level.
- */
- function setLevel(bytes32 characterId, uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((level)), _fieldLayout);
- }
-
- /**
- * @notice Set level.
- */
- function _setLevel(bytes32 characterId, uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((level)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 characterId) internal view returns (CharacterStatsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 characterId) internal view returns (CharacterStatsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(
- bytes32 characterId,
- uint256 strength,
- uint256 agility,
- uint256 intelligence,
- uint256 hitPoints,
- int256 damageTaken,
- uint256 experience,
- uint256 level
- ) internal {
- bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience, level);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(
- bytes32 characterId,
- uint256 strength,
- uint256 agility,
- uint256 intelligence,
- uint256 hitPoints,
- int256 damageTaken,
- uint256 experience,
- uint256 level
- ) internal {
- bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience, level);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 characterId, CharacterStatsData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.strength,
- _table.agility,
- _table.intelligence,
- _table.hitPoints,
- _table.damageTaken,
- _table.experience,
- _table.level
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 characterId, CharacterStatsData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.strength,
- _table.agility,
- _table.intelligence,
- _table.hitPoints,
- _table.damageTaken,
- _table.experience,
- _table.level
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(
- bytes memory _blob
- )
- internal
- pure
- returns (
- uint256 strength,
- uint256 agility,
- uint256 intelligence,
- uint256 hitPoints,
- int256 damageTaken,
- uint256 experience,
- uint256 level
- )
- {
- strength = (uint256(Bytes.getBytes32(_blob, 0)));
-
- agility = (uint256(Bytes.getBytes32(_blob, 32)));
-
- intelligence = (uint256(Bytes.getBytes32(_blob, 64)));
-
- hitPoints = (uint256(Bytes.getBytes32(_blob, 96)));
-
- damageTaken = (int256(uint256(Bytes.getBytes32(_blob, 128))));
-
- experience = (uint256(Bytes.getBytes32(_blob, 160)));
-
- level = (uint256(Bytes.getBytes32(_blob, 192)));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths,
- bytes memory
- ) internal pure returns (CharacterStatsData memory _table) {
- (
- _table.strength,
- _table.agility,
- _table.intelligence,
- _table.hitPoints,
- _table.damageTaken,
- _table.experience,
- _table.level
- ) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(
- uint256 strength,
- uint256 agility,
- uint256 intelligence,
- uint256 hitPoints,
- int256 damageTaken,
- uint256 experience,
- uint256 level
- ) internal pure returns (bytes memory) {
- return abi.encodePacked(strength, agility, intelligence, hitPoints, damageTaken, experience, level);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- uint256 strength,
- uint256 agility,
- uint256 intelligence,
- uint256 hitPoints,
- int256 damageTaken,
- uint256 experience,
- uint256 level
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience, level);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- return _keyTuple;
- }
-}
diff --git a/packages/contracts/src/codegen/tables/MapConfig.sol b/packages/contracts/src/codegen/tables/MapConfig.sol
index b97cd80b1..b4ee8307b 100644
--- a/packages/contracts/src/codegen/tables/MapConfig.sol
+++ b/packages/contracts/src/codegen/tables/MapConfig.sol
@@ -21,12 +21,12 @@ library MapConfig {
ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6170436f6e66696700000000000000);
FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0008020004040000000000000000000000000000000000000000000000000000);
+ FieldLayout.wrap(0x0004020002020000000000000000000000000000000000000000000000000000);
// Hex-encoded key schema of ()
Schema constant _keySchema = Schema.wrap(0x0000000000000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint32, uint32)
- Schema constant _valueSchema = Schema.wrap(0x0008020003030000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint16, uint16)
+ Schema constant _valueSchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
/**
* @notice Get the table's key field names.
@@ -63,27 +63,27 @@ library MapConfig {
/**
* @notice Get height.
*/
- function getHeight() internal view returns (uint32 height) {
+ function getHeight() internal view returns (uint16 height) {
bytes32[] memory _keyTuple = new bytes32[](0);
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint32(bytes4(_blob)));
+ return (uint16(bytes2(_blob)));
}
/**
* @notice Get height.
*/
- function _getHeight() internal view returns (uint32 height) {
+ function _getHeight() internal view returns (uint16 height) {
bytes32[] memory _keyTuple = new bytes32[](0);
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint32(bytes4(_blob)));
+ return (uint16(bytes2(_blob)));
}
/**
* @notice Set height.
*/
- function setHeight(uint32 height) internal {
+ function setHeight(uint16 height) internal {
bytes32[] memory _keyTuple = new bytes32[](0);
StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((height)), _fieldLayout);
@@ -92,7 +92,7 @@ library MapConfig {
/**
* @notice Set height.
*/
- function _setHeight(uint32 height) internal {
+ function _setHeight(uint16 height) internal {
bytes32[] memory _keyTuple = new bytes32[](0);
StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((height)), _fieldLayout);
@@ -101,27 +101,27 @@ library MapConfig {
/**
* @notice Get width.
*/
- function getWidth() internal view returns (uint32 width) {
+ function getWidth() internal view returns (uint16 width) {
bytes32[] memory _keyTuple = new bytes32[](0);
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint32(bytes4(_blob)));
+ return (uint16(bytes2(_blob)));
}
/**
* @notice Get width.
*/
- function _getWidth() internal view returns (uint32 width) {
+ function _getWidth() internal view returns (uint16 width) {
bytes32[] memory _keyTuple = new bytes32[](0);
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint32(bytes4(_blob)));
+ return (uint16(bytes2(_blob)));
}
/**
* @notice Set width.
*/
- function setWidth(uint32 width) internal {
+ function setWidth(uint16 width) internal {
bytes32[] memory _keyTuple = new bytes32[](0);
StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((width)), _fieldLayout);
@@ -130,7 +130,7 @@ library MapConfig {
/**
* @notice Set width.
*/
- function _setWidth(uint32 width) internal {
+ function _setWidth(uint16 width) internal {
bytes32[] memory _keyTuple = new bytes32[](0);
StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((width)), _fieldLayout);
@@ -139,7 +139,7 @@ library MapConfig {
/**
* @notice Get the full data.
*/
- function get() internal view returns (uint32 height, uint32 width) {
+ function get() internal view returns (uint16 height, uint16 width) {
bytes32[] memory _keyTuple = new bytes32[](0);
(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
@@ -153,7 +153,7 @@ library MapConfig {
/**
* @notice Get the full data.
*/
- function _get() internal view returns (uint32 height, uint32 width) {
+ function _get() internal view returns (uint16 height, uint16 width) {
bytes32[] memory _keyTuple = new bytes32[](0);
(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
@@ -167,7 +167,7 @@ library MapConfig {
/**
* @notice Set the full data using individual values.
*/
- function set(uint32 height, uint32 width) internal {
+ function set(uint16 height, uint16 width) internal {
bytes memory _staticData = encodeStatic(height, width);
EncodedLengths _encodedLengths;
@@ -181,7 +181,7 @@ library MapConfig {
/**
* @notice Set the full data using individual values.
*/
- function _set(uint32 height, uint32 width) internal {
+ function _set(uint16 height, uint16 width) internal {
bytes memory _staticData = encodeStatic(height, width);
EncodedLengths _encodedLengths;
@@ -195,10 +195,10 @@ library MapConfig {
/**
* @notice Decode the tightly packed blob of static data using this table's field layout.
*/
- function decodeStatic(bytes memory _blob) internal pure returns (uint32 height, uint32 width) {
- height = (uint32(Bytes.getBytes4(_blob, 0)));
+ function decodeStatic(bytes memory _blob) internal pure returns (uint16 height, uint16 width) {
+ height = (uint16(Bytes.getBytes2(_blob, 0)));
- width = (uint32(Bytes.getBytes4(_blob, 4)));
+ width = (uint16(Bytes.getBytes2(_blob, 2)));
}
/**
@@ -211,7 +211,7 @@ library MapConfig {
bytes memory _staticData,
EncodedLengths,
bytes memory
- ) internal pure returns (uint32 height, uint32 width) {
+ ) internal pure returns (uint16 height, uint16 width) {
(height, width) = decodeStatic(_staticData);
}
@@ -237,7 +237,7 @@ library MapConfig {
* @notice Tightly pack static (fixed length) data using this table's schema.
* @return The static data, encoded into a sequence of bytes.
*/
- function encodeStatic(uint32 height, uint32 width) internal pure returns (bytes memory) {
+ function encodeStatic(uint16 height, uint16 width) internal pure returns (bytes memory) {
return abi.encodePacked(height, width);
}
@@ -247,7 +247,7 @@ library MapConfig {
* @return The lengths of the dynamic fields (packed into a single bytes32 value).
* @return The dynamic (variable length) data, encoded into a sequence of bytes.
*/
- function encode(uint32 height, uint32 width) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ function encode(uint16 height, uint16 width) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
bytes memory _staticData = encodeStatic(height, width);
EncodedLengths _encodedLengths;
diff --git a/packages/contracts/src/codegen/tables/MobEntity.sol b/packages/contracts/src/codegen/tables/MobEntity.sol
deleted file mode 100644
index b28ac532d..000000000
--- a/packages/contracts/src/codegen/tables/MobEntity.sol
+++ /dev/null
@@ -1,321 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.8.24;
-
-/* Autogenerated file. Do not edit manually. */
-
-// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
-
-struct MobEntityData {
- int256 remainingHp;
- bytes32 encounterId;
-}
-
-library MobEntity {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MobEntity", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6f62456e7469747900000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0040020020200000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (int256, bytes32)
- Schema constant _valueSchema = Schema.wrap(0x004002003f5f0000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "mobEntityId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "remainingHp";
- fieldNames[1] = "encounterId";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get remainingHp.
- */
- function getRemainingHp(bytes32 mobEntityId) internal view returns (int256 remainingHp) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get remainingHp.
- */
- function _getRemainingHp(bytes32 mobEntityId) internal view returns (int256 remainingHp) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set remainingHp.
- */
- function setRemainingHp(bytes32 mobEntityId, int256 remainingHp) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((remainingHp)), _fieldLayout);
- }
-
- /**
- * @notice Set remainingHp.
- */
- function _setRemainingHp(bytes32 mobEntityId, int256 remainingHp) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((remainingHp)), _fieldLayout);
- }
-
- /**
- * @notice Get encounterId.
- */
- function getEncounterId(bytes32 mobEntityId) internal view returns (bytes32 encounterId) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (bytes32(_blob));
- }
-
- /**
- * @notice Get encounterId.
- */
- function _getEncounterId(bytes32 mobEntityId) internal view returns (bytes32 encounterId) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (bytes32(_blob));
- }
-
- /**
- * @notice Set encounterId.
- */
- function setEncounterId(bytes32 mobEntityId, bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((encounterId)), _fieldLayout);
- }
-
- /**
- * @notice Set encounterId.
- */
- function _setEncounterId(bytes32 mobEntityId, bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((encounterId)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 mobEntityId) internal view returns (MobEntityData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 mobEntityId) internal view returns (MobEntityData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(bytes32 mobEntityId, int256 remainingHp, bytes32 encounterId) internal {
- bytes memory _staticData = encodeStatic(remainingHp, encounterId);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(bytes32 mobEntityId, int256 remainingHp, bytes32 encounterId) internal {
- bytes memory _staticData = encodeStatic(remainingHp, encounterId);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 mobEntityId, MobEntityData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.remainingHp, _table.encounterId);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 mobEntityId, MobEntityData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.remainingHp, _table.encounterId);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (int256 remainingHp, bytes32 encounterId) {
- remainingHp = (int256(uint256(Bytes.getBytes32(_blob, 0))));
-
- encounterId = (Bytes.getBytes32(_blob, 32));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths,
- bytes memory
- ) internal pure returns (MobEntityData memory _table) {
- (_table.remainingHp, _table.encounterId) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 mobEntityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 mobEntityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(int256 remainingHp, bytes32 encounterId) internal pure returns (bytes memory) {
- return abi.encodePacked(remainingHp, encounterId);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- int256 remainingHp,
- bytes32 encounterId
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(remainingHp, encounterId);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 mobEntityId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = mobEntityId;
-
- return _keyTuple;
- }
-}
diff --git a/packages/contracts/src/codegen/tables/MobStats.sol b/packages/contracts/src/codegen/tables/MobStats.sol
deleted file mode 100644
index 127177b9b..000000000
--- a/packages/contracts/src/codegen/tables/MobStats.sol
+++ /dev/null
@@ -1,566 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity >=0.8.24;
-
-/* Autogenerated file. Do not edit manually. */
-
-// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
-
-struct MobStatsData {
- uint256 strength;
- uint256 agility;
- uint256 intelligence;
- uint256 hitPoints;
- int256 damageTaken;
- uint256 experience;
-}
-
-library MobStats {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MobStats", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6f6253746174730000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x00c0060020202020202000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256, uint256, uint256, uint256, int256, uint256)
- Schema constant _valueSchema = Schema.wrap(0x00c006001f1f1f1f3f1f00000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "entityId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](6);
- fieldNames[0] = "strength";
- fieldNames[1] = "agility";
- fieldNames[2] = "intelligence";
- fieldNames[3] = "hitPoints";
- fieldNames[4] = "damageTaken";
- fieldNames[5] = "experience";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get strength.
- */
- function getStrength(bytes32 entityId) internal view returns (uint256 strength) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get strength.
- */
- function _getStrength(bytes32 entityId) internal view returns (uint256 strength) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set strength.
- */
- function setStrength(bytes32 entityId, uint256 strength) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
- }
-
- /**
- * @notice Set strength.
- */
- function _setStrength(bytes32 entityId, uint256 strength) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
- }
-
- /**
- * @notice Get agility.
- */
- function getAgility(bytes32 entityId) internal view returns (uint256 agility) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get agility.
- */
- function _getAgility(bytes32 entityId) internal view returns (uint256 agility) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set agility.
- */
- function setAgility(bytes32 entityId, uint256 agility) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
- }
-
- /**
- * @notice Set agility.
- */
- function _setAgility(bytes32 entityId, uint256 agility) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
- }
-
- /**
- * @notice Get intelligence.
- */
- function getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get intelligence.
- */
- function _getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set intelligence.
- */
- function setIntelligence(bytes32 entityId, uint256 intelligence) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intelligence)), _fieldLayout);
- }
-
- /**
- * @notice Set intelligence.
- */
- function _setIntelligence(bytes32 entityId, uint256 intelligence) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intelligence)), _fieldLayout);
- }
-
- /**
- * @notice Get hitPoints.
- */
- function getHitPoints(bytes32 entityId) internal view returns (uint256 hitPoints) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get hitPoints.
- */
- function _getHitPoints(bytes32 entityId) internal view returns (uint256 hitPoints) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set hitPoints.
- */
- function setHitPoints(bytes32 entityId, uint256 hitPoints) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hitPoints)), _fieldLayout);
- }
-
- /**
- * @notice Set hitPoints.
- */
- function _setHitPoints(bytes32 entityId, uint256 hitPoints) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hitPoints)), _fieldLayout);
- }
-
- /**
- * @notice Get damageTaken.
- */
- function getDamageTaken(bytes32 entityId) internal view returns (int256 damageTaken) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get damageTaken.
- */
- function _getDamageTaken(bytes32 entityId) internal view returns (int256 damageTaken) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set damageTaken.
- */
- function setDamageTaken(bytes32 entityId, int256 damageTaken) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((damageTaken)), _fieldLayout);
- }
-
- /**
- * @notice Set damageTaken.
- */
- function _setDamageTaken(bytes32 entityId, int256 damageTaken) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((damageTaken)), _fieldLayout);
- }
-
- /**
- * @notice Get experience.
- */
- function getExperience(bytes32 entityId) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get experience.
- */
- function _getExperience(bytes32 entityId) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set experience.
- */
- function setExperience(bytes32 entityId, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Set experience.
- */
- function _setExperience(bytes32 entityId, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 entityId) internal view returns (MobStatsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 entityId) internal view returns (MobStatsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(
- bytes32 entityId,
- uint256 strength,
- uint256 agility,
- uint256 intelligence,
- uint256 hitPoints,
- int256 damageTaken,
- uint256 experience
- ) internal {
- bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(
- bytes32 entityId,
- uint256 strength,
- uint256 agility,
- uint256 intelligence,
- uint256 hitPoints,
- int256 damageTaken,
- uint256 experience
- ) internal {
- bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 entityId, MobStatsData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.strength,
- _table.agility,
- _table.intelligence,
- _table.hitPoints,
- _table.damageTaken,
- _table.experience
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 entityId, MobStatsData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.strength,
- _table.agility,
- _table.intelligence,
- _table.hitPoints,
- _table.damageTaken,
- _table.experience
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(
- bytes memory _blob
- )
- internal
- pure
- returns (
- uint256 strength,
- uint256 agility,
- uint256 intelligence,
- uint256 hitPoints,
- int256 damageTaken,
- uint256 experience
- )
- {
- strength = (uint256(Bytes.getBytes32(_blob, 0)));
-
- agility = (uint256(Bytes.getBytes32(_blob, 32)));
-
- intelligence = (uint256(Bytes.getBytes32(_blob, 64)));
-
- hitPoints = (uint256(Bytes.getBytes32(_blob, 96)));
-
- damageTaken = (int256(uint256(Bytes.getBytes32(_blob, 128))));
-
- experience = (uint256(Bytes.getBytes32(_blob, 160)));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths,
- bytes memory
- ) internal pure returns (MobStatsData memory _table) {
- (
- _table.strength,
- _table.agility,
- _table.intelligence,
- _table.hitPoints,
- _table.damageTaken,
- _table.experience
- ) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 entityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 entityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(
- uint256 strength,
- uint256 agility,
- uint256 intelligence,
- uint256 hitPoints,
- int256 damageTaken,
- uint256 experience
- ) internal pure returns (bytes memory) {
- return abi.encodePacked(strength, agility, intelligence, hitPoints, damageTaken, experience);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- uint256 strength,
- uint256 agility,
- uint256 intelligence,
- uint256 hitPoints,
- int256 damageTaken,
- uint256 experience
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(strength, agility, intelligence, hitPoints, damageTaken, experience);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 entityId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- return _keyTuple;
- }
-}
diff --git a/packages/contracts/src/codegen/tables/Position.sol b/packages/contracts/src/codegen/tables/Position.sol
index b5e0f2d99..67bcacf09 100644
--- a/packages/contracts/src/codegen/tables/Position.sol
+++ b/packages/contracts/src/codegen/tables/Position.sol
@@ -4,274 +4,276 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
library Position {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Position", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000506f736974696f6e0000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0008020004040000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint32, uint32)
- Schema constant _valueSchema = Schema.wrap(0x0008020003030000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "characterId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "x";
- fieldNames[1] = "y";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get x.
- */
- function getX(uint256 characterId) internal view returns (uint32 x) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint32(bytes4(_blob)));
- }
-
- /**
- * @notice Get x.
- */
- function _getX(uint256 characterId) internal view returns (uint32 x) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint32(bytes4(_blob)));
- }
-
- /**
- * @notice Set x.
- */
- function setX(uint256 characterId, uint32 x) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
- }
-
- /**
- * @notice Set x.
- */
- function _setX(uint256 characterId, uint32 x) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
- }
-
- /**
- * @notice Get y.
- */
- function getY(uint256 characterId) internal view returns (uint32 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint32(bytes4(_blob)));
- }
-
- /**
- * @notice Get y.
- */
- function _getY(uint256 characterId) internal view returns (uint32 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint32(bytes4(_blob)));
- }
-
- /**
- * @notice Set y.
- */
- function setY(uint256 characterId, uint32 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
- }
-
- /**
- * @notice Set y.
- */
- function _setY(uint256 characterId, uint32 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(uint256 characterId) internal view returns (uint32 x, uint32 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(uint256 characterId) internal view returns (uint32 x, uint32 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(uint256 characterId, uint32 x, uint32 y) internal {
- bytes memory _staticData = encodeStatic(x, y);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(uint256 characterId, uint32 x, uint32 y) internal {
- bytes memory _staticData = encodeStatic(x, y);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (uint32 x, uint32 y) {
- x = (uint32(Bytes.getBytes4(_blob, 0)));
-
- y = (uint32(Bytes.getBytes4(_blob, 4)));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(bytes memory _staticData, EncodedLengths, bytes memory)
- internal
- pure
- returns (uint32 x, uint32 y)
- {
- (x, y) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint256 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint256 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(uint32 x, uint32 y) internal pure returns (bytes memory) {
- return abi.encodePacked(x, y);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint32 x, uint32 y) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(x, y);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint256 characterId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Position", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000506f736974696f6e0000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0004020002020000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint16, uint16)
+ Schema constant _valueSchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "entity";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "x";
+ fieldNames[1] = "y";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get x.
+ */
+ function getX(bytes32 entity) internal view returns (uint16 x) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Get x.
+ */
+ function _getX(bytes32 entity) internal view returns (uint16 x) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Set x.
+ */
+ function setX(bytes32 entity, uint16 x) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set x.
+ */
+ function _setX(bytes32 entity, uint16 x) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get y.
+ */
+ function getY(bytes32 entity) internal view returns (uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Get y.
+ */
+ function _getY(bytes32 entity) internal view returns (uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Set y.
+ */
+ function setY(bytes32 entity, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set y.
+ */
+ function _setY(bytes32 entity, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 entity) internal view returns (uint16 x, uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 entity) internal view returns (uint16 x, uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 entity, uint16 x, uint16 y) internal {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 entity, uint16 x, uint16 y) internal {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (uint16 x, uint16 y) {
+ x = (uint16(Bytes.getBytes2(_blob, 0)));
+
+ y = (uint16(Bytes.getBytes2(_blob, 2)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(bytes memory _staticData, EncodedLengths, bytes memory) internal pure returns (uint16 x, uint16 y) {
+ (x, y) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 entity) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 entity) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(uint16 x, uint16 y) internal pure returns (bytes memory) {
+ return abi.encodePacked(x, y);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint16 x, uint16 y) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 entity) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Spawned.sol b/packages/contracts/src/codegen/tables/Spawned.sol
index e1f90a0f1..0c6ba659f 100644
--- a/packages/contracts/src/codegen/tables/Spawned.sol
+++ b/packages/contracts/src/codegen/tables/Spawned.sol
@@ -23,8 +23,8 @@ library Spawned {
FieldLayout constant _fieldLayout =
FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
// Hex-encoded value schema of (bool)
Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
@@ -34,7 +34,7 @@ library Spawned {
*/
function getKeyNames() internal pure returns (string[] memory keyNames) {
keyNames = new string[](1);
- keyNames[0] = "characterId";
+ keyNames[0] = "entityId";
}
/**
@@ -63,9 +63,9 @@ library Spawned {
/**
* @notice Get spawned.
*/
- function getSpawned(uint256 characterId) internal view returns (bool spawned) {
+ function getSpawned(bytes32 entityId) internal view returns (bool spawned) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = entityId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (_toBool(uint8(bytes1(_blob))));
@@ -74,9 +74,9 @@ library Spawned {
/**
* @notice Get spawned.
*/
- function _getSpawned(uint256 characterId) internal view returns (bool spawned) {
+ function _getSpawned(bytes32 entityId) internal view returns (bool spawned) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = entityId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (_toBool(uint8(bytes1(_blob))));
@@ -85,9 +85,9 @@ library Spawned {
/**
* @notice Get spawned.
*/
- function get(uint256 characterId) internal view returns (bool spawned) {
+ function get(bytes32 entityId) internal view returns (bool spawned) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = entityId;
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (_toBool(uint8(bytes1(_blob))));
@@ -96,9 +96,9 @@ library Spawned {
/**
* @notice Get spawned.
*/
- function _get(uint256 characterId) internal view returns (bool spawned) {
+ function _get(bytes32 entityId) internal view returns (bool spawned) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = entityId;
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
return (_toBool(uint8(bytes1(_blob))));
@@ -107,9 +107,9 @@ library Spawned {
/**
* @notice Set spawned.
*/
- function setSpawned(uint256 characterId, bool spawned) internal {
+ function setSpawned(bytes32 entityId, bool spawned) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = entityId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
}
@@ -117,9 +117,9 @@ library Spawned {
/**
* @notice Set spawned.
*/
- function _setSpawned(uint256 characterId, bool spawned) internal {
+ function _setSpawned(bytes32 entityId, bool spawned) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = entityId;
StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
}
@@ -127,9 +127,9 @@ library Spawned {
/**
* @notice Set spawned.
*/
- function set(uint256 characterId, bool spawned) internal {
+ function set(bytes32 entityId, bool spawned) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = entityId;
StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
}
@@ -137,9 +137,9 @@ library Spawned {
/**
* @notice Set spawned.
*/
- function _set(uint256 characterId, bool spawned) internal {
+ function _set(bytes32 entityId, bool spawned) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = entityId;
StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
}
@@ -147,9 +147,9 @@ library Spawned {
/**
* @notice Delete all data for given keys.
*/
- function deleteRecord(uint256 characterId) internal {
+ function deleteRecord(bytes32 entityId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = entityId;
StoreSwitch.deleteRecord(_tableId, _keyTuple);
}
@@ -157,9 +157,9 @@ library Spawned {
/**
* @notice Delete all data for given keys.
*/
- function _deleteRecord(uint256 characterId) internal {
+ function _deleteRecord(bytes32 entityId) internal {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = entityId;
StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
}
@@ -190,9 +190,9 @@ library Spawned {
/**
* @notice Encode keys as a bytes32 array using this table's field layout.
*/
- function encodeKeyTuple(uint256 characterId) internal pure returns (bytes32[] memory) {
+ function encodeKeyTuple(bytes32 entityId) internal pure returns (bytes32[] memory) {
bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(characterId));
+ _keyTuple[0] = entityId;
return _keyTuple;
}
diff --git a/packages/contracts/src/codegen/world/ICharacterSystem.sol b/packages/contracts/src/codegen/world/ICharacterSystem.sol
index bd975a203..db4087574 100644
--- a/packages/contracts/src/codegen/world/ICharacterSystem.sol
+++ b/packages/contracts/src/codegen/world/ICharacterSystem.sol
@@ -4,7 +4,7 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
import { Classes } from "@codegen/common.sol";
-import { CharacterStatsData } from "@codegen/index.sol";
+import { StatsData } from "@codegen/index.sol";
/**
* @title ICharacterSystem
@@ -38,5 +38,5 @@ interface ICharacterSystem {
function UD__getExperience(bytes32 characterId) external view returns (uint256);
- function UD__getCharacterStats(bytes32 characterId) external view returns (CharacterStatsData memory);
+ function UD__getStats(bytes32 characterId) external view returns (StatsData memory);
}
diff --git a/packages/contracts/src/codegen/world/ICombatSystem.sol b/packages/contracts/src/codegen/world/ICombatSystem.sol
index a4380ac7d..6a6ba3c14 100644
--- a/packages/contracts/src/codegen/world/ICombatSystem.sol
+++ b/packages/contracts/src/codegen/world/ICombatSystem.sol
@@ -4,6 +4,8 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
import { EncounterType } from "@codegen/common.sol";
+import { CombatMove, PhysicalAttackStats } from "@interfaces/Structs.sol";
+import { StatsData } from "@codegen/index.sol";
/**
* @title ICombatSystem
@@ -16,4 +18,20 @@ interface ICombatSystem {
bytes32[] memory attackers,
bytes32[] memory defenders
) external returns (bytes32);
+
+ function UD__endTurn(bytes32 encounterId, CombatMove[] memory moves) external;
+
+ function UD__executeCombat(uint256 randomNumber, bytes32 encounterId, CombatMove[] memory moves) external;
+
+ function UD___calculatePhysicalAttack(
+ PhysicalAttackStats memory attackStats,
+ bytes32 attackerId,
+ bytes32 defenderId,
+ uint256 weaponId,
+ uint256 randomNumber
+ ) external returns (uint256 damage);
+
+ function UD__applyEquipmentBonuses(bytes32 entityId) external view returns (StatsData memory modifiedStats);
+
+ function UD___calculateMagicAttack() external;
}
diff --git a/packages/contracts/src/codegen/world/IItemsSystem.sol b/packages/contracts/src/codegen/world/IItemsSystem.sol
index 137e2b128..0af7e7e86 100644
--- a/packages/contracts/src/codegen/world/IItemsSystem.sol
+++ b/packages/contracts/src/codegen/world/IItemsSystem.sol
@@ -4,7 +4,7 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
import { ItemType, Classes } from "@codegen/common.sol";
-import { WeaponStats } from "@interfaces/Structs.sol";
+import { WeaponStats, ArmorStats } from "@interfaces/Structs.sol";
/**
* @title IItemsSystem
@@ -44,5 +44,7 @@ interface IItemsSystem {
function UD__getWeaponStats(uint256 itemId) external view returns (WeaponStats memory _weaponStats);
+ function UD__getArmorStats(uint256 itemId) external view returns (ArmorStats memory _ArmorStats);
+
function UD__setStarterItems(Classes class, uint256[] memory itemIds, uint256[] memory amounts) external;
}
diff --git a/packages/contracts/src/codegen/world/IMapSystem.sol b/packages/contracts/src/codegen/world/IMapSystem.sol
index 048a7d2dd..6e927c924 100644
--- a/packages/contracts/src/codegen/world/IMapSystem.sol
+++ b/packages/contracts/src/codegen/world/IMapSystem.sol
@@ -9,7 +9,7 @@ pragma solidity >=0.8.24;
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IMapSystem {
- function UD__move(uint256 characterId, uint32 x, uint32 y) external;
+ function UD__move(bytes32 entityId, uint16 x, uint16 y) external;
- function UD__spawn(uint256 characterId) external;
+ function UD__spawn(bytes32 entityId) external;
}
diff --git a/packages/contracts/src/codegen/world/IMobSystem.sol b/packages/contracts/src/codegen/world/IMobSystem.sol
index 22074fcfe..5af475de2 100644
--- a/packages/contracts/src/codegen/world/IMobSystem.sol
+++ b/packages/contracts/src/codegen/world/IMobSystem.sol
@@ -4,7 +4,6 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
import { MobType } from "@codegen/common.sol";
-import { PositionData } from "@codegen/index.sol";
import { NPCStats, MonsterStats } from "@interfaces/Structs.sol";
import { MobsData } from "@tables/Mobs.sol";
@@ -14,15 +13,11 @@ import { MobsData } from "@tables/Mobs.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IMobSystem {
- function UD__createMob(
- MobType mobType,
- bytes memory mobStats,
- string memory mobMetadataUri
- ) external returns (uint256);
+ function UD__createMob(MobType mobType, bytes memory stats, string memory mobMetadataUri) external returns (uint256);
function UD__createMobs(MobType[] memory mobTypes, bytes[] memory stats, string[] memory mobMetadataURIs) external;
- function UD__spawnMob(uint256 mobId, PositionData memory positionData) external returns (bytes32 entityId);
+ function UD__spawnMob(uint256 mobId, uint16 x, uint16 y) external returns (bytes32 entityId);
function UD__getMobId(bytes32 entityId) external pure returns (uint256);
@@ -39,4 +34,6 @@ interface IMobSystem {
function UD__getMonsterStats(bytes32 entityId) external view returns (MonsterStats memory);
function UD__getMob(uint256 mobId) external view returns (MobsData memory);
+
+ function UD__getMob(bytes32 entityId) external view returns (MobsData memory);
}
diff --git a/packages/contracts/src/codegen/world/IWorld.sol b/packages/contracts/src/codegen/world/IWorld.sol
index a15139dde..61765ff0a 100644
--- a/packages/contracts/src/codegen/world/IWorld.sol
+++ b/packages/contracts/src/codegen/world/IWorld.sol
@@ -10,6 +10,7 @@ import { ICombatSystem } from "./ICombatSystem.sol";
import { IItemsSystem } from "./IItemsSystem.sol";
import { IMapSystem } from "./IMapSystem.sol";
import { IMobSystem } from "./IMobSystem.sol";
+import { ISkillSystem } from "./ISkillSystem.sol";
import { IUltimateDominionConfigSystem } from "./IUltimateDominionConfigSystem.sol";
/**
@@ -26,5 +27,6 @@ interface IWorld is
IItemsSystem,
IMapSystem,
IMobSystem,
+ ISkillSystem,
IUltimateDominionConfigSystem
{}
diff --git a/packages/contracts/src/interfaces/IRngSystem.sol b/packages/contracts/src/interfaces/IRngSystem.sol
index e60e6d49b..e9259a1d0 100644
--- a/packages/contracts/src/interfaces/IRngSystem.sol
+++ b/packages/contracts/src/interfaces/IRngSystem.sol
@@ -1,8 +1,9 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-import { RngRequestType } from "@codegen/common.sol";
+
+import {RngRequestType} from "@codegen/common.sol";
interface IRngSystem {
- function getRng(bytes32 userRandomNumber, RngRequestType requestType, bytes memory data) external;
- function getFee() external returns (uint256);
+ function getRng(bytes32 userRandomNumber, RngRequestType requestType, bytes memory data) external;
+ function getFee() external returns (uint256);
}
diff --git a/packages/contracts/src/interfaces/Structs.sol b/packages/contracts/src/interfaces/Structs.sol
index e0a975910..c53875daa 100644
--- a/packages/contracts/src/interfaces/Structs.sol
+++ b/packages/contracts/src/interfaces/Structs.sol
@@ -4,22 +4,35 @@ pragma solidity >=0.8.24;
import {ItemType, Classes, Alignment} from "@codegen/common.sol";
struct WeaponStats {
- uint256 damage;
- uint256 speed;
+ uint256 minDamage;
+ uint256 maxDamage;
uint8[] classRestrictions;
uint256 minLevel;
}
+struct ArmorStats {
+ uint256 armorModifier;
+ uint8[] classRestrictions;
+ uint256 minLevel;
+ int256 strModifier;
+ int256 agiModifier;
+ int256 intModifier;
+ int256 hitPointModifier;
+}
+
struct MonsterStats {
- // all stats (except level and exp) are to the 10,000s place. so 10_000 == 1;
// hit points
- uint256 hp;
- // damage reduction %
+ uint256 hitPoints;
+ // damage reduction: subtracted from total damage
uint256 armor;
+ // base damage = strength * damangeConversion
+ uint256 strength;
+ //base to hit number for this mob for physical attacks = agility * physicalAttackConversion
+ uint256 agility;
+ // base to hit modifier for magical Attacks = inteligence * magicDefenseConversion
+ uint256 intelligence;
// monster level
uint256 level;
- // base damage
- uint256 baseDamage;
// monster's class
Classes class;
// item ids of potential drops
@@ -28,9 +41,34 @@ struct MonsterStats {
uint256 experience;
}
+struct PhysicalAttackStats {
+ // additional damage on top of item damage
+ uint256 bonusDamage;
+ // list of items that can deal this attack
+ uint256[] requiredItems;
+ // base armor penetration
+ uint256 armorPenetration;
+}
+
+struct CombatMove {
+ bytes32 attackerEntityId;
+ bytes32 defenderEntityId;
+ bytes32 skillId;
+ uint256 weaponId;
+}
+
+struct MagicAttackStats {
+ // additional damage on top of item damage
+ uint256 bonusDamage;
+ // list of items that can deal this attack
+ uint256[] requiredItems;
+ // base armor penetration
+ uint256 armorPenetration;
+}
+
struct NPCStats {
string name;
- uint256[] storyPathIds;
+ bytes32[] storyPathIds;
Alignment alignment;
}
@@ -40,11 +78,3 @@ struct QuestEntity {
uint256 questId;
uint256 currentStep;
}
-
-struct PhysicalAttack {
- uint256 baseDamage;
- // 0 = once per round, 1 = 1 round cool down etc.
- uint256 baseSpeed;
- // number of hits, divides base damage 3 hits == baseDmg/3
- uint256 numberOfHits;
-}
diff --git a/packages/contracts/src/libraries/LibChunks.sol b/packages/contracts/src/libraries/LibChunks.sol
index d84b2c3f5..89e9f27d0 100644
--- a/packages/contracts/src/libraries/LibChunks.sol
+++ b/packages/contracts/src/libraries/LibChunks.sol
@@ -4,27 +4,27 @@ pragma solidity >=0.8.0;
/// @notice Library for creating chunks of integers.
library LibChunks {
- function get4Chunks(uint256 number) public pure returns (uint64[] memory) {
- uint64[] memory chunks = new uint64[](4);
- for (uint256 i; i < 4; i++) {
- chunks[i] = uint64(number >> (i * 64));
+ function get4Chunks(uint256 number) public pure returns (uint64[] memory) {
+ uint64[] memory chunks = new uint64[](4);
+ for (uint256 i; i < 4; i++) {
+ chunks[i] = uint64(number >> (i * 64));
+ }
+ return chunks;
}
- return chunks;
- }
- function get8Chunks(uint256 number) public pure returns (uint32[] memory) {
- uint32[] memory chunks = new uint32[](8);
- for (uint256 i; i < 8; i++) {
- chunks[i] = uint32(number >> (i * 32));
+ function get8Chunks(uint256 number) public pure returns (uint32[] memory) {
+ uint32[] memory chunks = new uint32[](8);
+ for (uint256 i; i < 8; i++) {
+ chunks[i] = uint32(number >> (i * 32));
+ }
+ return chunks;
}
- return chunks;
- }
- function get16Chunks(uint256 number) public pure returns (uint16[] memory) {
- uint16[] memory chunks = new uint16[](16);
- for (uint256 i; i < 16; i++) {
- chunks[i] = uint16(number >> (i * 16));
+ function get16Chunks(uint256 number) public pure returns (uint16[] memory) {
+ uint16[] memory chunks = new uint16[](16);
+ for (uint256 i; i < 16; i++) {
+ chunks[i] = uint16(number >> (i * 16));
+ }
+ return chunks;
}
- return chunks;
- }
}
diff --git a/packages/contracts/src/systems/CharacterSystem.sol b/packages/contracts/src/systems/CharacterSystem.sol
index 629a84f33..3c63a6817 100644
--- a/packages/contracts/src/systems/CharacterSystem.sol
+++ b/packages/contracts/src/systems/CharacterSystem.sol
@@ -7,12 +7,13 @@ import {
Levels,
NameExists,
Counters,
- CharacterStats,
- CharacterStatsData,
+ Stats,
+ StatsData,
Characters,
- CharactersData
+ CharactersData,
+ Skills
} from "@codegen/index.sol";
-import {RngRequestType} from "@codegen/common.sol";
+import {RngRequestType, SkillType} from "@codegen/common.sol";
import {UltimateDominionConfig} from "@codegen/index.sol";
import {IERC721Mintable} from "@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol";
@@ -159,10 +160,10 @@ contract CharacterSystem is System {
}
function getExperience(bytes32 characterId) public view returns (uint256) {
- return CharacterStats.getExperience(characterId);
+ return Stats.getExperience(characterId);
}
- function getCharacterStats(bytes32 characterId) public view returns (CharacterStatsData memory) {
- return CharacterStats.get(characterId);
+ function getStats(bytes32 characterId) public view returns (StatsData memory) {
+ return Stats.get(characterId);
}
}
diff --git a/packages/contracts/src/systems/CombatSystem.sol b/packages/contracts/src/systems/CombatSystem.sol
index 7a24a7e9b..0d1f6d913 100644
--- a/packages/contracts/src/systems/CombatSystem.sol
+++ b/packages/contracts/src/systems/CombatSystem.sol
@@ -2,18 +2,30 @@
pragma solidity >=0.8.24;
import {System} from "@latticexyz/world/src/System.sol";
-import {RandomNumbers} from "@codegen/index.sol";
+import {SystemSwitch} from "@latticexyz/world-modules/src/utils/SystemSwitch.sol";
+import {IWorld} from "@world/IWorld.sol";
+import {
+ RandomNumbers,
+ MatchEntity,
+ Stats,
+ StatsData,
+ Skills,
+ SkillsData,
+ CharacterEquipment,
+ CharacterEquipmentData
+} from "@codegen/index.sol";
import {RngRequestType, MobType, Alignment, EncounterType} from "@codegen/common.sol";
import {Counters} from "@tables/Counters.sol";
import {Mobs, MobsData} from "@tables/Mobs.sol";
import {CombatEncounter, CombatEncounterData} from "@tables/CombatEncounter.sol";
-import {MonsterStats, NPCStats} from "@interfaces/Structs.sol";
+import {MonsterStats, WeaponStats, NPCStats, CombatMove, PhysicalAttackStats} from "@interfaces/Structs.sol";
import {_requireOwner} from "../utils.sol";
import {UltimateDominionConfig} from "@codegen/index.sol";
-import {DEFAULT_MAX_TURNS} from "../../constants.sol";
+import {IRngSystem} from "../interfaces/IRngSystem.sol";
+import {DEFAULT_MAX_TURNS, TO_HIT_MODIFIER, DEFENSE_MODIFIER, ATTACK_MODIFIER} from "../../constants.sol";
contract CombatSystem is System {
- // in pvp the attackers are always players and the defenders are always mobs since there is no aggro system
+ // in pve the attackers are always players and the defenders are always mobs since there is no aggro system
function createMatch(EncounterType encounterType, bytes32[] memory attackers, bytes32[] memory defenders)
public
returns (bytes32)
@@ -29,7 +41,130 @@ contract CombatSystem is System {
defenders: defenders,
attackers: attackers
});
+
CombatEncounter.set(encounterId, combatData);
+ if (uint8(encounterType) == 0) {
+ for (uint256 i; i < defenders.length; i++) {
+ require(MatchEntity.getEncounterId(defenders[i]).length == 0, "COMBAT: Entity Already engaged");
+ MatchEntity.setEncounterId(defenders[i], encounterId);
+ }
+ }
+
return encounterId;
}
+ /**
+ * @param encounterId the bytes32 id of the encounter
+ * @param moves for a pve encounter player moves are calculated first and the mobs.
+ */
+
+ function endTurn(bytes32 encounterId, CombatMove[] memory moves) public {
+ CombatEncounterData memory encounterData = CombatEncounter.get(encounterId);
+ require(encounterData.currentTurn < encounterData.maxTurns, "this encounter is over");
+
+ _queueActions(encounterId, moves);
+ }
+
+ function executeCombat(uint256 randomNumber, bytes32 encounterId, CombatMove[] memory moves) public {
+ // ensure this is an authorised call
+ // _requireAccess(address(this), _msgSender());
+
+ //get encounter data
+
+ for (uint256 i; i < moves.length; i++) {
+ CombatMove memory currentMove = moves[i];
+
+ _executeAttack(
+ encounterId,
+ currentMove.skillId,
+ currentMove.attackerEntityId,
+ currentMove.defenderEntityId,
+ currentMove.weaponId,
+ randomNumber
+ );
+ }
+ }
+
+ function _queueActions(bytes32 encounterId, CombatMove[] memory moves) internal {
+ SystemSwitch.call(
+ abi.encodeCall(IRngSystem.getRng, (encounterId, RngRequestType.Combat, abi.encode(encounterId, moves)))
+ );
+ }
+
+ function _executeAttack(
+ bytes32 matchEntity,
+ bytes32 skillId,
+ bytes32 attackerId,
+ bytes32 defenderId,
+ uint256 weaponId,
+ uint256 randomNumber
+ ) internal {
+ // get skill data
+ SkillsData memory skillData = Skills.get(skillId);
+ //TODO figure out how many chunks to get and distribute those chunks
+ //decode skill data according to type
+ if (uint8(skillData.skillType) == 1) {
+ PhysicalAttackStats memory attackStats = abi.decode(skillData.skillStats, (PhysicalAttackStats));
+ uint256 damage = _calculatePhysicalAttack(attackStats, attackerId, defenderId, weaponId, randomNumber);
+ }
+ //calculate damage
+ }
+
+ function _calculatePhysicalAttack(
+ PhysicalAttackStats memory attackStats,
+ bytes32 attackerId,
+ bytes32 defenderId,
+ uint256 weaponId,
+ uint256 randomNumber
+ ) public returns (uint256 damage) {
+ // get attacker
+ StatsData memory attacker = applyEquipmentBonuses(attackerId);
+ //get defender
+ StatsData memory defender = applyEquipmentBonuses(defenderId);
+ // get weapon stats
+ WeaponStats memory weapon = IWorld(_world()).UD__getWeaponStats(weaponId);
+ if (_calculatePhysicalAttackModifier(randomNumber, attacker.agility, defender.agility)) {
+ damage = (
+ attackStats.bonusDamage
+ + (randomNumber % weapon.maxDamage == 0 ? weapon.minDamage : randomNumber % weapon.maxDamage + 1)
+ ) * (attacker.strength * ATTACK_MODIFIER) - defender.armor;
+ } else {
+ damage = 0;
+ }
+ }
+
+ function _calculatePhysicalAttackModifier(uint256 attackRoll, uint256 attackerAgi, uint256 defenderAgi)
+ internal
+ returns (bool attackLands)
+ {
+ attackLands = (attackRoll + (attackerAgi * TO_HIT_MODIFIER)) >= (defenderAgi * DEFENSE_MODIFIER);
+ }
+
+ function applyEquipmentBonuses(bytes32 entityId) public view returns (StatsData memory modifiedStats) {
+ StatsData memory entityStats = Stats.get(entityId);
+ CharacterEquipmentData memory equipmentStats = CharacterEquipment.get(entityId);
+ //TODO add over/underflowProtection
+ entityStats.strength = uint256(
+ int256(entityStats.strength) + equipmentStats.strBonus >= 0
+ ? int256(entityStats.strength) + equipmentStats.strBonus
+ : int256(1)
+ );
+ entityStats.agility = uint256(
+ int256(entityStats.agility) + equipmentStats.agiBonus >= 0
+ ? int256(entityStats.agility) + equipmentStats.agiBonus
+ : int256(1)
+ );
+ entityStats.intelligence = uint256(
+ int256(entityStats.intelligence) + equipmentStats.intBonus >= 0
+ ? int256(entityStats.intelligence) + equipmentStats.intBonus
+ : int256(1)
+ );
+ entityStats.maxHitPoints = uint256(
+ int256(entityStats.maxHitPoints) + equipmentStats.hpBonus >= 0
+ ? int256(entityStats.maxHitPoints) + equipmentStats.hpBonus
+ : int256(0)
+ );
+ return entityStats;
+ }
+
+ function _calculateMagicAttack() public {}
}
diff --git a/packages/contracts/src/systems/ItemsSystem.sol b/packages/contracts/src/systems/ItemsSystem.sol
index bcaae2f39..e7d580ae0 100644
--- a/packages/contracts/src/systems/ItemsSystem.sol
+++ b/packages/contracts/src/systems/ItemsSystem.sol
@@ -15,8 +15,8 @@ import {
StarterItemsData,
Characters,
CharactersData,
- CharacterStats,
- CharacterStatsData,
+ Stats,
+ StatsData,
CharacterEquipment
} from "@codegen/index.sol";
import {ItemType, Classes} from "@codegen/common.sol";
@@ -24,7 +24,7 @@ import {AccessControlLib} from "@latticexyz/world-modules/src/utils/AccessContro
import {SystemRegistry} from "@latticexyz/world/src/codegen/tables/SystemRegistry.sol";
import {_erc1155SystemId, _characterSystemId, _requireOwner} from "../utils.sol";
import {ITEMS_NAMESPACE} from "../../constants.sol";
-import {WeaponStats} from "@interfaces/Structs.sol";
+import {WeaponStats, ArmorStats} from "@interfaces/Structs.sol";
import {TotalSupply} from "@erc1155/tables/TotalSupply.sol";
import {Owners} from "@erc1155/tables/Owners.sol";
import {ERC1155URIStorage} from "@erc1155/tables/ERC1155URIStorage.sol";
@@ -115,7 +115,7 @@ contract ItemsSystem is System {
function checkRequirements(bytes32 characterId, uint256 itemId) public view returns (bool) {
ItemsData memory itemData = Items.get(itemId);
- CharacterStatsData memory character = CharacterStats.get(characterId);
+ StatsData memory character = Stats.get(characterId);
CharactersData memory characterData = Characters.get(characterId);
bool canUse = true;
if (uint8(itemData.itemType) == 0) {
@@ -149,10 +149,31 @@ contract ItemsSystem is System {
if (uint8(itemType) == 1) {
require(CharacterEquipment.lengthEquippedArmor(characterId) < 3, "ITEMS: Too many weapons equipped");
CharacterEquipment.pushEquippedArmor(characterId, itemId);
+ uint256[] memory equippedArmor = CharacterEquipment.getEquippedArmor(characterId);
+ uint256 totalArmor;
+ int256 totalStrModifiers;
+ int256 totalAgiModifiers;
+ int256 totalIntModifiers;
+ int256 totalHPModifiers;
+ ArmorStats memory armorStats;
+ for (uint256 i; i < equippedArmor.length; i++) {
+ armorStats = getArmorStats(equippedArmor[i]);
+ totalArmor += armorStats.armorModifier;
+ totalStrModifiers += armorStats.strModifier;
+ totalAgiModifiers += armorStats.agiModifier;
+ totalIntModifiers += armorStats.intModifier;
+ totalHPModifiers += armorStats.hitPointModifier;
+ }
+ CharacterEquipment.setStrBonus(characterId, totalStrModifiers);
+ CharacterEquipment.setAgiBonus(characterId, totalAgiModifiers);
+ CharacterEquipment.setIntBonus(characterId, totalIntModifiers);
+ CharacterEquipment.setHpBonus(characterId, totalHPModifiers);
+ Stats.setArmor(characterId, totalArmor);
}
+
if (uint8(itemType) == 2) {
- require(CharacterEquipment.lengthEquippedSpells(characterId) < 3, "ITEMS: Too many weapons equipped");
- CharacterEquipment.pushEquippedSpells(characterId, itemId);
+ // require(CharacterEquipment.lengthEquippedSpells(characterId) < 3, "ITEMS: Too many weapons equipped");
+ // CharacterEquipment.pushEquippedSpells(characterId, itemId);
}
}
@@ -178,13 +199,13 @@ contract ItemsSystem is System {
}
}
if (itemType == 2) {
- uint256[] memory sortedArray =
- _moveIdToEndOfArray(itemId, CharacterEquipment.getEquippedSpells(characterId));
- if (sortedArray[sortedArray.length - 1] == itemId) {
- CharacterEquipment.setEquippedSpells(characterId, sortedArray);
- CharacterEquipment.popEquippedSpells(characterId);
- success = true;
- }
+ // uint256[] memory sortedArray =
+ // _moveIdToEndOfArray(itemId, CharacterEquipment.getEquippedSpells(characterId));
+ // if (sortedArray[sortedArray.length - 1] == itemId) {
+ // CharacterEquipment.setEquippedSpells(characterId, sortedArray);
+ // CharacterEquipment.popEquippedSpells(characterId);
+ // success = true;
+ // }
}
}
@@ -246,6 +267,12 @@ contract ItemsSystem is System {
_weaponStats = abi.decode(_data.stats, (WeaponStats));
}
+ function getArmorStats(uint256 itemId) public view returns (ArmorStats memory _ArmorStats) {
+ ItemsData memory _data = Items.get(itemId);
+ require(_data.itemType == ItemType.Armor, "ITEMS: Not a Armor");
+ _ArmorStats = abi.decode(_data.stats, (ArmorStats));
+ }
+
function setStarterItems(Classes class, uint256[] memory itemIds, uint256[] memory amounts) public {
_requireOwner(address(this), _msgSender());
require(itemIds.length == amounts.length, "ITEMS: Length mismatch");
diff --git a/packages/contracts/src/systems/MapSystem.sol b/packages/contracts/src/systems/MapSystem.sol
index e720211e4..fae479617 100644
--- a/packages/contracts/src/systems/MapSystem.sol
+++ b/packages/contracts/src/systems/MapSystem.sol
@@ -1,39 +1,39 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-import { System } from "@latticexyz/world/src/System.sol";
-import { Characters, MapConfig, Position, Spawned } from "../codegen/index.sol";
+import {System} from "@latticexyz/world/src/System.sol";
+import {Characters, MapConfig, Position, Spawned} from "../codegen/index.sol";
contract MapSystem is System {
- function move(uint256 characterId, uint32 x, uint32 y) public {
- address owner = Characters.getOwner(characterId);
- require(_msgSender() == owner, "Only the owner can move a character");
+ function move(bytes32 entityId, uint16 x, uint16 y) public {
+ address owner = Characters.getOwner(entityId);
+ require(_msgSender() == owner, "Only the owner can move a character");
- require(Spawned.getSpawned(characterId), "Character not spawned");
+ require(Spawned.getSpawned(entityId), "Character not spawned");
- (uint32 currentX, uint32 currentY) = Position.get(characterId);
- (uint32 height, uint32 width) = MapConfig.get();
+ (uint16 currentX, uint16 currentY) = Position.get(entityId);
+ (uint16 height, uint16 width) = MapConfig.get();
- require(x < width, "X out of bounds");
- require(y < height, "Y out of bounds");
- require(distance(currentX, currentY, x, y) == 1, "Can only move 1 tile at a time");
+ require(x < width, "X out of bounds");
+ require(y < height, "Y out of bounds");
+ require(distance(currentX, currentY, x, y) == 1, "Can only move 1 tile at a time");
- Position.set(characterId, x, y);
- }
+ Position.set(entityId, x, y);
+ }
- function spawn(uint256 characterId) public {
- address owner = Characters.getOwner(characterId);
- require(_msgSender() == owner, "Only the owner can spawn a character");
+ function spawn(bytes32 entityId) public {
+ address owner = Characters.getOwner(entityId);
+ require(_msgSender() == owner, "Only the owner can spawn a character");
- require(!Spawned.getSpawned(characterId), "Character already spawned");
+ require(!Spawned.getSpawned(entityId), "Character already spawned");
- Position.set(characterId, 0, 0);
- Spawned.setSpawned(characterId, true);
- }
+ Position.set(entityId, 0, 0);
+ Spawned.setSpawned(entityId, true);
+ }
- function distance(uint32 fromX, uint32 fromY, uint32 toX, uint32 toY) internal pure returns (uint32) {
- uint32 deltaX = fromX > toX ? fromX - toX : toX - fromX;
- uint32 deltaY = fromY > toY ? fromY - toY : toY - fromY;
- return deltaX + deltaY;
- }
+ function distance(uint16 fromX, uint16 fromY, uint16 toX, uint16 toY) internal pure returns (uint16) {
+ uint16 deltaX = fromX > toX ? fromX - toX : toX - fromX;
+ uint16 deltaY = fromY > toY ? fromY - toY : toY - fromY;
+ return deltaX + deltaY;
+ }
}
diff --git a/packages/contracts/src/systems/MobSystem.sol b/packages/contracts/src/systems/MobSystem.sol
index 58fa1e61c..741aa93d7 100644
--- a/packages/contracts/src/systems/MobSystem.sol
+++ b/packages/contracts/src/systems/MobSystem.sol
@@ -2,27 +2,27 @@
pragma solidity >=0.8.24;
import {System} from "@latticexyz/world/src/System.sol";
-import {RandomNumbers, Position, PositionData, EntitiesAtPosition} from "@codegen/index.sol";
+import {RandomNumbers, Position, EntitiesAtPosition, MatchEntity} from "@codegen/index.sol";
import {RngRequestType, MobType, Alignment} from "@codegen/common.sol";
import {Counters} from "@tables/Counters.sol";
import {Mobs, MobsData} from "@tables/Mobs.sol";
import {MonsterStats, NPCStats} from "@interfaces/Structs.sol";
import {_requireOwner, _requireAccess} from "../utils.sol";
-import {UltimateDominionConfig} from "@codegen/index.sol";
+import {UltimateDominionConfig, Stats, StatsData, Spawned} from "@codegen/index.sol";
contract MobSystem is System {
/**
* @dev this creates a mob template that can be spawned into the world at any tile location
* @param mobType the type of mob this is Monster or NPC for now
- * @param mobStats the encoded bytes struct of the stats of this particular mob encode MonsterStats for a monster and NPCStats for an npc
+ * @param stats the encoded bytes struct of the stats of this particular mob encode MonsterStats for a monster and NPCStats for an npc
* @param mobMetadataUri the uri for an associated metadata for the mob
* @return mobId, the identifier for this mob template
*/
- function createMob(MobType mobType, bytes memory mobStats, string memory mobMetadataUri) public returns (uint256) {
+ function createMob(MobType mobType, bytes memory stats, string memory mobMetadataUri) public returns (uint256) {
_requireOwner(address(this), _msgSender());
uint256 mobId = _incrementMobId();
require(mobId < type(uint32).max, "MOB SYSTEM: Max Monster types reached");
- Mobs.set(mobId, mobType, mobStats, mobMetadataUri);
+ Mobs.set(mobId, mobType, stats, mobMetadataUri);
return mobId;
}
@@ -35,14 +35,29 @@ contract MobSystem is System {
}
}
- function spawnMob(uint256 mobId, PositionData memory positionData) public returns (bytes32 entityId) {
+ function spawnMob(uint256 mobId, uint16 x, uint16 y) public returns (bytes32 entityId) {
_requireAccess(address(this), _msgSender());
require(Counters.getCounter(address(this), 0) >= mobId, "MOB SYSTEM: Mob does not exist");
- entityId = bytes32(
- abi.encodePacked(uint32(mobId), uint192(_incrementMobCounter(mobId)), positionData.x, positionData.y)
- );
- Position.set(entityId, positionData);
- EntitiesAtPosition.pushEntities(positionData.x, positionData.y, entityId);
+ entityId = bytes32(abi.encodePacked(uint32(mobId), uint192(_incrementMobCounter(mobId)), x, y));
+ MobsData memory stats = Mobs.get(mobId);
+ if (uint8(stats.mobType) == 0) {
+ MonsterStats memory monsterStats = abi.decode(stats.mobStats, (MonsterStats));
+ StatsData memory statsData = StatsData({
+ strength: monsterStats.strength,
+ agility: monsterStats.agility,
+ intelligence: monsterStats.intelligence,
+ maxHitPoints: monsterStats.hitPoints,
+ currentDamage: int256(0),
+ experience: monsterStats.experience,
+ level: monsterStats.level,
+ armor: monsterStats.armor
+ });
+ Stats.set(entityId, statsData);
+ }
+
+ Position.set(entityId, x, y);
+ EntitiesAtPosition.pushEntities(x, y, entityId);
+ Spawned.set(entityId, true);
}
function getMobId(bytes32 entityId) public pure returns (uint256) {
diff --git a/packages/contracts/src/systems/RngSystem.sol b/packages/contracts/src/systems/RngSystem.sol
index 95e566d63..dae18ba11 100644
--- a/packages/contracts/src/systems/RngSystem.sol
+++ b/packages/contracts/src/systems/RngSystem.sol
@@ -3,11 +3,13 @@ pragma solidity >=0.8.24;
import {System} from "@latticexyz/world/src/System.sol";
import {RandomNumbers} from "@codegen/index.sol";
-import {Characters, CharacterStats} from "@codegen/index.sol";
+import {Characters, Stats} from "@codegen/index.sol";
import {Classes, RngRequestType} from "@codegen/common.sol";
import {UltimateDominionConfig} from "../codegen/index.sol";
import {LibChunks} from "../libraries/LibChunks.sol";
+import {CombatMove} from "@interfaces/Structs.sol";
import {IEntropyConsumer} from "@pythnetwork/IEntropyConsumer.sol";
+import {IWorld} from "@world/IWorld.sol";
import {IEntropy} from "@pythnetwork/IEntropy.sol";
import "forge-std/console2.sol";
@@ -32,13 +34,17 @@ contract RngSystem is System, IEntropyConsumer {
provider = UltimateDominionConfig.getPythProvider();
}
- function getRng(bytes32 userRandomNumber, RngRequestType requestType, bytes memory data) public payable {
+ function getRng(bytes32 userRandomNumber, RngRequestType requestType, bytes memory data)
+ public
+ payable
+ returns (uint64 sequenceNumber)
+ {
uint128 requestFee = _entropy().getFee(_provider());
// check if the user has sent enough fees
// if (_msgValue() < requestFee) revert('not enough fees');
// NOTE: required for testing, since callback is coming before data is stored
- /////////////// TODO: remove or comment out for mainnet deployment //////
+ /////////////// TODO: remove for mainnet deployment //////
if (block.chainid == 31337) {
(, bytes memory returnData) = address(_entropy()).staticcall(
abi.encodeWithSelector(IEntropy.request.selector, _provider(), userRandomNumber, false)
@@ -50,7 +56,7 @@ contract RngSystem is System, IEntropyConsumer {
/////////////////////////////////////////
// pay the fees and request a random number from entropy
- uint64 sequenceNumber = _entropy().requestWithCallback{value: requestFee}(_provider(), userRandomNumber);
+ sequenceNumber = _entropy().requestWithCallback{value: requestFee}(_provider(), userRandomNumber);
// RandomNumbers.set(sequenceNumber, requestType, data);
RandomNumbers.setArbitraryData(sequenceNumber, data);
RandomNumbers.setRequestType(sequenceNumber, requestType);
@@ -74,11 +80,19 @@ contract RngSystem is System, IEntropyConsumer {
if (uint8(requestType) == uint8(0)) {
bytes32 characterId = abi.decode(_data, (bytes32));
- _storeCharacterStats(randomNumber, characterId);
+ _storeStats(randomNumber, characterId);
}
+ if (uint8(requestType) == uint8(1)) {
+ (bytes32 encounterId, CombatMove[] memory moves) = abi.decode(_data, (bytes32, CombatMove[]));
+ _executeCombat(randomNumber, encounterId, moves);
+ }
+ }
+
+ function _executeCombat(uint256 randomNumber, bytes32 encounterId, CombatMove[] memory moves) internal {
+ IWorld(_world()).UD__executeCombat(randomNumber, encounterId, moves);
}
- function _storeCharacterStats(uint256 randomNumber, uint256 characterId) internal {
+ function _storeStats(uint256 randomNumber, bytes32 characterId) internal {
uint64[] memory chunks = randomNumber.get4Chunks();
Classes characterClass = Characters.getClass(characterId);
@@ -113,17 +127,17 @@ contract RngSystem is System, IEntropyConsumer {
// Class-based adjustments; should total to 21
if (characterClass == Classes.Warrior) {
strength += 2;
- CharacterStats.setHitPoints(characterId, uint256(10));
+ Stats.setMaxHitPoints(characterId, uint256(10));
} else if (characterClass == Classes.Rogue) {
agility += 2;
- CharacterStats.setHitPoints(characterId, uint256(6));
+ Stats.setMaxHitPoints(characterId, uint256(6));
} else if (characterClass == Classes.Mage) {
intelligence += 2;
- CharacterStats.setHitPoints(characterId, uint256(8));
+ Stats.setMaxHitPoints(characterId, uint256(8));
}
- CharacterStats.setStrength(characterId, strength);
- CharacterStats.setAgility(characterId, agility);
- CharacterStats.setIntelligence(characterId, intelligence);
+ Stats.setStrength(characterId, strength);
+ Stats.setAgility(characterId, agility);
+ Stats.setIntelligence(characterId, intelligence);
}
}
diff --git a/packages/contracts/test/CharacterSystem.t.sol b/packages/contracts/test/CharacterSystem.t.sol
index 201a39f95..958389979 100644
--- a/packages/contracts/test/CharacterSystem.t.sol
+++ b/packages/contracts/test/CharacterSystem.t.sol
@@ -2,7 +2,7 @@ pragma solidity >=0.8.24;
import {SetUp} from "./SetUp.sol";
import {Classes} from "../src/codegen/common.sol";
-import {CharacterStatsData} from "../src/codegen/tables/CharacterStats.sol";
+import {StatsData} from "../src/codegen/tables/Stats.sol";
import {GasReporter} from "@latticexyz/gas-report/src/GasReporter.sol";
import {IERC721Metadata} from "@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Metadata.sol";
import "forge-std/console2.sol";
@@ -28,11 +28,11 @@ contract Test_CharacterSystem is SetUp, GasReporter {
vm.prank(alice);
world.UD__rollStats{value: fees}(alicesRandomness, alicesCharacterId, Classes.Rogue);
vm.warp(block.number + 1);
- CharacterStatsData memory alicesCharacter = world.UD__getCharacterStats(alicesCharacterId);
+ StatsData memory alicesCharacter = world.UD__getStats(alicesCharacterId);
assertEq(uint8(world.UD__getClass(alicesCharacterId)), uint8(Classes.Rogue));
- assertEq(alicesCharacter.strength, 2);
- assertEq(alicesCharacter.agility, 7);
- assertEq(alicesCharacter.hitPoints, 3);
+ assertEq(alicesCharacter.strength, 9);
+ assertEq(alicesCharacter.agility, 8);
+ assertEq(alicesCharacter.maxHitPoints, 6);
assertEq(alicesCharacter.intelligence, 4);
endGasReport();
diff --git a/packages/contracts/test/ItemsSystem.t.sol b/packages/contracts/test/ItemsSystem.t.sol
index 919bc9810..dc4c7cfa1 100644
--- a/packages/contracts/test/ItemsSystem.t.sol
+++ b/packages/contracts/test/ItemsSystem.t.sol
@@ -2,7 +2,7 @@ pragma solidity >=0.8.24;
import {SetUp} from "./SetUp.sol";
import {Classes, ItemType} from "@codegen/common.sol";
-import {CharacterStatsData} from "@tables/CharacterStats.sol";
+import {StatsData} from "@tables/Stats.sol";
import "forge-std/console2.sol";
import {PuppetModule} from "@latticexyz/world-modules/src/modules/puppet/PuppetModule.sol";
import {UltimateDominionConfig} from "@codegen/index.sol";
@@ -32,7 +32,7 @@ contract Test_ItemsSystem is SetUp, GasReporter {
uint8[] memory restrictions = new uint8[](0);
WeaponStats memory weaponStats =
- WeaponStats({damage: 1, speed: 2, classRestrictions: restrictions, minLevel: 0});
+ WeaponStats({minDamage: 1, maxDamage: 4, classRestrictions: restrictions, minLevel: 0});
vm.startPrank(deployer);
uint256 firstItemId =
world.UD__createItem(ItemType.Weapon, 10 ether, abi.encode(weaponStats), "test_Weapon_uri1/");
@@ -53,7 +53,7 @@ contract Test_ItemsSystem is SetUp, GasReporter {
function test_CreateItem_Revert_NotNamespaceOwner() public {
uint8[] memory restrictions = new uint8[](0);
WeaponStats memory weaponStats =
- WeaponStats({damage: 1, speed: 2, classRestrictions: restrictions, minLevel: 0});
+ WeaponStats({minDamage: 1, maxDamage: 4, classRestrictions: restrictions, minLevel: 0});
vm.startPrank(alice);
vm.expectRevert();
world.UD__createItem(ItemType.Weapon, 100 ether, abi.encode(weaponStats), "test_Weapon_uri1/");
@@ -62,7 +62,7 @@ contract Test_ItemsSystem is SetUp, GasReporter {
function test_GetTotalSupply() public {
uint8[] memory restrictions = new uint8[](0);
WeaponStats memory weaponStats =
- WeaponStats({damage: 1, speed: 2, classRestrictions: restrictions, minLevel: 0});
+ WeaponStats({minDamage: 1, maxDamage: 4, classRestrictions: restrictions, minLevel: 0});
vm.startPrank(deployer);
uint256 id = world.UD__createItem(ItemType.Weapon, 100 ether, abi.encode(weaponStats), "test_Weapon_uri/");
assertEq(world.UD__getTotalSupply(id), 100 ether);
diff --git a/packages/contracts/test/MobSystem.t.sol b/packages/contracts/test/MobSystem.t.sol
index ddfc80512..7f60d936a 100644
--- a/packages/contracts/test/MobSystem.t.sol
+++ b/packages/contracts/test/MobSystem.t.sol
@@ -2,9 +2,9 @@ pragma solidity >=0.8.24;
import {SetUp} from "./SetUp.sol";
import {Classes, ItemType, MobType} from "@codegen/common.sol";
-import {CharacterStatsData} from "@tables/CharacterStats.sol";
+import {StatsData} from "@tables/Stats.sol";
import {PuppetModule} from "@latticexyz/world-modules/src/modules/puppet/PuppetModule.sol";
-import {UltimateDominionConfig, PositionData} from "@codegen/index.sol";
+import {UltimateDominionConfig} from "@codegen/index.sol";
import {UltimateDominionConfigSystem} from "@systems/UltimateDominionConfigSystem.sol";
import {ERC1155Module} from "@erc1155/ERC1155Module.sol";
import {ERC1155System} from "@erc1155/ERC1155System.sol";
@@ -58,11 +58,13 @@ contract Test_MobSystem is SetUp, GasReporter {
_inventory[0] = 1;
MonsterStats memory newMonster = MonsterStats({
- hp: 10000,
- armor: 10000,
+ hitPoints: 10,
+ armor: 1,
+ strength: 1,
+ agility: 1,
+ intelligence: 1,
level: 1,
- experience: 10000,
- baseDamage: 10000,
+ experience: 10,
class: Classes.Warrior,
inventory: _inventory
});
@@ -76,30 +78,26 @@ contract Test_MobSystem is SetUp, GasReporter {
}
function test_getEntityId() public {
- PositionData memory posDat = PositionData({x: 1, y: 2});
- bytes32 entityId = bytes32(abi.encodePacked(uint32(starterMobId), uint192(1), posDat.x, posDat.y));
+ bytes32 entityId = bytes32(abi.encodePacked(uint32(starterMobId), uint192(1), uint16(1), uint16(2)));
- assertEq(world.UD__spawnMob(1, posDat), entityId);
+ assertEq(world.UD__spawnMob(1, 1, 2), entityId);
}
function test_getMobId() public {
- PositionData memory posDat = PositionData({x: 1, y: 2});
- bytes32 entityId = world.UD__spawnMob(starterMobId, posDat);
+ bytes32 entityId = world.UD__spawnMob(starterMobId, 1, 2);
assertEq(world.UD__getMobId(entityId), starterMobId);
}
function test_getMobPosition() public {
- PositionData memory posDat = PositionData({x: 1, y: 2});
- bytes32 entityId = world.UD__spawnMob(starterMobId, posDat);
+ bytes32 entityId = world.UD__spawnMob(starterMobId, 1, 2);
(uint16 x, uint16 y) = world.UD__getMobPosition(entityId);
assertEq(x, 1);
assertEq(y, 2);
}
function test_getSpawnCounter() public {
- PositionData memory posDat = PositionData({x: 1, y: 2});
- bytes32 entityId = world.UD__spawnMob(starterMobId, posDat);
+ bytes32 entityId = world.UD__spawnMob(starterMobId, 1, 2);
assertEq(world.UD__getSpawnCounter(entityId), 1);
}
}
diff --git a/packages/contracts/test/RngSystem.t.sol b/packages/contracts/test/RngSystem.t.sol
index 5fb22d36d..cb2d095cc 100644
--- a/packages/contracts/test/RngSystem.t.sol
+++ b/packages/contracts/test/RngSystem.t.sol
@@ -1,15 +1,15 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-import { SetUp } from "./SetUp.sol";
-import { Classes } from "../src/codegen/common.sol";
-import { RandomNumbersData } from "../src/codegen/tables/RandomNumbers.sol";
-import { IRngSystem } from "../src/interfaces/IRngSystem.sol";
+import {SetUp} from "./SetUp.sol";
+import {Classes} from "../src/codegen/common.sol";
+import {RandomNumbersData} from "../src/codegen/tables/RandomNumbers.sol";
+import {IRngSystem} from "../src/interfaces/IRngSystem.sol";
import "forge-std/console2.sol";
contract Test_RngSystem is SetUp {
- function test_getFee() public {
- assertEq(IRngSystem(address(world)).getFee(), 100000);
- }
+ function test_getFee() public {
+ assertEq(IRngSystem(address(world)).getFee(), 100000);
+ }
}
diff --git a/packages/contracts/test/SetUp.sol b/packages/contracts/test/SetUp.sol
index db2d29072..450bb9ab4 100644
--- a/packages/contracts/test/SetUp.sol
+++ b/packages/contracts/test/SetUp.sol
@@ -58,11 +58,13 @@ contract SetUp is Test {
_inventory[0] = 1;
MonsterStats memory newMonster = MonsterStats({
- hp: 10000,
- armor: 10000,
+ hitPoints: 10,
+ armor: 1,
+ strength: 1,
+ agility: 1,
+ intelligence: 1,
level: 1,
- experience: 10000,
- baseDamage: 10000,
+ experience: 10,
class: Classes.Warrior,
inventory: _inventory
});
diff --git a/packages/contracts/test/mocks/MockEntropy.sol b/packages/contracts/test/mocks/MockEntropy.sol
index 7c9b9afd5..fe91a4ebb 100644
--- a/packages/contracts/test/mocks/MockEntropy.sol
+++ b/packages/contracts/test/mocks/MockEntropy.sol
@@ -1,83 +1,87 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-import { IEntropyConsumer } from "@pythnetwork/IEntropyConsumer.sol";
-import { IEntropy } from "@pythnetwork/IEntropy.sol";
-import { EntropyStructs } from "@pythnetwork/EntropyStructs.sol";
+import {IEntropyConsumer} from "@pythnetwork/IEntropyConsumer.sol";
+import {IEntropy} from "@pythnetwork/IEntropy.sol";
+import {EntropyStructs} from "@pythnetwork/EntropyStructs.sol";
import "forge-std/console2.sol";
contract MockEntropy is IEntropy {
- uint128 mockFee = 100000;
-
- function register(
- uint128 feeInWei,
- bytes32 commitment,
- bytes calldata commitmentMetadata,
- uint64 chainLength,
- bytes calldata uri
- ) external {}
-
- function withdraw(uint128 amount) external {}
-
- function request(
- address,
- /* provider **/ bytes32,
- /* userCommitment **/ bool /* useBlockHash **/
- ) external payable returns (uint64 assignedSequenceNumber) {
- assignedSequenceNumber = uint64(1234567);
- }
-
- function requestWithCallback(
- address,
- /* provider **/ bytes32 /* userRandomNumber **/
- ) external payable returns (uint64 assignedSequenceNumber) {
- // require(msg.value == mockFee, 'more fees please');
- assignedSequenceNumber = uint64(1234567);
- bytes32 randomNumber = keccak256(abi.encode(block.number));
- IEntropyConsumer(msg.sender)._entropyCallback(assignedSequenceNumber, address(1), randomNumber);
- return assignedSequenceNumber;
- }
-
- function reveal(
- address /* provider **/,
- uint64 /* sequenceNumber **/,
- bytes32 /* userRevelation **/,
- bytes32 /* providerRevelation **/
- ) external pure returns (bytes32 randomNumber) {
- return bytes32(keccak256(abi.encode("random number: reveal")));
- }
-
- function revealWithCallback(
- address /* provider **/,
- uint64 /* sequenceNumber **/,
- bytes32 /* userRandomNumber **/,
- bytes32 /* providerRevelation **/
- ) external {}
-
- function getProviderInfo(address provider) external view returns (EntropyStructs.ProviderInfo memory info) {}
-
- function getDefaultProvider() external view returns (address provider) {}
-
- function getRequest(
- address provider,
- uint64 sequenceNumber
- ) external view returns (EntropyStructs.Request memory req) {}
-
- function getFee(address /* provider **/) external view returns (uint128) {
- return mockFee;
- }
-
- function getAccruedPythFees() external view returns (uint128 accruedPythFeesInWei) {}
-
- function setProviderFee(uint128 newFeeInWei) external {}
-
- function setProviderUri(bytes calldata newUri) external {}
-
- function constructUserCommitment(bytes32 userRandomness) external pure returns (bytes32 userCommitment) {}
-
- function combineRandomValues(
- bytes32 userRandomness,
- bytes32 providerRandomness,
- bytes32 blockHash
- ) external pure returns (bytes32 combinedRandomness) {}
+ uint128 mockFee = 100000;
+
+ function register(
+ uint128 feeInWei,
+ bytes32 commitment,
+ bytes calldata commitmentMetadata,
+ uint64 chainLength,
+ bytes calldata uri
+ ) external {}
+
+ function withdraw(uint128 amount) external {}
+
+ function request(
+ address,
+ /* provider **/
+ bytes32,
+ /* userCommitment **/
+ bool /* useBlockHash **/
+ ) external payable returns (uint64 assignedSequenceNumber) {
+ assignedSequenceNumber = uint64(1234567);
+ }
+
+ function requestWithCallback(
+ address,
+ /* provider **/
+ bytes32 /* userRandomNumber **/
+ ) external payable returns (uint64 assignedSequenceNumber) {
+ // require(msg.value == mockFee, 'more fees please');
+ assignedSequenceNumber = uint64(1234567);
+ bytes32 randomNumber = keccak256(abi.encode(block.number));
+ IEntropyConsumer(msg.sender)._entropyCallback(assignedSequenceNumber, address(1), randomNumber);
+ return assignedSequenceNumber;
+ }
+
+ function reveal(
+ address, /* provider **/
+ uint64, /* sequenceNumber **/
+ bytes32, /* userRevelation **/
+ bytes32 /* providerRevelation **/
+ ) external pure returns (bytes32 randomNumber) {
+ return bytes32(keccak256(abi.encode("random number: reveal")));
+ }
+
+ function revealWithCallback(
+ address, /* provider **/
+ uint64, /* sequenceNumber **/
+ bytes32, /* userRandomNumber **/
+ bytes32 /* providerRevelation **/
+ ) external {}
+
+ function getProviderInfo(address provider) external view returns (EntropyStructs.ProviderInfo memory info) {}
+
+ function getDefaultProvider() external view returns (address provider) {}
+
+ function getRequest(address provider, uint64 sequenceNumber)
+ external
+ view
+ returns (EntropyStructs.Request memory req)
+ {}
+
+ function getFee(address /* provider **/ ) external view returns (uint128) {
+ return mockFee;
+ }
+
+ function getAccruedPythFees() external view returns (uint128 accruedPythFeesInWei) {}
+
+ function setProviderFee(uint128 newFeeInWei) external {}
+
+ function setProviderUri(bytes calldata newUri) external {}
+
+ function constructUserCommitment(bytes32 userRandomness) external pure returns (bytes32 userCommitment) {}
+
+ function combineRandomValues(bytes32 userRandomness, bytes32 providerRandomness, bytes32 blockHash)
+ external
+ pure
+ returns (bytes32 combinedRandomness)
+ {}
}
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index a6d0bc1d0..ec0630f4a 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0x565a7b6320ef91b3d74ee4340081d02605ac51a7"
+ "address": "0x915c217c6538343780511222646b7d3996b33d5e"
},
"84532": {
"address": "0xeafba96222596ac92cd335b0adfc1c2f50357571",
From 304332f8bf41ad88ab4b0419a481a3ab4416e2c8 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Mon, 1 Jul 2024 00:18:32 -0500
Subject: [PATCH 09/14] added missing files
---
.../src/codegen/tables/MatchEntity.sol | 321 ++++++++
.../contracts/src/codegen/tables/Skills.sol | 478 ++++++++++++
.../contracts/src/codegen/tables/Stats.sol | 701 ++++++++++++++++++
.../src/codegen/world/ISkillSystem.sol | 15 +
packages/contracts/src/libraries/Math.sol | 245 ++++++
.../contracts/src/systems/SkillSystem.sol | 32 +
6 files changed, 1792 insertions(+)
create mode 100644 packages/contracts/src/codegen/tables/MatchEntity.sol
create mode 100644 packages/contracts/src/codegen/tables/Skills.sol
create mode 100644 packages/contracts/src/codegen/tables/Stats.sol
create mode 100644 packages/contracts/src/codegen/world/ISkillSystem.sol
create mode 100644 packages/contracts/src/libraries/Math.sol
create mode 100644 packages/contracts/src/systems/SkillSystem.sol
diff --git a/packages/contracts/src/codegen/tables/MatchEntity.sol b/packages/contracts/src/codegen/tables/MatchEntity.sol
new file mode 100644
index 000000000..7333f9719
--- /dev/null
+++ b/packages/contracts/src/codegen/tables/MatchEntity.sol
@@ -0,0 +1,321 @@
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.8.24;
+
+/* Autogenerated file. Do not edit manually. */
+
+// Import store internals
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+
+struct MatchEntityData {
+ bytes32 encounterId;
+ int256 damageTaken;
+}
+
+library MatchEntity {
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MatchEntity", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d61746368456e746974790000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0040020020200000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bytes32, int256)
+ Schema constant _valueSchema = Schema.wrap(0x004002005f3f0000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "matchEntityId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "encounterId";
+ fieldNames[1] = "damageTaken";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get encounterId.
+ */
+ function getEncounterId(bytes32 matchEntityId) internal view returns (bytes32 encounterId) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (bytes32(_blob));
+ }
+
+ /**
+ * @notice Get encounterId.
+ */
+ function _getEncounterId(bytes32 matchEntityId) internal view returns (bytes32 encounterId) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (bytes32(_blob));
+ }
+
+ /**
+ * @notice Set encounterId.
+ */
+ function setEncounterId(bytes32 matchEntityId, bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((encounterId)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set encounterId.
+ */
+ function _setEncounterId(bytes32 matchEntityId, bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((encounterId)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get damageTaken.
+ */
+ function getDamageTaken(bytes32 matchEntityId) internal view returns (int256 damageTaken) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get damageTaken.
+ */
+ function _getDamageTaken(bytes32 matchEntityId) internal view returns (int256 damageTaken) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set damageTaken.
+ */
+ function setDamageTaken(bytes32 matchEntityId, int256 damageTaken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((damageTaken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set damageTaken.
+ */
+ function _setDamageTaken(bytes32 matchEntityId, int256 damageTaken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((damageTaken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 matchEntityId) internal view returns (MatchEntityData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 matchEntityId) internal view returns (MatchEntityData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 matchEntityId, bytes32 encounterId, int256 damageTaken) internal {
+ bytes memory _staticData = encodeStatic(encounterId, damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 matchEntityId, bytes32 encounterId, int256 damageTaken) internal {
+ bytes memory _staticData = encodeStatic(encounterId, damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 matchEntityId, MatchEntityData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.encounterId, _table.damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 matchEntityId, MatchEntityData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.encounterId, _table.damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (bytes32 encounterId, int256 damageTaken) {
+ encounterId = (Bytes.getBytes32(_blob, 0));
+
+ damageTaken = (int256(uint256(Bytes.getBytes32(_blob, 32))));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths,
+ bytes memory
+ ) internal pure returns (MatchEntityData memory _table) {
+ (_table.encounterId, _table.damageTaken) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 matchEntityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 matchEntityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(bytes32 encounterId, int256 damageTaken) internal pure returns (bytes memory) {
+ return abi.encodePacked(encounterId, damageTaken);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ bytes32 encounterId,
+ int256 damageTaken
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(encounterId, damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 matchEntityId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ return _keyTuple;
+ }
+}
diff --git a/packages/contracts/src/codegen/tables/Skills.sol b/packages/contracts/src/codegen/tables/Skills.sol
new file mode 100644
index 000000000..b0d722e2e
--- /dev/null
+++ b/packages/contracts/src/codegen/tables/Skills.sol
@@ -0,0 +1,478 @@
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.8.24;
+
+/* Autogenerated file. Do not edit manually. */
+
+// Import store internals
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+
+// Import user types
+import { SkillType } from "./../common.sol";
+
+struct SkillsData {
+ SkillType skillType;
+ bytes skillStats;
+}
+
+library Skills {
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Skills", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000536b696c6c7300000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010101000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, bytes)
+ Schema constant _valueSchema = Schema.wrap(0x0001010100c40000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "skillId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "skillType";
+ fieldNames[1] = "skillStats";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get skillType.
+ */
+ function getSkillType(bytes32 skillId) internal view returns (SkillType skillType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return SkillType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get skillType.
+ */
+ function _getSkillType(bytes32 skillId) internal view returns (SkillType skillType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return SkillType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set skillType.
+ */
+ function setSkillType(bytes32 skillId, SkillType skillType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(skillType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set skillType.
+ */
+ function _setSkillType(bytes32 skillId, SkillType skillType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(skillType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get skillStats.
+ */
+ function getSkillStats(bytes32 skillId) internal view returns (bytes memory skillStats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Get skillStats.
+ */
+ function _getSkillStats(bytes32 skillId) internal view returns (bytes memory skillStats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Set skillStats.
+ */
+ function setSkillStats(bytes32 skillId, bytes memory skillStats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((skillStats)));
+ }
+
+ /**
+ * @notice Set skillStats.
+ */
+ function _setSkillStats(bytes32 skillId, bytes memory skillStats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((skillStats)));
+ }
+
+ /**
+ * @notice Get the length of skillStats.
+ */
+ function lengthSkillStats(bytes32 skillId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of skillStats.
+ */
+ function _lengthSkillStats(bytes32 skillId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of skillStats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemSkillStats(bytes32 skillId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of skillStats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemSkillStats(bytes32 skillId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to skillStats.
+ */
+ function pushSkillStats(bytes32 skillId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to skillStats.
+ */
+ function _pushSkillStats(bytes32 skillId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from skillStats.
+ */
+ function popSkillStats(bytes32 skillId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from skillStats.
+ */
+ function _popSkillStats(bytes32 skillId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Update a slice of skillStats at `_index`.
+ */
+ function updateSkillStats(bytes32 skillId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of skillStats at `_index`.
+ */
+ function _updateSkillStats(bytes32 skillId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 skillId) internal view returns (SkillsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 skillId) internal view returns (SkillsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 skillId, SkillType skillType, bytes memory skillStats) internal {
+ bytes memory _staticData = encodeStatic(skillType);
+
+ EncodedLengths _encodedLengths = encodeLengths(skillStats);
+ bytes memory _dynamicData = encodeDynamic(skillStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 skillId, SkillType skillType, bytes memory skillStats) internal {
+ bytes memory _staticData = encodeStatic(skillType);
+
+ EncodedLengths _encodedLengths = encodeLengths(skillStats);
+ bytes memory _dynamicData = encodeDynamic(skillStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 skillId, SkillsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.skillType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.skillStats);
+ bytes memory _dynamicData = encodeDynamic(_table.skillStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 skillId, SkillsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.skillType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.skillStats);
+ bytes memory _dynamicData = encodeDynamic(_table.skillStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (SkillType skillType) {
+ skillType = SkillType(uint8(Bytes.getBytes1(_blob, 0)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(
+ EncodedLengths _encodedLengths,
+ bytes memory _blob
+ ) internal pure returns (bytes memory skillStats) {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ skillStats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths _encodedLengths,
+ bytes memory _dynamicData
+ ) internal pure returns (SkillsData memory _table) {
+ (_table.skillType) = decodeStatic(_staticData);
+
+ (_table.skillStats) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 skillId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 skillId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(SkillType skillType) internal pure returns (bytes memory) {
+ return abi.encodePacked(skillType);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes memory skillStats) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(bytes(skillStats).length);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes memory skillStats) internal pure returns (bytes memory) {
+ return abi.encodePacked(bytes((skillStats)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ SkillType skillType,
+ bytes memory skillStats
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(skillType);
+
+ EncodedLengths _encodedLengths = encodeLengths(skillStats);
+ bytes memory _dynamicData = encodeDynamic(skillStats);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 skillId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = skillId;
+
+ return _keyTuple;
+ }
+}
diff --git a/packages/contracts/src/codegen/tables/Stats.sol b/packages/contracts/src/codegen/tables/Stats.sol
new file mode 100644
index 000000000..c0c6d1c52
--- /dev/null
+++ b/packages/contracts/src/codegen/tables/Stats.sol
@@ -0,0 +1,701 @@
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.8.24;
+
+/* Autogenerated file. Do not edit manually. */
+
+// Import store internals
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+
+struct StatsData {
+ uint256 strength;
+ uint256 agility;
+ uint256 intelligence;
+ uint256 maxHitPoints;
+ int256 currentDamage;
+ uint256 experience;
+ uint256 level;
+ uint256 armor;
+}
+
+library Stats {
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Stats", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000053746174730000000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0100080020202020202020200000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256, uint256, uint256, uint256, int256, uint256, uint256, uint256)
+ Schema constant _valueSchema = Schema.wrap(0x010008001f1f1f1f3f1f1f1f0000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "entityId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](8);
+ fieldNames[0] = "strength";
+ fieldNames[1] = "agility";
+ fieldNames[2] = "intelligence";
+ fieldNames[3] = "maxHitPoints";
+ fieldNames[4] = "currentDamage";
+ fieldNames[5] = "experience";
+ fieldNames[6] = "level";
+ fieldNames[7] = "armor";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get strength.
+ */
+ function getStrength(bytes32 entityId) internal view returns (uint256 strength) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get strength.
+ */
+ function _getStrength(bytes32 entityId) internal view returns (uint256 strength) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set strength.
+ */
+ function setStrength(bytes32 entityId, uint256 strength) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set strength.
+ */
+ function _setStrength(bytes32 entityId, uint256 strength) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get agility.
+ */
+ function getAgility(bytes32 entityId) internal view returns (uint256 agility) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get agility.
+ */
+ function _getAgility(bytes32 entityId) internal view returns (uint256 agility) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set agility.
+ */
+ function setAgility(bytes32 entityId, uint256 agility) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set agility.
+ */
+ function _setAgility(bytes32 entityId, uint256 agility) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get intelligence.
+ */
+ function getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get intelligence.
+ */
+ function _getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set intelligence.
+ */
+ function setIntelligence(bytes32 entityId, uint256 intelligence) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intelligence)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set intelligence.
+ */
+ function _setIntelligence(bytes32 entityId, uint256 intelligence) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intelligence)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get maxHitPoints.
+ */
+ function getMaxHitPoints(bytes32 entityId) internal view returns (uint256 maxHitPoints) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get maxHitPoints.
+ */
+ function _getMaxHitPoints(bytes32 entityId) internal view returns (uint256 maxHitPoints) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set maxHitPoints.
+ */
+ function setMaxHitPoints(bytes32 entityId, uint256 maxHitPoints) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((maxHitPoints)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set maxHitPoints.
+ */
+ function _setMaxHitPoints(bytes32 entityId, uint256 maxHitPoints) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((maxHitPoints)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get currentDamage.
+ */
+ function getCurrentDamage(bytes32 entityId) internal view returns (int256 currentDamage) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get currentDamage.
+ */
+ function _getCurrentDamage(bytes32 entityId) internal view returns (int256 currentDamage) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set currentDamage.
+ */
+ function setCurrentDamage(bytes32 entityId, int256 currentDamage) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((currentDamage)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set currentDamage.
+ */
+ function _setCurrentDamage(bytes32 entityId, int256 currentDamage) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((currentDamage)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function getExperience(bytes32 entityId) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function _getExperience(bytes32 entityId) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function setExperience(bytes32 entityId, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function _setExperience(bytes32 entityId, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get level.
+ */
+ function getLevel(bytes32 entityId) internal view returns (uint256 level) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get level.
+ */
+ function _getLevel(bytes32 entityId) internal view returns (uint256 level) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set level.
+ */
+ function setLevel(bytes32 entityId, uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((level)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set level.
+ */
+ function _setLevel(bytes32 entityId, uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((level)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get armor.
+ */
+ function getArmor(bytes32 entityId) internal view returns (uint256 armor) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 7, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get armor.
+ */
+ function _getArmor(bytes32 entityId) internal view returns (uint256 armor) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 7, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set armor.
+ */
+ function setArmor(bytes32 entityId, uint256 armor) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 7, abi.encodePacked((armor)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set armor.
+ */
+ function _setArmor(bytes32 entityId, uint256 armor) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 7, abi.encodePacked((armor)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 entityId) internal view returns (StatsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 entityId) internal view returns (StatsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(
+ bytes32 entityId,
+ uint256 strength,
+ uint256 agility,
+ uint256 intelligence,
+ uint256 maxHitPoints,
+ int256 currentDamage,
+ uint256 experience,
+ uint256 level,
+ uint256 armor
+ ) internal {
+ bytes memory _staticData = encodeStatic(
+ strength,
+ agility,
+ intelligence,
+ maxHitPoints,
+ currentDamage,
+ experience,
+ level,
+ armor
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(
+ bytes32 entityId,
+ uint256 strength,
+ uint256 agility,
+ uint256 intelligence,
+ uint256 maxHitPoints,
+ int256 currentDamage,
+ uint256 experience,
+ uint256 level,
+ uint256 armor
+ ) internal {
+ bytes memory _staticData = encodeStatic(
+ strength,
+ agility,
+ intelligence,
+ maxHitPoints,
+ currentDamage,
+ experience,
+ level,
+ armor
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 entityId, StatsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.strength,
+ _table.agility,
+ _table.intelligence,
+ _table.maxHitPoints,
+ _table.currentDamage,
+ _table.experience,
+ _table.level,
+ _table.armor
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 entityId, StatsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.strength,
+ _table.agility,
+ _table.intelligence,
+ _table.maxHitPoints,
+ _table.currentDamage,
+ _table.experience,
+ _table.level,
+ _table.armor
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(
+ bytes memory _blob
+ )
+ internal
+ pure
+ returns (
+ uint256 strength,
+ uint256 agility,
+ uint256 intelligence,
+ uint256 maxHitPoints,
+ int256 currentDamage,
+ uint256 experience,
+ uint256 level,
+ uint256 armor
+ )
+ {
+ strength = (uint256(Bytes.getBytes32(_blob, 0)));
+
+ agility = (uint256(Bytes.getBytes32(_blob, 32)));
+
+ intelligence = (uint256(Bytes.getBytes32(_blob, 64)));
+
+ maxHitPoints = (uint256(Bytes.getBytes32(_blob, 96)));
+
+ currentDamage = (int256(uint256(Bytes.getBytes32(_blob, 128))));
+
+ experience = (uint256(Bytes.getBytes32(_blob, 160)));
+
+ level = (uint256(Bytes.getBytes32(_blob, 192)));
+
+ armor = (uint256(Bytes.getBytes32(_blob, 224)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths,
+ bytes memory
+ ) internal pure returns (StatsData memory _table) {
+ (
+ _table.strength,
+ _table.agility,
+ _table.intelligence,
+ _table.maxHitPoints,
+ _table.currentDamage,
+ _table.experience,
+ _table.level,
+ _table.armor
+ ) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 entityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 entityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(
+ uint256 strength,
+ uint256 agility,
+ uint256 intelligence,
+ uint256 maxHitPoints,
+ int256 currentDamage,
+ uint256 experience,
+ uint256 level,
+ uint256 armor
+ ) internal pure returns (bytes memory) {
+ return abi.encodePacked(strength, agility, intelligence, maxHitPoints, currentDamage, experience, level, armor);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ uint256 strength,
+ uint256 agility,
+ uint256 intelligence,
+ uint256 maxHitPoints,
+ int256 currentDamage,
+ uint256 experience,
+ uint256 level,
+ uint256 armor
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(
+ strength,
+ agility,
+ intelligence,
+ maxHitPoints,
+ currentDamage,
+ experience,
+ level,
+ armor
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 entityId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ return _keyTuple;
+ }
+}
diff --git a/packages/contracts/src/codegen/world/ISkillSystem.sol b/packages/contracts/src/codegen/world/ISkillSystem.sol
new file mode 100644
index 000000000..5925943f6
--- /dev/null
+++ b/packages/contracts/src/codegen/world/ISkillSystem.sol
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.8.24;
+
+/* Autogenerated file. Do not edit manually. */
+
+import { SkillType } from "@codegen/common.sol";
+
+/**
+ * @title ISkillSystem
+ * @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
+ * @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
+ */
+interface ISkillSystem {
+ function UD__createSkill(SkillType skillType, bytes memory skillStats) external returns (bytes32 skillId);
+}
diff --git a/packages/contracts/src/libraries/Math.sol b/packages/contracts/src/libraries/Math.sol
new file mode 100644
index 000000000..8db345a19
--- /dev/null
+++ b/packages/contracts/src/libraries/Math.sol
@@ -0,0 +1,245 @@
+// SPDX-License-Identifier: GPL-3.0
+pragma solidity 0.8.24;
+
+/// @dev Max uint256 value that a RAD can represent without overflowing
+uint256 constant MAX_RAD = type(uint256).max / RAY;
+/// @dev Uint256 representation of 1 RAD
+uint256 constant RAD = 10 ** 45;
+/// @dev Uint256 representation of 1 RAY
+uint256 constant RAY = 10 ** 27;
+/// @dev Uint256 representation of 1 WAD
+uint256 constant WAD = 10 ** 18;
+/// @dev Uint256 representation of 1 year in seconds
+uint256 constant YEAR = 365 days;
+/// @dev Uint256 representation of 1 hour in seconds
+uint256 constant HOUR = 3600;
+
+/**
+ * @title Math
+ * @notice This library contains common math functions
+ */
+library Math {
+ // --- Errors ---
+
+ /// @dev Throws when trying to cast a uint256 to an int256 that overflows
+ error IntOverflow();
+
+ // --- Math ---
+
+ /**
+ * @notice Calculates the sum of an unsigned integer and a signed integer
+ * @param _x Unsigned integer
+ * @param _y Signed integer
+ * @return _add Unsigned sum of `_x` and `_y`
+ */
+ function add(uint256 _x, int256 _y) internal pure returns (uint256 _add) {
+ if (_y >= 0) {
+ return _x + uint256(_y);
+ } else {
+ return _x - uint256(-_y);
+ }
+ }
+
+ /**
+ * @notice Calculates the substraction of an unsigned integer and a signed integer
+ * @param _x Unsigned integer
+ * @param _y Signed integer
+ * @return _sub Unsigned substraction of `_x` and `_y`
+ */
+ function sub(uint256 _x, int256 _y) internal pure returns (uint256 _sub) {
+ if (_y >= 0) {
+ return _x - uint256(_y);
+ } else {
+ return _x + uint256(-_y);
+ }
+ }
+
+ /**
+ * @notice Calculates the substraction of two unsigned integers
+ * @param _x Unsigned integer
+ * @param _y Unsigned integer
+ * @return _sub Signed substraction of `_x` and `_y`
+ */
+ function sub(uint256 _x, uint256 _y) internal pure returns (int256 _sub) {
+ return toInt(_x) - toInt(_y);
+ }
+
+ /**
+ * @notice Calculates the multiplication of an unsigned integer and a signed integer
+ * @param _x Unsigned integer
+ * @param _y Signed integer
+ * @return _mul Signed multiplication of `_x` and `_y`
+ */
+ function mul(uint256 _x, int256 _y) internal pure returns (int256 _mul) {
+ return toInt(_x) * _y;
+ }
+
+ /**
+ * @notice Calculates the multiplication of two unsigned RAY integers
+ * @param _x Unsigned RAY integer
+ * @param _y Unsigned RAY integer
+ * @return _rmul Unsigned multiplication of `_x` and `_y` in RAY precision
+ */
+ function rmul(uint256 _x, uint256 _y) internal pure returns (uint256 _rmul) {
+ return (_x * _y) / RAY;
+ }
+
+ /**
+ * @notice Calculates the multiplication of an unsigned and a signed RAY integers
+ * @param _x Unsigned RAY integer
+ * @param _y Signed RAY integer
+ * @return _rmul Signed multiplication of `_x` and `_y` in RAY precision
+ */
+ function rmul(uint256 _x, int256 _y) internal pure returns (int256 _rmul) {
+ return (toInt(_x) * _y) / int256(RAY);
+ }
+
+ /**
+ * @notice Calculates the multiplication of two unsigned WAD integers
+ * @param _x Unsigned WAD integer
+ * @param _y Unsigned WAD integer
+ * @return _wmul Unsigned multiplication of `_x` and `_y` in WAD precision
+ */
+ function wmul(uint256 _x, uint256 _y) internal pure returns (uint256 _wmul) {
+ return (_x * _y) / WAD;
+ }
+
+ /**
+ * @notice Calculates the multiplication of an unsigned and a signed WAD integers
+ * @param _x Unsigned WAD integer
+ * @param _y Signed WAD integer
+ * @return _wmul Signed multiplication of `_x` and `_y` in WAD precision
+ */
+ function wmul(uint256 _x, int256 _y) internal pure returns (int256 _wmul) {
+ return (toInt(_x) * _y) / int256(WAD);
+ }
+
+ /**
+ * @notice Calculates the multiplication of two signed WAD integers
+ * @param _x Signed WAD integer
+ * @param _y Signed WAD integer
+ * @return _wmul Signed multiplication of `_x` and `_y` in WAD precision
+ */
+ function wmul(int256 _x, int256 _y) internal pure returns (int256 _wmul) {
+ return (_x * _y) / int256(WAD);
+ }
+
+ /**
+ * @notice Calculates the division of two unsigned RAY integers
+ * @param _x Unsigned RAY integer
+ * @param _y Unsigned RAY integer
+ * @return _rdiv Unsigned division of `_x` by `_y` in RAY precision
+ */
+ function rdiv(uint256 _x, uint256 _y) internal pure returns (uint256 _rdiv) {
+ return (_x * RAY) / _y;
+ }
+
+ /**
+ * @notice Calculates the division of two signed RAY integers
+ * @param _x Signed RAY integer
+ * @param _y Signed RAY integer
+ * @return _rdiv Signed division of `_x` by `_y` in RAY precision
+ */
+ function rdiv(int256 _x, int256 _y) internal pure returns (int256 _rdiv) {
+ return (_x * int256(RAY)) / _y;
+ }
+
+ /**
+ * @notice Calculates the division of two unsigned WAD integers
+ * @param _x Unsigned WAD integer
+ * @param _y Unsigned WAD integer
+ * @return _wdiv Unsigned division of `_x` by `_y` in WAD precision
+ */
+ function wdiv(uint256 _x, uint256 _y) internal pure returns (uint256 _wdiv) {
+ return (_x * WAD) / _y;
+ }
+
+ /**
+ * @notice Calculates the power of an unsigned RAY integer to an unsigned integer
+ * @param _x Unsigned RAY integer
+ * @param _n Unsigned integer exponent
+ * @return _rpow Unsigned `_x` to the power of `_n` in RAY precision
+ */
+ function rpow(uint256 _x, uint256 _n) internal pure returns (uint256 _rpow) {
+ assembly {
+ switch _x
+ case 0 {
+ switch _n
+ case 0 { _rpow := RAY }
+ default { _rpow := 0 }
+ }
+ default {
+ switch mod(_n, 2)
+ case 0 { _rpow := RAY }
+ default { _rpow := _x }
+ let half := div(RAY, 2) // for rounding.
+ for { _n := div(_n, 2) } _n { _n := div(_n, 2) } {
+ let _xx := mul(_x, _x)
+ if iszero(eq(div(_xx, _x), _x)) { revert(0, 0) }
+ let _xxRound := add(_xx, half)
+ if lt(_xxRound, _xx) { revert(0, 0) }
+ _x := div(_xxRound, RAY)
+ if mod(_n, 2) {
+ let _zx := mul(_rpow, _x)
+ if and(iszero(iszero(_x)), iszero(eq(div(_zx, _x), _rpow))) { revert(0, 0) }
+ let _zxRound := add(_zx, half)
+ if lt(_zxRound, _zx) { revert(0, 0) }
+ _rpow := div(_zxRound, RAY)
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * @notice Calculates the maximum of two unsigned integers
+ * @param _x Unsigned integer
+ * @param _y Unsigned integer
+ * @return _max Unsigned maximum of `_x` and `_y`
+ */
+ function max(uint256 _x, uint256 _y) internal pure returns (uint256 _max) {
+ _max = (_x >= _y) ? _x : _y;
+ }
+
+ /**
+ * @notice Calculates the minimum of two unsigned integers
+ * @param _x Unsigned integer
+ * @param _y Unsigned integer
+ * @return _min Unsigned minimum of `_x` and `_y`
+ */
+ function min(uint256 _x, uint256 _y) internal pure returns (uint256 _min) {
+ _min = (_x <= _y) ? _x : _y;
+ }
+
+ /**
+ * @notice Casts an unsigned integer to a signed integer
+ * @param _x Unsigned integer
+ * @return _int Signed integer
+ * @dev Throws if `_x` is too large to fit in an int256
+ */
+ function toInt(uint256 _x) internal pure returns (int256 _int) {
+ _int = int256(_x);
+ if (_int < 0) revert IntOverflow();
+ }
+
+ // --- PI Specific Math ---
+
+ /**
+ * @notice Calculates the Riemann sum of two signed integers
+ * @param _x Signed integer
+ * @param _y Signed integer
+ * @return _riemannSum Riemann sum of `_x` and `_y`
+ */
+ function riemannSum(int256 _x, int256 _y) internal pure returns (int256 _riemannSum) {
+ return (_x + _y) / 2;
+ }
+
+ /**
+ * @notice Calculates the absolute value of a signed integer
+ * @param _x Signed integer
+ * @return _z Unsigned absolute value of `_x`
+ */
+ function absolute(int256 _x) internal pure returns (uint256 _z) {
+ _z = (_x < 0) ? uint256(-_x) : uint256(_x);
+ }
+}
diff --git a/packages/contracts/src/systems/SkillSystem.sol b/packages/contracts/src/systems/SkillSystem.sol
new file mode 100644
index 000000000..cb8ee6e12
--- /dev/null
+++ b/packages/contracts/src/systems/SkillSystem.sol
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.8.24;
+
+import {System} from "@latticexyz/world/src/System.sol";
+import {
+ RandomNumbers,
+ MatchEntity,
+ SkillsData,
+ Skills,
+ Stats,
+ CombatEncounter,
+ CombatEncounterData
+} from "@codegen/index.sol";
+import {RngRequestType, MobType, EncounterType, SkillType} from "@codegen/common.sol";
+import {Counters} from "@tables/Counters.sol";
+import {Mobs, MobsData} from "@tables/Mobs.sol";
+import {MonsterStats, NPCStats} from "@interfaces/Structs.sol";
+import {_requireOwner, _requireAccess} from "../utils.sol";
+import {UltimateDominionConfig} from "@codegen/index.sol";
+import {DEFAULT_MAX_TURNS} from "../../constants.sol";
+
+contract SkillSystem is System {
+ function createSkill(SkillType skillType, bytes memory skillStats) public returns (bytes32 skillId) {
+ _requireAccess(address(this), _msgSender());
+ skillId = keccak256(abi.encode(skillStats));
+ require(
+ Skills.getSkillStats(skillId).length == 0 && uint8(Skills.getSkillType(skillId)) == uint8(0),
+ "Skill already exists"
+ );
+ Skills.set(skillId, skillType, skillStats);
+ }
+}
From c533c09c21990b85265de2a3c43304e94fa5e1d0 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Mon, 1 Jul 2024 00:25:28 -0500
Subject: [PATCH 10/14] moved apply equipment bonuses to items system
---
packages/contracts/src/interfaces/Structs.sol | 6 ++--
.../contracts/src/systems/CombatSystem.sol | 31 ++-----------------
.../contracts/src/systems/ItemsSystem.sol | 27 ++++++++++++++++
.../contracts/src/systems/SkillSystem.sol | 4 +--
4 files changed, 35 insertions(+), 33 deletions(-)
diff --git a/packages/contracts/src/interfaces/Structs.sol b/packages/contracts/src/interfaces/Structs.sol
index c53875daa..00e966a44 100644
--- a/packages/contracts/src/interfaces/Structs.sol
+++ b/packages/contracts/src/interfaces/Structs.sol
@@ -44,10 +44,12 @@ struct MonsterStats {
struct PhysicalAttackStats {
// additional damage on top of item damage
uint256 bonusDamage;
- // list of items that can deal this attack
- uint256[] requiredItems;
// base armor penetration
uint256 armorPenetration;
+ //bonus chance to hit
+ uint256 attackModifierBonus;
+ // crit chance
+ uint256 critChanceBonus;
}
struct CombatMove {
diff --git a/packages/contracts/src/systems/CombatSystem.sol b/packages/contracts/src/systems/CombatSystem.sol
index 0d1f6d913..52bdb4dba 100644
--- a/packages/contracts/src/systems/CombatSystem.sol
+++ b/packages/contracts/src/systems/CombatSystem.sol
@@ -117,9 +117,9 @@ contract CombatSystem is System {
uint256 randomNumber
) public returns (uint256 damage) {
// get attacker
- StatsData memory attacker = applyEquipmentBonuses(attackerId);
+ StatsData memory attacker = IWorld(_world()).UD__applyEquipmentBonuses(attackerId);
//get defender
- StatsData memory defender = applyEquipmentBonuses(defenderId);
+ StatsData memory defender = IWorld(_world()).UD__applyEquipmentBonuses(defenderId);
// get weapon stats
WeaponStats memory weapon = IWorld(_world()).UD__getWeaponStats(weaponId);
if (_calculatePhysicalAttackModifier(randomNumber, attacker.agility, defender.agility)) {
@@ -139,32 +139,5 @@ contract CombatSystem is System {
attackLands = (attackRoll + (attackerAgi * TO_HIT_MODIFIER)) >= (defenderAgi * DEFENSE_MODIFIER);
}
- function applyEquipmentBonuses(bytes32 entityId) public view returns (StatsData memory modifiedStats) {
- StatsData memory entityStats = Stats.get(entityId);
- CharacterEquipmentData memory equipmentStats = CharacterEquipment.get(entityId);
- //TODO add over/underflowProtection
- entityStats.strength = uint256(
- int256(entityStats.strength) + equipmentStats.strBonus >= 0
- ? int256(entityStats.strength) + equipmentStats.strBonus
- : int256(1)
- );
- entityStats.agility = uint256(
- int256(entityStats.agility) + equipmentStats.agiBonus >= 0
- ? int256(entityStats.agility) + equipmentStats.agiBonus
- : int256(1)
- );
- entityStats.intelligence = uint256(
- int256(entityStats.intelligence) + equipmentStats.intBonus >= 0
- ? int256(entityStats.intelligence) + equipmentStats.intBonus
- : int256(1)
- );
- entityStats.maxHitPoints = uint256(
- int256(entityStats.maxHitPoints) + equipmentStats.hpBonus >= 0
- ? int256(entityStats.maxHitPoints) + equipmentStats.hpBonus
- : int256(0)
- );
- return entityStats;
- }
-
function _calculateMagicAttack() public {}
}
diff --git a/packages/contracts/src/systems/ItemsSystem.sol b/packages/contracts/src/systems/ItemsSystem.sol
index e7d580ae0..33cf47a01 100644
--- a/packages/contracts/src/systems/ItemsSystem.sol
+++ b/packages/contracts/src/systems/ItemsSystem.sol
@@ -209,6 +209,33 @@ contract ItemsSystem is System {
}
}
+ function applyEquipmentBonuses(bytes32 entityId) public view returns (StatsData memory modifiedStats) {
+ StatsData memory entityStats = Stats.get(entityId);
+ CharacterEquipmentData memory equipmentStats = CharacterEquipment.get(entityId);
+ //TODO add over/underflowProtection
+ entityStats.strength = uint256(
+ int256(entityStats.strength) + equipmentStats.strBonus >= 0
+ ? int256(entityStats.strength) + equipmentStats.strBonus
+ : int256(1)
+ );
+ entityStats.agility = uint256(
+ int256(entityStats.agility) + equipmentStats.agiBonus >= 0
+ ? int256(entityStats.agility) + equipmentStats.agiBonus
+ : int256(1)
+ );
+ entityStats.intelligence = uint256(
+ int256(entityStats.intelligence) + equipmentStats.intBonus >= 0
+ ? int256(entityStats.intelligence) + equipmentStats.intBonus
+ : int256(1)
+ );
+ entityStats.maxHitPoints = uint256(
+ int256(entityStats.maxHitPoints) + equipmentStats.hpBonus >= 0
+ ? int256(entityStats.maxHitPoints) + equipmentStats.hpBonus
+ : int256(0)
+ );
+ return entityStats;
+ }
+
function _moveIdToEndOfArray(uint256 itemId, uint256[] memory array)
internal
returns (uint256[] memory sortedArray)
diff --git a/packages/contracts/src/systems/SkillSystem.sol b/packages/contracts/src/systems/SkillSystem.sol
index cb8ee6e12..8062bd43d 100644
--- a/packages/contracts/src/systems/SkillSystem.sol
+++ b/packages/contracts/src/systems/SkillSystem.sol
@@ -21,8 +21,8 @@ import {DEFAULT_MAX_TURNS} from "../../constants.sol";
contract SkillSystem is System {
function createSkill(SkillType skillType, bytes memory skillStats) public returns (bytes32 skillId) {
- _requireAccess(address(this), _msgSender());
- skillId = keccak256(abi.encode(skillStats));
+ _requireOwner(address(this), _msgSender());
+ skillId = keccak256(skillStats);
require(
Skills.getSkillStats(skillId).length == 0 && uint8(Skills.getSkillType(skillId)) == uint8(0),
"Skill already exists"
From 95b396b0a9647534eefaa03d20be98e970db9c48 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Mon, 1 Jul 2024 00:32:46 -0500
Subject: [PATCH 11/14] some name changes and import changes
---
.../contracts/out/IWorld.sol/IWorld.abi.json | 26 ++++++++++-----
.../out/IWorld.sol/IWorld.abi.json.d.ts | 26 ++++++++++-----
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
.../src/codegen/world/ICombatSystem.sol | 9 ++----
.../src/codegen/world/IItemsSystem.sol | 3 ++
packages/contracts/src/interfaces/Structs.sol | 2 +-
.../contracts/src/systems/CombatSystem.sol | 32 +++++++++----------
.../contracts/src/systems/ItemsSystem.sol | 3 +-
packages/contracts/src/systems/RngSystem.sol | 6 ++--
9 files changed, 65 insertions(+), 44 deletions(-)
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index 94f7f6ff2..cfecd581b 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -21,12 +21,17 @@
"internalType": "uint256"
},
{
- "name": "requiredItems",
- "type": "uint256[]",
- "internalType": "uint256[]"
+ "name": "armorPenetration",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "armorPenetration",
+ "name": "attackModifierBonus",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "critChanceBonus",
"type": "uint256",
"internalType": "uint256"
}
@@ -324,9 +329,14 @@
"internalType": "bytes32"
},
{
- "name": "moves",
+ "name": "playerId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "actions",
"type": "tuple[]",
- "internalType": "struct CombatMove[]",
+ "internalType": "struct Action[]",
"components": [
{
"name": "attackerEntityId",
@@ -400,9 +410,9 @@
"internalType": "bytes32"
},
{
- "name": "moves",
+ "name": "actions",
"type": "tuple[]",
- "internalType": "struct CombatMove[]",
+ "internalType": "struct Action[]",
"components": [
{
"name": "attackerEntityId",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index 6d88bb0b2..7dba2bbe1 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -21,12 +21,17 @@ declare const abi: [
"internalType": "uint256"
},
{
- "name": "requiredItems",
- "type": "uint256[]",
- "internalType": "uint256[]"
+ "name": "armorPenetration",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "armorPenetration",
+ "name": "attackModifierBonus",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "critChanceBonus",
"type": "uint256",
"internalType": "uint256"
}
@@ -324,9 +329,14 @@ declare const abi: [
"internalType": "bytes32"
},
{
- "name": "moves",
+ "name": "playerId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "actions",
"type": "tuple[]",
- "internalType": "struct CombatMove[]",
+ "internalType": "struct Action[]",
"components": [
{
"name": "attackerEntityId",
@@ -400,9 +410,9 @@ declare const abi: [
"internalType": "bytes32"
},
{
- "name": "moves",
+ "name": "actions",
"type": "tuple[]",
- "internalType": "struct CombatMove[]",
+ "internalType": "struct Action[]",
"components": [
{
"name": "attackerEntityId",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index 22390f972..d09a44cc1 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"uint256","internalType":"uint256"},{"name":"requiredItems","type":"uint256[]","internalType":"uint256[]"},{"name":"armorPenetration","type":"uint256","internalType":"uint256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createSkill","inputs":[{"name":"skillType","type":"uint8","internalType":"enum SkillType"},{"name":"skillStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"skillId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"moves","type":"tuple[]","internalType":"struct CombatMove[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"moves","type":"tuple[]","internalType":"struct CombatMove[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"},{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"hitPointModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((uint256,uint256[],uint256),bytes32,bytes32,uint256,uint256)":"de5b2631","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__createSkill(uint8,bytes)":"7fceccd4","UD__endTurn(bytes32,(bytes32,bytes32,bytes32,uint256)[])":"66518b7b","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"bonusDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"requiredItems\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"armorPenetration\",\"type\":\"uint256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum SkillType\",\"name\":\"skillType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"skillStats\",\"type\":\"bytes\"}],\"name\":\"UD__createSkill\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct CombatMove[]\",\"name\":\"moves\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct CombatMove[]\",\"name\":\"moves\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366\",\"dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1\",\"dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d\",\"dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Skills.sol\":{\"keccak256\":\"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f\",\"dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44\",\"dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d\",\"dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0xaccf72665d5f2d2e13a09d446aee9fb024908ece33679ebf9a26c447c5909420\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78553166b36c778b8e7b5976cd8ca64e23090ba2fe9d83aa944396d5d9ebb30a\",\"dweb:/ipfs/QmTLWJYZjtWBD5RBcG7HQfyKaYPFf3ioQHdBTcCEFiHPrX\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa351bc5c3282b7622df82a98d5c36815bba39434d4d2ea903716d8a3f266efaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3168bd804395fb197a590db550f93cc831e35fec7546ba25cb3a013e15b0b3fc\",\"dweb:/ipfs/QmcCitUjsRm3hPYtGbeFBiKbDH4e3ptDRGkoYMMERUU9Q4\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159\",\"dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8\",\"dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u\"]},\"src/codegen/world/ISkillSystem.sol\":{\"keccak256\":\"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b\",\"dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c\",\"dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x5a3fbdd08871f81515875c406afbbdbee23dbddb7cc398b37fe598b85a24518d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67eb6e57a9204e13c116247d613c13e67c0d01471b5c1fac69931745fcd5b9db\",\"dweb:/ipfs/QmbxwYuD3XFwysHYG81VBbCgGP4haqqUZEEoqD6ajTDHLr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"uint256","name":"bonusDamage","type":"uint256"},{"internalType":"uint256[]","name":"requiredItems","type":"uint256[]"},{"internalType":"uint256","name":"armorPenetration","type":"uint256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"uint256","name":"damage","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct StatsData","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"enum SkillType","name":"skillType","type":"uint8"},{"internalType":"bytes","name":"skillStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createSkill","outputs":[{"internalType":"bytes32","name":"skillId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct CombatMove[]","name":"moves","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct CombatMove[]","name":"moves","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"},{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"int256","name":"hitPointModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de","urls":["bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366","dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b","urls":["bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1","dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6","urls":["bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d","dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Skills.sol":{"keccak256":"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7","urls":["bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f","dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4","urls":["bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44","dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300","urls":["bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d","dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0xaccf72665d5f2d2e13a09d446aee9fb024908ece33679ebf9a26c447c5909420","urls":["bzz-raw://78553166b36c778b8e7b5976cd8ca64e23090ba2fe9d83aa944396d5d9ebb30a","dweb:/ipfs/QmTLWJYZjtWBD5RBcG7HQfyKaYPFf3ioQHdBTcCEFiHPrX"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa351bc5c3282b7622df82a98d5c36815bba39434d4d2ea903716d8a3f266efaa","urls":["bzz-raw://3168bd804395fb197a590db550f93cc831e35fec7546ba25cb3a013e15b0b3fc","dweb:/ipfs/QmcCitUjsRm3hPYtGbeFBiKbDH4e3ptDRGkoYMMERUU9Q4"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7","urls":["bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159","dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5","urls":["bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8","dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u"],"license":"MIT"},"src/codegen/world/ISkillSystem.sol":{"keccak256":"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838","urls":["bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b","dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346","urls":["bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c","dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x5a3fbdd08871f81515875c406afbbdbee23dbddb7cc398b37fe598b85a24518d","urls":["bzz-raw://67eb6e57a9204e13c116247d613c13e67c0d01471b5c1fac69931745fcd5b9db","dweb:/ipfs/QmbxwYuD3XFwysHYG81VBbCgGP4haqqUZEEoqD6ajTDHLr"],"license":"MIT"}},"version":1},"id":202}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"uint256","internalType":"uint256"},{"name":"armorPenetration","type":"uint256","internalType":"uint256"},{"name":"attackModifierBonus","type":"uint256","internalType":"uint256"},{"name":"critChanceBonus","type":"uint256","internalType":"uint256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createSkill","inputs":[{"name":"skillType","type":"uint8","internalType":"enum SkillType"},{"name":"skillStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"skillId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"},{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"hitPointModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((uint256,uint256,uint256,uint256),bytes32,bytes32,uint256,uint256)":"ee158012","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__createSkill(uint8,bytes)":"7fceccd4","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"bonusDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armorPenetration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attackModifierBonus\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"critChanceBonus\",\"type\":\"uint256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum SkillType\",\"name\":\"skillType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"skillStats\",\"type\":\"bytes\"}],\"name\":\"UD__createSkill\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366\",\"dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1\",\"dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d\",\"dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Skills.sol\":{\"keccak256\":\"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f\",\"dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44\",\"dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d\",\"dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x4cba1ddd07d55bedf5a491d5182e30a3e9f0d7c0b31d968fa694d91147f2aedf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c99d71e9933bd0d9781a56f24b5058ac6db6b4d4c0500b8308fa8176a62bd3be\",\"dweb:/ipfs/QmVrCuvkeYvhPaN5MxGhA3DeoGBrH3xh92ADdasGEnp7ob\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x97d0e7c7a63560ffe52edeb355603a4b96cc892c36b24bb358e9144548ecfbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9cd60d0f12c80123338c793362a812ea0478f12bfc9f1860b3aeaf1bbef4d437\",\"dweb:/ipfs/QmPsaDf5TjYA7uszz6N4nrCJYfJWkNjNv4dscJWfpzgXsc\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159\",\"dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8\",\"dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u\"]},\"src/codegen/world/ISkillSystem.sol\":{\"keccak256\":\"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b\",\"dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c\",\"dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x0ead9d1b61d15a3933fd4571c90cdea8023c549e068f98b257e5f0c79188d198\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53696f9935cf1fc3d192e5644ad2f011726d810caa9f2c6b43d533c70b66038d\",\"dweb:/ipfs/Qmb3b8yAuop9nYZrVkG5L3z3dd13e3j2jH37YNhrByFYdC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"uint256","name":"bonusDamage","type":"uint256"},{"internalType":"uint256","name":"armorPenetration","type":"uint256"},{"internalType":"uint256","name":"attackModifierBonus","type":"uint256"},{"internalType":"uint256","name":"critChanceBonus","type":"uint256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"uint256","name":"damage","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct StatsData","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"enum SkillType","name":"skillType","type":"uint8"},{"internalType":"bytes","name":"skillStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createSkill","outputs":[{"internalType":"bytes32","name":"skillId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"},{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"int256","name":"hitPointModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de","urls":["bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366","dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b","urls":["bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1","dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6","urls":["bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d","dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Skills.sol":{"keccak256":"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7","urls":["bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f","dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4","urls":["bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44","dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300","urls":["bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d","dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x4cba1ddd07d55bedf5a491d5182e30a3e9f0d7c0b31d968fa694d91147f2aedf","urls":["bzz-raw://c99d71e9933bd0d9781a56f24b5058ac6db6b4d4c0500b8308fa8176a62bd3be","dweb:/ipfs/QmVrCuvkeYvhPaN5MxGhA3DeoGBrH3xh92ADdasGEnp7ob"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x97d0e7c7a63560ffe52edeb355603a4b96cc892c36b24bb358e9144548ecfbfc","urls":["bzz-raw://9cd60d0f12c80123338c793362a812ea0478f12bfc9f1860b3aeaf1bbef4d437","dweb:/ipfs/QmPsaDf5TjYA7uszz6N4nrCJYfJWkNjNv4dscJWfpzgXsc"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7","urls":["bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159","dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5","urls":["bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8","dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u"],"license":"MIT"},"src/codegen/world/ISkillSystem.sol":{"keccak256":"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838","urls":["bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b","dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346","urls":["bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c","dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x0ead9d1b61d15a3933fd4571c90cdea8023c549e068f98b257e5f0c79188d198","urls":["bzz-raw://53696f9935cf1fc3d192e5644ad2f011726d810caa9f2c6b43d533c70b66038d","dweb:/ipfs/Qmb3b8yAuop9nYZrVkG5L3z3dd13e3j2jH37YNhrByFYdC"],"license":"MIT"}},"version":1},"id":202}
\ No newline at end of file
diff --git a/packages/contracts/src/codegen/world/ICombatSystem.sol b/packages/contracts/src/codegen/world/ICombatSystem.sol
index 6a6ba3c14..e43cd647a 100644
--- a/packages/contracts/src/codegen/world/ICombatSystem.sol
+++ b/packages/contracts/src/codegen/world/ICombatSystem.sol
@@ -4,8 +4,7 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
import { EncounterType } from "@codegen/common.sol";
-import { CombatMove, PhysicalAttackStats } from "@interfaces/Structs.sol";
-import { StatsData } from "@codegen/index.sol";
+import { Action, PhysicalAttackStats } from "@interfaces/Structs.sol";
/**
* @title ICombatSystem
@@ -19,9 +18,9 @@ interface ICombatSystem {
bytes32[] memory defenders
) external returns (bytes32);
- function UD__endTurn(bytes32 encounterId, CombatMove[] memory moves) external;
+ function UD__endTurn(bytes32 encounterId, bytes32 playerId, Action[] memory actions) external;
- function UD__executeCombat(uint256 randomNumber, bytes32 encounterId, CombatMove[] memory moves) external;
+ function UD__executeCombat(uint256 randomNumber, bytes32 encounterId, Action[] memory actions) external;
function UD___calculatePhysicalAttack(
PhysicalAttackStats memory attackStats,
@@ -31,7 +30,5 @@ interface ICombatSystem {
uint256 randomNumber
) external returns (uint256 damage);
- function UD__applyEquipmentBonuses(bytes32 entityId) external view returns (StatsData memory modifiedStats);
-
function UD___calculateMagicAttack() external;
}
diff --git a/packages/contracts/src/codegen/world/IItemsSystem.sol b/packages/contracts/src/codegen/world/IItemsSystem.sol
index 0af7e7e86..4d0688915 100644
--- a/packages/contracts/src/codegen/world/IItemsSystem.sol
+++ b/packages/contracts/src/codegen/world/IItemsSystem.sol
@@ -4,6 +4,7 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
import { ItemType, Classes } from "@codegen/common.sol";
+import { StatsData } from "@codegen/index.sol";
import { WeaponStats, ArmorStats } from "@interfaces/Structs.sol";
/**
@@ -34,6 +35,8 @@ interface IItemsSystem {
function UD__unequipItem(bytes32 characterId, uint256 itemId) external returns (bool success);
+ function UD__applyEquipmentBonuses(bytes32 entityId) external view returns (StatsData memory modifiedStats);
+
function UD__getTotalSupply(uint256 tokenId) external view returns (uint256 _supply);
function UD__issueStarterItems(bytes32 characterId) external;
diff --git a/packages/contracts/src/interfaces/Structs.sol b/packages/contracts/src/interfaces/Structs.sol
index 00e966a44..bea41f025 100644
--- a/packages/contracts/src/interfaces/Structs.sol
+++ b/packages/contracts/src/interfaces/Structs.sol
@@ -52,7 +52,7 @@ struct PhysicalAttackStats {
uint256 critChanceBonus;
}
-struct CombatMove {
+struct Action {
bytes32 attackerEntityId;
bytes32 defenderEntityId;
bytes32 skillId;
diff --git a/packages/contracts/src/systems/CombatSystem.sol b/packages/contracts/src/systems/CombatSystem.sol
index 52bdb4dba..6eeef654e 100644
--- a/packages/contracts/src/systems/CombatSystem.sol
+++ b/packages/contracts/src/systems/CombatSystem.sol
@@ -18,7 +18,7 @@ import {RngRequestType, MobType, Alignment, EncounterType} from "@codegen/common
import {Counters} from "@tables/Counters.sol";
import {Mobs, MobsData} from "@tables/Mobs.sol";
import {CombatEncounter, CombatEncounterData} from "@tables/CombatEncounter.sol";
-import {MonsterStats, WeaponStats, NPCStats, CombatMove, PhysicalAttackStats} from "@interfaces/Structs.sol";
+import {MonsterStats, WeaponStats, NPCStats, Action, PhysicalAttackStats} from "@interfaces/Structs.sol";
import {_requireOwner} from "../utils.sol";
import {UltimateDominionConfig} from "@codegen/index.sol";
import {IRngSystem} from "../interfaces/IRngSystem.sol";
@@ -54,43 +54,43 @@ contract CombatSystem is System {
}
/**
* @param encounterId the bytes32 id of the encounter
- * @param moves for a pve encounter player moves are calculated first and the mobs.
+ * @param actions : for a pve encounter player actions are calculated first and the mobs.
*/
- function endTurn(bytes32 encounterId, CombatMove[] memory moves) public {
+ function endTurn(bytes32 encounterId, bytes32 playerId, Action[] memory actions) public {
CombatEncounterData memory encounterData = CombatEncounter.get(encounterId);
require(encounterData.currentTurn < encounterData.maxTurns, "this encounter is over");
-
- _queueActions(encounterId, moves);
+ // TODO ensure that the msg.sender is one of the attackers in this encounter
+ _queueActions(encounterId, actions);
}
- function executeCombat(uint256 randomNumber, bytes32 encounterId, CombatMove[] memory moves) public {
+ function executeCombat(uint256 randomNumber, bytes32 encounterId, Action[] memory actions) public {
// ensure this is an authorised call
// _requireAccess(address(this), _msgSender());
//get encounter data
- for (uint256 i; i < moves.length; i++) {
- CombatMove memory currentMove = moves[i];
+ for (uint256 i; i < actions.length; i++) {
+ Action memory currentAction = actions[i];
- _executeAttack(
+ _executeAction(
encounterId,
- currentMove.skillId,
- currentMove.attackerEntityId,
- currentMove.defenderEntityId,
- currentMove.weaponId,
+ currentAction.skillId,
+ currentAction.attackerEntityId,
+ currentAction.defenderEntityId,
+ currentAction.weaponId,
randomNumber
);
}
}
- function _queueActions(bytes32 encounterId, CombatMove[] memory moves) internal {
+ function _queueActions(bytes32 encounterId, Action[] memory actions) internal {
SystemSwitch.call(
- abi.encodeCall(IRngSystem.getRng, (encounterId, RngRequestType.Combat, abi.encode(encounterId, moves)))
+ abi.encodeCall(IRngSystem.getRng, (encounterId, RngRequestType.Combat, abi.encode(encounterId, actions)))
);
}
- function _executeAttack(
+ function _executeAction(
bytes32 matchEntity,
bytes32 skillId,
bytes32 attackerId,
diff --git a/packages/contracts/src/systems/ItemsSystem.sol b/packages/contracts/src/systems/ItemsSystem.sol
index 33cf47a01..ffe31ef20 100644
--- a/packages/contracts/src/systems/ItemsSystem.sol
+++ b/packages/contracts/src/systems/ItemsSystem.sol
@@ -17,7 +17,8 @@ import {
CharactersData,
Stats,
StatsData,
- CharacterEquipment
+ CharacterEquipment,
+ CharacterEquipmentData
} from "@codegen/index.sol";
import {ItemType, Classes} from "@codegen/common.sol";
import {AccessControlLib} from "@latticexyz/world-modules/src/utils/AccessControlLib.sol";
diff --git a/packages/contracts/src/systems/RngSystem.sol b/packages/contracts/src/systems/RngSystem.sol
index dae18ba11..36d59dae1 100644
--- a/packages/contracts/src/systems/RngSystem.sol
+++ b/packages/contracts/src/systems/RngSystem.sol
@@ -7,7 +7,7 @@ import {Characters, Stats} from "@codegen/index.sol";
import {Classes, RngRequestType} from "@codegen/common.sol";
import {UltimateDominionConfig} from "../codegen/index.sol";
import {LibChunks} from "../libraries/LibChunks.sol";
-import {CombatMove} from "@interfaces/Structs.sol";
+import {Action} from "@interfaces/Structs.sol";
import {IEntropyConsumer} from "@pythnetwork/IEntropyConsumer.sol";
import {IWorld} from "@world/IWorld.sol";
import {IEntropy} from "@pythnetwork/IEntropy.sol";
@@ -83,12 +83,12 @@ contract RngSystem is System, IEntropyConsumer {
_storeStats(randomNumber, characterId);
}
if (uint8(requestType) == uint8(1)) {
- (bytes32 encounterId, CombatMove[] memory moves) = abi.decode(_data, (bytes32, CombatMove[]));
+ (bytes32 encounterId, Action[] memory moves) = abi.decode(_data, (bytes32, Action[]));
_executeCombat(randomNumber, encounterId, moves);
}
}
- function _executeCombat(uint256 randomNumber, bytes32 encounterId, CombatMove[] memory moves) internal {
+ function _executeCombat(uint256 randomNumber, bytes32 encounterId, Action[] memory moves) internal {
IWorld(_world()).UD__executeCombat(randomNumber, encounterId, moves);
}
From 1c854f3bdf05832247a2bcda9af5d483cdb09e0d Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Mon, 1 Jul 2024 19:18:27 -0500
Subject: [PATCH 12/14] weapons and armor will now remove stat bonus when
unequipped
---
.../contracts/out/IWorld.sol/IWorld.abi.json | 20 ++++++
.../out/IWorld.sol/IWorld.abi.json.d.ts | 20 ++++++
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
packages/contracts/script/PostDeploy.s.sol | 12 +++-
packages/contracts/src/interfaces/Structs.sol | 4 ++
.../contracts/src/systems/ItemsSystem.sol | 69 +++++++++++++------
packages/contracts/test/ItemsSystem.t.sol | 36 ++++++++--
packages/contracts/worlds.json | 2 +-
8 files changed, 134 insertions(+), 31 deletions(-)
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index cfecd581b..e213618f5 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -1185,6 +1185,26 @@
"name": "minLevel",
"type": "uint256",
"internalType": "uint256"
+ },
+ {
+ "name": "strModifier",
+ "type": "int256",
+ "internalType": "int256"
+ },
+ {
+ "name": "agiModifier",
+ "type": "int256",
+ "internalType": "int256"
+ },
+ {
+ "name": "intModifier",
+ "type": "int256",
+ "internalType": "int256"
+ },
+ {
+ "name": "hitPointModifier",
+ "type": "int256",
+ "internalType": "int256"
}
]
}
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index 7dba2bbe1..2c34ad991 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -1185,6 +1185,26 @@ declare const abi: [
"name": "minLevel",
"type": "uint256",
"internalType": "uint256"
+ },
+ {
+ "name": "strModifier",
+ "type": "int256",
+ "internalType": "int256"
+ },
+ {
+ "name": "agiModifier",
+ "type": "int256",
+ "internalType": "int256"
+ },
+ {
+ "name": "intModifier",
+ "type": "int256",
+ "internalType": "int256"
+ },
+ {
+ "name": "hitPointModifier",
+ "type": "int256",
+ "internalType": "int256"
}
]
}
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index d09a44cc1..ad0d18838 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"uint256","internalType":"uint256"},{"name":"armorPenetration","type":"uint256","internalType":"uint256"},{"name":"attackModifierBonus","type":"uint256","internalType":"uint256"},{"name":"critChanceBonus","type":"uint256","internalType":"uint256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createSkill","inputs":[{"name":"skillType","type":"uint8","internalType":"enum SkillType"},{"name":"skillStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"skillId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"},{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"hitPointModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((uint256,uint256,uint256,uint256),bytes32,bytes32,uint256,uint256)":"ee158012","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__createSkill(uint8,bytes)":"7fceccd4","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"bonusDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armorPenetration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attackModifierBonus\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"critChanceBonus\",\"type\":\"uint256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum SkillType\",\"name\":\"skillType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"skillStats\",\"type\":\"bytes\"}],\"name\":\"UD__createSkill\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366\",\"dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1\",\"dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d\",\"dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Skills.sol\":{\"keccak256\":\"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f\",\"dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44\",\"dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d\",\"dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x4cba1ddd07d55bedf5a491d5182e30a3e9f0d7c0b31d968fa694d91147f2aedf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c99d71e9933bd0d9781a56f24b5058ac6db6b4d4c0500b8308fa8176a62bd3be\",\"dweb:/ipfs/QmVrCuvkeYvhPaN5MxGhA3DeoGBrH3xh92ADdasGEnp7ob\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x97d0e7c7a63560ffe52edeb355603a4b96cc892c36b24bb358e9144548ecfbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9cd60d0f12c80123338c793362a812ea0478f12bfc9f1860b3aeaf1bbef4d437\",\"dweb:/ipfs/QmPsaDf5TjYA7uszz6N4nrCJYfJWkNjNv4dscJWfpzgXsc\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159\",\"dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8\",\"dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u\"]},\"src/codegen/world/ISkillSystem.sol\":{\"keccak256\":\"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b\",\"dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c\",\"dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x0ead9d1b61d15a3933fd4571c90cdea8023c549e068f98b257e5f0c79188d198\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53696f9935cf1fc3d192e5644ad2f011726d810caa9f2c6b43d533c70b66038d\",\"dweb:/ipfs/Qmb3b8yAuop9nYZrVkG5L3z3dd13e3j2jH37YNhrByFYdC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"uint256","name":"bonusDamage","type":"uint256"},{"internalType":"uint256","name":"armorPenetration","type":"uint256"},{"internalType":"uint256","name":"attackModifierBonus","type":"uint256"},{"internalType":"uint256","name":"critChanceBonus","type":"uint256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"uint256","name":"damage","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct StatsData","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"enum SkillType","name":"skillType","type":"uint8"},{"internalType":"bytes","name":"skillStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createSkill","outputs":[{"internalType":"bytes32","name":"skillId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"},{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"int256","name":"hitPointModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de","urls":["bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366","dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b","urls":["bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1","dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6","urls":["bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d","dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Skills.sol":{"keccak256":"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7","urls":["bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f","dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4","urls":["bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44","dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300","urls":["bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d","dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x4cba1ddd07d55bedf5a491d5182e30a3e9f0d7c0b31d968fa694d91147f2aedf","urls":["bzz-raw://c99d71e9933bd0d9781a56f24b5058ac6db6b4d4c0500b8308fa8176a62bd3be","dweb:/ipfs/QmVrCuvkeYvhPaN5MxGhA3DeoGBrH3xh92ADdasGEnp7ob"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x97d0e7c7a63560ffe52edeb355603a4b96cc892c36b24bb358e9144548ecfbfc","urls":["bzz-raw://9cd60d0f12c80123338c793362a812ea0478f12bfc9f1860b3aeaf1bbef4d437","dweb:/ipfs/QmPsaDf5TjYA7uszz6N4nrCJYfJWkNjNv4dscJWfpzgXsc"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7","urls":["bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159","dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5","urls":["bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8","dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u"],"license":"MIT"},"src/codegen/world/ISkillSystem.sol":{"keccak256":"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838","urls":["bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b","dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346","urls":["bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c","dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x0ead9d1b61d15a3933fd4571c90cdea8023c549e068f98b257e5f0c79188d198","urls":["bzz-raw://53696f9935cf1fc3d192e5644ad2f011726d810caa9f2c6b43d533c70b66038d","dweb:/ipfs/Qmb3b8yAuop9nYZrVkG5L3z3dd13e3j2jH37YNhrByFYdC"],"license":"MIT"}},"version":1},"id":202}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"uint256","internalType":"uint256"},{"name":"armorPenetration","type":"uint256","internalType":"uint256"},{"name":"attackModifierBonus","type":"uint256","internalType":"uint256"},{"name":"critChanceBonus","type":"uint256","internalType":"uint256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createSkill","inputs":[{"name":"skillType","type":"uint8","internalType":"enum SkillType"},{"name":"skillStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"skillId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"},{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"hitPointModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"},{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"hitPointModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((uint256,uint256,uint256,uint256),bytes32,bytes32,uint256,uint256)":"ee158012","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__createSkill(uint8,bytes)":"7fceccd4","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"bonusDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armorPenetration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attackModifierBonus\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"critChanceBonus\",\"type\":\"uint256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum SkillType\",\"name\":\"skillType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"skillStats\",\"type\":\"bytes\"}],\"name\":\"UD__createSkill\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366\",\"dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1\",\"dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d\",\"dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Skills.sol\":{\"keccak256\":\"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f\",\"dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44\",\"dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d\",\"dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x4cba1ddd07d55bedf5a491d5182e30a3e9f0d7c0b31d968fa694d91147f2aedf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c99d71e9933bd0d9781a56f24b5058ac6db6b4d4c0500b8308fa8176a62bd3be\",\"dweb:/ipfs/QmVrCuvkeYvhPaN5MxGhA3DeoGBrH3xh92ADdasGEnp7ob\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x97d0e7c7a63560ffe52edeb355603a4b96cc892c36b24bb358e9144548ecfbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9cd60d0f12c80123338c793362a812ea0478f12bfc9f1860b3aeaf1bbef4d437\",\"dweb:/ipfs/QmPsaDf5TjYA7uszz6N4nrCJYfJWkNjNv4dscJWfpzgXsc\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159\",\"dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8\",\"dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u\"]},\"src/codegen/world/ISkillSystem.sol\":{\"keccak256\":\"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b\",\"dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c\",\"dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0xbed44c733d71e2a30a8a83a31b30f283c18a06fa7d94f185598b7ee6c25920a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2eaef8c278c04d05d8b9ad1ef6c6c5a63585a72c4675370c3e78b6b54a6f14a\",\"dweb:/ipfs/QmZBQqb2saVVSWcxvStXaVocpQfSa4uqRdWPgwMWd78JHR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"uint256","name":"bonusDamage","type":"uint256"},{"internalType":"uint256","name":"armorPenetration","type":"uint256"},{"internalType":"uint256","name":"attackModifierBonus","type":"uint256"},{"internalType":"uint256","name":"critChanceBonus","type":"uint256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"uint256","name":"damage","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct StatsData","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"enum SkillType","name":"skillType","type":"uint8"},{"internalType":"bytes","name":"skillStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createSkill","outputs":[{"internalType":"bytes32","name":"skillId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"},{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"int256","name":"hitPointModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"},{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"int256","name":"hitPointModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de","urls":["bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366","dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b","urls":["bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1","dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6","urls":["bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d","dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Skills.sol":{"keccak256":"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7","urls":["bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f","dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4","urls":["bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44","dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300","urls":["bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d","dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x4cba1ddd07d55bedf5a491d5182e30a3e9f0d7c0b31d968fa694d91147f2aedf","urls":["bzz-raw://c99d71e9933bd0d9781a56f24b5058ac6db6b4d4c0500b8308fa8176a62bd3be","dweb:/ipfs/QmVrCuvkeYvhPaN5MxGhA3DeoGBrH3xh92ADdasGEnp7ob"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x97d0e7c7a63560ffe52edeb355603a4b96cc892c36b24bb358e9144548ecfbfc","urls":["bzz-raw://9cd60d0f12c80123338c793362a812ea0478f12bfc9f1860b3aeaf1bbef4d437","dweb:/ipfs/QmPsaDf5TjYA7uszz6N4nrCJYfJWkNjNv4dscJWfpzgXsc"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7","urls":["bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159","dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5","urls":["bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8","dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u"],"license":"MIT"},"src/codegen/world/ISkillSystem.sol":{"keccak256":"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838","urls":["bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b","dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346","urls":["bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c","dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0xbed44c733d71e2a30a8a83a31b30f283c18a06fa7d94f185598b7ee6c25920a8","urls":["bzz-raw://f2eaef8c278c04d05d8b9ad1ef6c6c5a63585a72c4675370c3e78b6b54a6f14a","dweb:/ipfs/QmZBQqb2saVVSWcxvStXaVocpQfSa4uqRdWPgwMWd78JHR"],"license":"MIT"}},"version":1},"id":202}
\ No newline at end of file
diff --git a/packages/contracts/script/PostDeploy.s.sol b/packages/contracts/script/PostDeploy.s.sol
index 9e8b20947..137c24b0b 100644
--- a/packages/contracts/script/PostDeploy.s.sol
+++ b/packages/contracts/script/PostDeploy.s.sol
@@ -200,8 +200,16 @@ contract PostDeploy is Script {
function _createStarterItems() internal {
uint8[] memory restrictions = new uint8[](0);
- WeaponStats memory weaponStats =
- WeaponStats({minDamage: 1, maxDamage: 4, classRestrictions: restrictions, minLevel: 0});
+ WeaponStats memory weaponStats = WeaponStats({
+ minDamage: 1,
+ maxDamage: 4,
+ classRestrictions: restrictions,
+ minLevel: 0,
+ strModifier: 0,
+ agiModifier: 0,
+ intModifier: 0,
+ hitPointModifier: 0
+ });
uint256 starterItemId =
world.UD__createItem(ItemType.Weapon, 10 ether, abi.encode(weaponStats), "starter-weapon-uri/");
diff --git a/packages/contracts/src/interfaces/Structs.sol b/packages/contracts/src/interfaces/Structs.sol
index bea41f025..16d4f0215 100644
--- a/packages/contracts/src/interfaces/Structs.sol
+++ b/packages/contracts/src/interfaces/Structs.sol
@@ -8,6 +8,10 @@ struct WeaponStats {
uint256 maxDamage;
uint8[] classRestrictions;
uint256 minLevel;
+ int256 strModifier;
+ int256 agiModifier;
+ int256 intModifier;
+ int256 hitPointModifier;
}
struct ArmorStats {
diff --git a/packages/contracts/src/systems/ItemsSystem.sol b/packages/contracts/src/systems/ItemsSystem.sol
index ffe31ef20..27ab9e556 100644
--- a/packages/contracts/src/systems/ItemsSystem.sol
+++ b/packages/contracts/src/systems/ItemsSystem.sol
@@ -96,6 +96,7 @@ contract ItemsSystem is System {
require(checkRequirements(characterId, itemId), "ITEMS: Requirements not met");
_equipItem(characterId, itemId, itemData.itemType);
}
+ _setEquipmentBonuses(characterId);
}
function isEquipped(bytes32 characterId, uint256 itemId) public view returns (bool _isEquipped) {
@@ -138,7 +139,25 @@ contract ItemsSystem is System {
}
if (!isLevel || !isClass) canUse = false;
}
- // if(uint8(itemData.ItemType) == 1){check Armor requirements}
+ if (uint8(itemData.ItemType) == 1) {
+ ArmorStats memory armorStats = abi.decode(itemData.stats, (ArmorStats));
+ bool isLevel = IWorld(_world()).UD__getCurrentLevel(character.experience) >= armorStats.minLevel;
+ bool isClass;
+ if (armorStats.classRestrictions.length > 0) {
+ for (uint256 i; i < armorStats.classRestrictions.length;) {
+ if (uint8(characterData.class) == uint8(armorStats.classRestrictions[i])) {
+ isClass = true;
+ break;
+ }
+ {
+ i++;
+ }
+ }
+ } else {
+ isClass = true;
+ }
+ if (!isLevel || !isClass) canUse = false;
+ }
return canUse;
}
@@ -150,26 +169,6 @@ contract ItemsSystem is System {
if (uint8(itemType) == 1) {
require(CharacterEquipment.lengthEquippedArmor(characterId) < 3, "ITEMS: Too many weapons equipped");
CharacterEquipment.pushEquippedArmor(characterId, itemId);
- uint256[] memory equippedArmor = CharacterEquipment.getEquippedArmor(characterId);
- uint256 totalArmor;
- int256 totalStrModifiers;
- int256 totalAgiModifiers;
- int256 totalIntModifiers;
- int256 totalHPModifiers;
- ArmorStats memory armorStats;
- for (uint256 i; i < equippedArmor.length; i++) {
- armorStats = getArmorStats(equippedArmor[i]);
- totalArmor += armorStats.armorModifier;
- totalStrModifiers += armorStats.strModifier;
- totalAgiModifiers += armorStats.agiModifier;
- totalIntModifiers += armorStats.intModifier;
- totalHPModifiers += armorStats.hitPointModifier;
- }
- CharacterEquipment.setStrBonus(characterId, totalStrModifiers);
- CharacterEquipment.setAgiBonus(characterId, totalAgiModifiers);
- CharacterEquipment.setIntBonus(characterId, totalIntModifiers);
- CharacterEquipment.setHpBonus(characterId, totalHPModifiers);
- Stats.setArmor(characterId, totalArmor);
}
if (uint8(itemType) == 2) {
@@ -178,6 +177,32 @@ contract ItemsSystem is System {
}
}
+ function _setEquipmentBonuses(bytes32 characterId) internal {
+ uint256[] memory equippedArmor = CharacterEquipment.getEquippedArmor(characterId);
+ uint256[] memory equippedWeapons = CharacterEquipment.getEquippedWeapons(characterId);
+ uint256 totalArmor;
+ int256 totalStrModifiers;
+ int256 totalAgiModifiers;
+ int256 totalIntModifiers;
+ int256 totalHPModifiers;
+ ArmorStats memory armorStats;
+ WeaponStats memory weaponStats;
+ for (uint256 i; i < equippedArmor.length; i++) {
+ armorStats = getArmorStats(equippedArmor[i]);
+ weaponStats = getWeaponStats(equippedWeapons[i]);
+ totalArmor += armorStats.armorModifier;
+ totalStrModifiers += (armorStats.strModifier + weaponStats.strModifier);
+ totalAgiModifiers += (armorStats.agiModifier + weaponStats.agiModifier);
+ totalIntModifiers += (armorStats.intModifier + weaponStats.intModifier);
+ totalHPModifiers += (armorStats.hitPointModifier + weaponStats.hitPointModifier);
+ }
+ CharacterEquipment.setStrBonus(characterId, totalStrModifiers);
+ CharacterEquipment.setAgiBonus(characterId, totalAgiModifiers);
+ CharacterEquipment.setIntBonus(characterId, totalIntModifiers);
+ CharacterEquipment.setHpBonus(characterId, totalHPModifiers);
+ Stats.setArmor(characterId, totalArmor);
+ }
+
function unequipItem(bytes32 characterId, uint256 itemId) public returns (bool success) {
address characterOwner = IWorld(_world()).UD__getOwner(characterId);
require(characterOwner == _msgSender(), "ITEMS: Not Character Owner");
@@ -188,6 +213,7 @@ contract ItemsSystem is System {
if (sortedArray[sortedArray.length - 1] == itemId) {
CharacterEquipment.setEquippedWeapons(characterId, sortedArray);
CharacterEquipment.popEquippedWeapons(characterId);
+
success = true;
}
}
@@ -208,6 +234,7 @@ contract ItemsSystem is System {
// success = true;
// }
}
+ _setEquipmentBonuses(characterId);
}
function applyEquipmentBonuses(bytes32 entityId) public view returns (StatsData memory modifiedStats) {
diff --git a/packages/contracts/test/ItemsSystem.t.sol b/packages/contracts/test/ItemsSystem.t.sol
index dc4c7cfa1..ae0b90b1d 100644
--- a/packages/contracts/test/ItemsSystem.t.sol
+++ b/packages/contracts/test/ItemsSystem.t.sol
@@ -31,8 +31,16 @@ contract Test_ItemsSystem is SetUp, GasReporter {
startGasReport("creates an item");
uint8[] memory restrictions = new uint8[](0);
- WeaponStats memory weaponStats =
- WeaponStats({minDamage: 1, maxDamage: 4, classRestrictions: restrictions, minLevel: 0});
+ WeaponStats memory weaponStats = WeaponStats({
+ minDamage: 1,
+ maxDamage: 4,
+ classRestrictions: restrictions,
+ minLevel: 0,
+ strModifier: 0,
+ agiModifier: 0,
+ intModifier: 0,
+ hitPointModifier: 0
+ });
vm.startPrank(deployer);
uint256 firstItemId =
world.UD__createItem(ItemType.Weapon, 10 ether, abi.encode(weaponStats), "test_Weapon_uri1/");
@@ -52,8 +60,16 @@ contract Test_ItemsSystem is SetUp, GasReporter {
function test_CreateItem_Revert_NotNamespaceOwner() public {
uint8[] memory restrictions = new uint8[](0);
- WeaponStats memory weaponStats =
- WeaponStats({minDamage: 1, maxDamage: 4, classRestrictions: restrictions, minLevel: 0});
+ WeaponStats memory weaponStats = WeaponStats({
+ minDamage: 1,
+ maxDamage: 4,
+ classRestrictions: restrictions,
+ minLevel: 0,
+ strModifier: 0,
+ agiModifier: 0,
+ intModifier: 0,
+ hitPointModifier: 0
+ });
vm.startPrank(alice);
vm.expectRevert();
world.UD__createItem(ItemType.Weapon, 100 ether, abi.encode(weaponStats), "test_Weapon_uri1/");
@@ -61,8 +77,16 @@ contract Test_ItemsSystem is SetUp, GasReporter {
function test_GetTotalSupply() public {
uint8[] memory restrictions = new uint8[](0);
- WeaponStats memory weaponStats =
- WeaponStats({minDamage: 1, maxDamage: 4, classRestrictions: restrictions, minLevel: 0});
+ WeaponStats memory weaponStats = WeaponStats({
+ minDamage: 1,
+ maxDamage: 4,
+ classRestrictions: restrictions,
+ minLevel: 0,
+ strModifier: 0,
+ agiModifier: 0,
+ intModifier: 0,
+ hitPointModifier: 0
+ });
vm.startPrank(deployer);
uint256 id = world.UD__createItem(ItemType.Weapon, 100 ether, abi.encode(weaponStats), "test_Weapon_uri/");
assertEq(world.UD__getTotalSupply(id), 100 ether);
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index ec0630f4a..892d6c8da 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0x915c217c6538343780511222646b7d3996b33d5e"
+ "address": "0xbd0f77a6aacfd208fbdd66c037b073512b21e187"
},
"84532": {
"address": "0xeafba96222596ac92cd335b0adfc1c2f50357571",
From 77821d79b9245e6cfe99a7e054d8ce5bf1b8da95 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Tue, 2 Jul 2024 00:39:36 -0500
Subject: [PATCH 13/14] moved item equipping out of items system into its own
system
---
.../contracts/out/IWorld.sol/IWorld.abi.json | 47 ++++
.../out/IWorld.sol/IWorld.abi.json.d.ts | 47 ++++
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
.../src/codegen/world/IEquipmentSystem.sol | 28 ++
.../src/codegen/world/IItemsSystem.sol | 20 +-
.../contracts/src/codegen/world/IWorld.sol | 2 +
.../contracts/src/systems/EquipmentSystem.sol | 261 ++++++++++++++++++
.../contracts/src/systems/ItemsSystem.sol | 230 +--------------
packages/contracts/test/CharacterSystem.t.sol | 11 +-
packages/contracts/test/ItemsSystem.t.sol | 21 +-
packages/contracts/test/SetUp.sol | 22 +-
packages/contracts/worlds.json | 2 +-
12 files changed, 448 insertions(+), 245 deletions(-)
create mode 100644 packages/contracts/src/codegen/world/IEquipmentSystem.sol
create mode 100644 packages/contracts/src/systems/EquipmentSystem.sol
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index e213618f5..725abe5bc 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -319,6 +319,29 @@
],
"stateMutability": "nonpayable"
},
+ {
+ "type": "function",
+ "name": "UD__dropItems",
+ "inputs": [
+ {
+ "name": "itemIds",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
+ {
+ "name": "amounts",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
+ {
+ "name": "characterIds",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__endTurn",
@@ -1235,6 +1258,30 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__isItemOwner",
+ "inputs": [
+ {
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "account",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__issueStarterItems",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index 2c34ad991..ca520412d 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -319,6 +319,29 @@ declare const abi: [
],
"stateMutability": "nonpayable"
},
+ {
+ "type": "function",
+ "name": "UD__dropItems",
+ "inputs": [
+ {
+ "name": "itemIds",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
+ {
+ "name": "amounts",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
+ {
+ "name": "characterIds",
+ "type": "bytes32[]",
+ "internalType": "bytes32[]"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__endTurn",
@@ -1235,6 +1258,30 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__isItemOwner",
+ "inputs": [
+ {
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "account",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__issueStarterItems",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index ad0d18838..96696eebf 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"uint256","internalType":"uint256"},{"name":"armorPenetration","type":"uint256","internalType":"uint256"},{"name":"attackModifierBonus","type":"uint256","internalType":"uint256"},{"name":"critChanceBonus","type":"uint256","internalType":"uint256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createSkill","inputs":[{"name":"skillType","type":"uint8","internalType":"enum SkillType"},{"name":"skillStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"skillId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"},{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"hitPointModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"},{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"hitPointModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((uint256,uint256,uint256,uint256),bytes32,bytes32,uint256,uint256)":"ee158012","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__createSkill(uint8,bytes)":"7fceccd4","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"bonusDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armorPenetration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attackModifierBonus\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"critChanceBonus\",\"type\":\"uint256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum SkillType\",\"name\":\"skillType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"skillStats\",\"type\":\"bytes\"}],\"name\":\"UD__createSkill\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366\",\"dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1\",\"dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d\",\"dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Skills.sol\":{\"keccak256\":\"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f\",\"dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44\",\"dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d\",\"dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x4cba1ddd07d55bedf5a491d5182e30a3e9f0d7c0b31d968fa694d91147f2aedf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c99d71e9933bd0d9781a56f24b5058ac6db6b4d4c0500b8308fa8176a62bd3be\",\"dweb:/ipfs/QmVrCuvkeYvhPaN5MxGhA3DeoGBrH3xh92ADdasGEnp7ob\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x97d0e7c7a63560ffe52edeb355603a4b96cc892c36b24bb358e9144548ecfbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9cd60d0f12c80123338c793362a812ea0478f12bfc9f1860b3aeaf1bbef4d437\",\"dweb:/ipfs/QmPsaDf5TjYA7uszz6N4nrCJYfJWkNjNv4dscJWfpzgXsc\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159\",\"dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8\",\"dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u\"]},\"src/codegen/world/ISkillSystem.sol\":{\"keccak256\":\"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b\",\"dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c\",\"dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0xbed44c733d71e2a30a8a83a31b30f283c18a06fa7d94f185598b7ee6c25920a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2eaef8c278c04d05d8b9ad1ef6c6c5a63585a72c4675370c3e78b6b54a6f14a\",\"dweb:/ipfs/QmZBQqb2saVVSWcxvStXaVocpQfSa4uqRdWPgwMWd78JHR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"uint256","name":"bonusDamage","type":"uint256"},{"internalType":"uint256","name":"armorPenetration","type":"uint256"},{"internalType":"uint256","name":"attackModifierBonus","type":"uint256"},{"internalType":"uint256","name":"critChanceBonus","type":"uint256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"uint256","name":"damage","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct StatsData","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"enum SkillType","name":"skillType","type":"uint8"},{"internalType":"bytes","name":"skillStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createSkill","outputs":[{"internalType":"bytes32","name":"skillId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"},{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"int256","name":"hitPointModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"},{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"int256","name":"hitPointModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de","urls":["bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366","dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b","urls":["bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1","dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6","urls":["bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d","dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Skills.sol":{"keccak256":"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7","urls":["bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f","dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4","urls":["bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44","dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300","urls":["bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d","dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x4cba1ddd07d55bedf5a491d5182e30a3e9f0d7c0b31d968fa694d91147f2aedf","urls":["bzz-raw://c99d71e9933bd0d9781a56f24b5058ac6db6b4d4c0500b8308fa8176a62bd3be","dweb:/ipfs/QmVrCuvkeYvhPaN5MxGhA3DeoGBrH3xh92ADdasGEnp7ob"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x97d0e7c7a63560ffe52edeb355603a4b96cc892c36b24bb358e9144548ecfbfc","urls":["bzz-raw://9cd60d0f12c80123338c793362a812ea0478f12bfc9f1860b3aeaf1bbef4d437","dweb:/ipfs/QmPsaDf5TjYA7uszz6N4nrCJYfJWkNjNv4dscJWfpzgXsc"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7","urls":["bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159","dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5","urls":["bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8","dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u"],"license":"MIT"},"src/codegen/world/ISkillSystem.sol":{"keccak256":"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838","urls":["bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b","dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x3908612241fe5abb0cfb511a3fbfa910ec6b07af51781475f6aa62927de5c346","urls":["bzz-raw://649ae01ab91e997fc30afbcc1b40efb0d000f84a86afb9ee54db49e5ec100c0c","dweb:/ipfs/QmPK2DndzawPfEYeedzjki2GTCtHML2D8X4vjGzYa7Bzdv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0xbed44c733d71e2a30a8a83a31b30f283c18a06fa7d94f185598b7ee6c25920a8","urls":["bzz-raw://f2eaef8c278c04d05d8b9ad1ef6c6c5a63585a72c4675370c3e78b6b54a6f14a","dweb:/ipfs/QmZBQqb2saVVSWcxvStXaVocpQfSa4uqRdWPgwMWd78JHR"],"license":"MIT"}},"version":1},"id":202}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"uint256","internalType":"uint256"},{"name":"armorPenetration","type":"uint256","internalType":"uint256"},{"name":"attackModifierBonus","type":"uint256","internalType":"uint256"},{"name":"critChanceBonus","type":"uint256","internalType":"uint256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createSkill","inputs":[{"name":"skillType","type":"uint8","internalType":"enum SkillType"},{"name":"skillStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"skillId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"skillId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"},{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"hitPointModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"maxHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentDamage","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"},{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"hitPointModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((uint256,uint256,uint256,uint256),bytes32,bytes32,uint256,uint256)":"ee158012","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__createSkill(uint8,bytes)":"7fceccd4","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"bonusDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armorPenetration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"attackModifierBonus\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"critChanceBonus\",\"type\":\"uint256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"damage\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum SkillType\",\"name\":\"skillType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"skillStats\",\"type\":\"bytes\"}],\"name\":\"UD__createSkill\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"skillId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentDamage\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366\",\"dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1\",\"dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d\",\"dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d\",\"dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Skills.sol\":{\"keccak256\":\"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f\",\"dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44\",\"dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d\",\"dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x4cba1ddd07d55bedf5a491d5182e30a3e9f0d7c0b31d968fa694d91147f2aedf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c99d71e9933bd0d9781a56f24b5058ac6db6b4d4c0500b8308fa8176a62bd3be\",\"dweb:/ipfs/QmVrCuvkeYvhPaN5MxGhA3DeoGBrH3xh92ADdasGEnp7ob\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x962c2120678b81cd12fe983ef770b53b10fc25c69304b0f7e91c1781c44236b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ace99bfb2c59d2bb675f6fc3713707fa4c29514d56f7819d94cede7823136a5d\",\"dweb:/ipfs/QmdEUss2JdimmVxAwmXyPWzyEUBU7VLofs9TvM9FnUU8V3\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x6c3863e390520c04caaa6f961a72e8f670fffdf5b9a8ebedc7f4e2e956f3e253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://798dcb4e81253b519bd6b37c7d45fbc23d38b6b744b148f7b2e4f7315d813f58\",\"dweb:/ipfs/QmekLtJeUYkpxoafdM6Zto4A7YQmiFv31AvqdrQ2fr5HbF\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159\",\"dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8\",\"dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u\"]},\"src/codegen/world/ISkillSystem.sol\":{\"keccak256\":\"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b\",\"dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xdc8a84cee85283cdc8737403591bef95d024662cce434a83e0eb080ab82202a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53bbc0b0b7ca45ab4360b387d2e7e9e4fbbe87f7fbb5d870b4a646723866c92d\",\"dweb:/ipfs/QmQfB9QiKeafmmN1PLiYipmAgtPHa6xeCz3P19KjYFxh3z\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0xbed44c733d71e2a30a8a83a31b30f283c18a06fa7d94f185598b7ee6c25920a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2eaef8c278c04d05d8b9ad1ef6c6c5a63585a72c4675370c3e78b6b54a6f14a\",\"dweb:/ipfs/QmZBQqb2saVVSWcxvStXaVocpQfSa4uqRdWPgwMWd78JHR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"uint256","name":"bonusDamage","type":"uint256"},{"internalType":"uint256","name":"armorPenetration","type":"uint256"},{"internalType":"uint256","name":"attackModifierBonus","type":"uint256"},{"internalType":"uint256","name":"critChanceBonus","type":"uint256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"uint256","name":"damage","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct StatsData","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"enum SkillType","name":"skillType","type":"uint8"},{"internalType":"bytes","name":"skillStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createSkill","outputs":[{"internalType":"bytes32","name":"skillId","type":"bytes32"}]},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"skillId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"},{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"int256","name":"hitPointModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"maxHitPoints","type":"uint256"},{"internalType":"int256","name":"currentDamage","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"},{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"int256","name":"hitPointModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0xaefefbadd75a0d04eb37f825e0d173d2019905f50741c4d46f00b49c92dd99de","urls":["bzz-raw://c4a7b825ef509337f081e2f9de76fabd7f96a0073648871b73b47f95325ed366","dweb:/ipfs/QmUf68udqr2HPfiQfno2WTYEANirPRW3kSUdWExyw2ZhR7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x642e1c5eb21b1dfd2dadd58889cf01c4b656a14a1098de0afef02254349c0f8b","urls":["bzz-raw://6ddd81f47fc931c0442607679eb212a2fc6e67b8fb44969af06ccc86874b5ff1","dweb:/ipfs/Qmf6Ajge7bEuTLcFH31AxPGZSZvr6Fy4RRQMmLp9VxKakS"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0xc0af3dda212818d7f8efa53a077c98acaec75a3ef59b19000c3cb8c5e6a421d6","urls":["bzz-raw://823987c562b96659eb5a7be1961d1ccb12aabf4778428e4ee4622981b939017d","dweb:/ipfs/QmbJ9sY6p4oiPoTMwRr19g6uwESVXNUqtNR7XxvNJZk84a"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x4b7cb997c96aa670ce5f415b457c1e4c62cce71922574d944a6773166b408add","urls":["bzz-raw://eef69146d7979972217676849daf6695b30f26973986e88fc48635d09225c20d","dweb:/ipfs/QmPwC5EcrJYBNnXZ9YJ2Z2sRdeAJFsWPNuMroJw3oAULcd"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Skills.sol":{"keccak256":"0x6a548d33767304f32f6852ea6c3560a95a7570387c2c980671f9d68ad4892be7","urls":["bzz-raw://f2dc3747cfebae285361d536afc0cc493bced34b9c503753b8ebe7a57b9ca65f","dweb:/ipfs/QmcAzUzTR7FnGBVoUF64aSBG5YSdGCic7NM65sDiLXkdT9"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x370ec8f5ab4e3be909900d4473e7bf2d170099d88c17f6e6ff71c2fb20f9fec4","urls":["bzz-raw://0e832d6a62ff134676ded9c014d3b7228ff7007576b3823bbf41b3dca5457f44","dweb:/ipfs/QmV3iMTtyx144L1mVg1D5vkGgSK2uLCpAaF4DZrwMmQUwV"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x666a97dd9e0f2491990ca31d7bc1d0a8b3e4d523145218a8b7e9dcd3b8705300","urls":["bzz-raw://aa67e52ffc854526dae8505dd6a636b1a571a3a28da04e4e005a706bc594055d","dweb:/ipfs/QmczCPo2NYZe29ZQBdZRwRobMMiZt99KgshPsLPCQ4XHfF"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x4cba1ddd07d55bedf5a491d5182e30a3e9f0d7c0b31d968fa694d91147f2aedf","urls":["bzz-raw://c99d71e9933bd0d9781a56f24b5058ac6db6b4d4c0500b8308fa8176a62bd3be","dweb:/ipfs/QmVrCuvkeYvhPaN5MxGhA3DeoGBrH3xh92ADdasGEnp7ob"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x962c2120678b81cd12fe983ef770b53b10fc25c69304b0f7e91c1781c44236b4","urls":["bzz-raw://ace99bfb2c59d2bb675f6fc3713707fa4c29514d56f7819d94cede7823136a5d","dweb:/ipfs/QmdEUss2JdimmVxAwmXyPWzyEUBU7VLofs9TvM9FnUU8V3"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x6c3863e390520c04caaa6f961a72e8f670fffdf5b9a8ebedc7f4e2e956f3e253","urls":["bzz-raw://798dcb4e81253b519bd6b37c7d45fbc23d38b6b744b148f7b2e4f7315d813f58","dweb:/ipfs/QmekLtJeUYkpxoafdM6Zto4A7YQmiFv31AvqdrQ2fr5HbF"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0xe4e9b72834ac00a3d027953870172487c2dbe63d709c9f2aca7d4cbebe4f03a7","urls":["bzz-raw://a727c2053297f6c6ee81c03385557768bcfbe1471a239e8abf02d591bf111159","dweb:/ipfs/QmUe98WHderJ2SQTVMdJDF3oeNQgfYxkqvyatQQzYdncnn"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x2886e914de5a23f8bf67f4deb3ed12f9cfb99099e8a8d6426c3340e63c5412d5","urls":["bzz-raw://a7d31c27abe9986f807d239c644f20617ef19a7876c89446555f568c16dae3c8","dweb:/ipfs/QmVuyGHbtNBU4NCLLJt5yhpmh2cCR6TMfNb4hnrF8ACP2u"],"license":"MIT"},"src/codegen/world/ISkillSystem.sol":{"keccak256":"0x389c11ac1a0eef2f34aa97665d24d7df0c27785dcc53ffc6d9818d0bdbbfd838","urls":["bzz-raw://ded2c14b938e895a0c06d68bb7eee4085c2330d6d8af37825e7d53c11086c35b","dweb:/ipfs/QmadLU4UvVsGvqf5sreRWSykGAuickG97KMXTAQnrSk8Sn"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xdc8a84cee85283cdc8737403591bef95d024662cce434a83e0eb080ab82202a9","urls":["bzz-raw://53bbc0b0b7ca45ab4360b387d2e7e9e4fbbe87f7fbb5d870b4a646723866c92d","dweb:/ipfs/QmQfB9QiKeafmmN1PLiYipmAgtPHa6xeCz3P19KjYFxh3z"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0xbed44c733d71e2a30a8a83a31b30f283c18a06fa7d94f185598b7ee6c25920a8","urls":["bzz-raw://f2eaef8c278c04d05d8b9ad1ef6c6c5a63585a72c4675370c3e78b6b54a6f14a","dweb:/ipfs/QmZBQqb2saVVSWcxvStXaVocpQfSa4uqRdWPgwMWd78JHR"],"license":"MIT"}},"version":1},"id":203}
\ No newline at end of file
diff --git a/packages/contracts/src/codegen/world/IEquipmentSystem.sol b/packages/contracts/src/codegen/world/IEquipmentSystem.sol
new file mode 100644
index 000000000..884676b25
--- /dev/null
+++ b/packages/contracts/src/codegen/world/IEquipmentSystem.sol
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.8.24;
+
+/* Autogenerated file. Do not edit manually. */
+
+import { StatsData } from "@codegen/index.sol";
+import { WeaponStats, ArmorStats } from "@interfaces/Structs.sol";
+
+/**
+ * @title IEquipmentSystem
+ * @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
+ * @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
+ */
+interface IEquipmentSystem {
+ function UD__equipItems(bytes32 characterId, uint256[] memory itemIds) external;
+
+ function UD__isEquipped(bytes32 characterId, uint256 itemId) external view returns (bool _isEquipped);
+
+ function UD__checkRequirements(bytes32 characterId, uint256 itemId) external view returns (bool);
+
+ function UD__unequipItem(bytes32 characterId, uint256 itemId) external returns (bool success);
+
+ function UD__applyEquipmentBonuses(bytes32 entityId) external view returns (StatsData memory modifiedStats);
+
+ function UD__getWeaponStats(uint256 itemId) external view returns (WeaponStats memory _weaponStats);
+
+ function UD__getArmorStats(uint256 itemId) external view returns (ArmorStats memory _ArmorStats);
+}
diff --git a/packages/contracts/src/codegen/world/IItemsSystem.sol b/packages/contracts/src/codegen/world/IItemsSystem.sol
index 4d0688915..7cb647be8 100644
--- a/packages/contracts/src/codegen/world/IItemsSystem.sol
+++ b/packages/contracts/src/codegen/world/IItemsSystem.sol
@@ -4,8 +4,6 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
import { ItemType, Classes } from "@codegen/common.sol";
-import { StatsData } from "@codegen/index.sol";
-import { WeaponStats, ArmorStats } from "@interfaces/Structs.sol";
/**
* @title IItemsSystem
@@ -27,27 +25,17 @@ interface IItemsSystem {
string[] memory itemMetadataURIs
) external;
- function UD__equipItems(bytes32 characterId, uint256[] memory itemIds) external;
-
- function UD__isEquipped(bytes32 characterId, uint256 itemId) external view returns (bool _isEquipped);
-
- function UD__checkRequirements(bytes32 characterId, uint256 itemId) external view returns (bool);
-
- function UD__unequipItem(bytes32 characterId, uint256 itemId) external returns (bool success);
-
- function UD__applyEquipmentBonuses(bytes32 entityId) external view returns (StatsData memory modifiedStats);
-
function UD__getTotalSupply(uint256 tokenId) external view returns (uint256 _supply);
function UD__issueStarterItems(bytes32 characterId) external;
+ function UD__dropItems(uint256[] memory itemIds, uint256[] memory amounts, bytes32[] memory characterIds) external;
+
function UD__setTokenUri(uint256 tokenId, string memory tokenUri) external;
function UD__getItemType(uint256 itemId) external view returns (ItemType);
- function UD__getWeaponStats(uint256 itemId) external view returns (WeaponStats memory _weaponStats);
-
- function UD__getArmorStats(uint256 itemId) external view returns (ArmorStats memory _ArmorStats);
-
function UD__setStarterItems(Classes class, uint256[] memory itemIds, uint256[] memory amounts) external;
+
+ function UD__isItemOwner(uint256 itemId, address account) external view returns (bool);
}
diff --git a/packages/contracts/src/codegen/world/IWorld.sol b/packages/contracts/src/codegen/world/IWorld.sol
index 61765ff0a..28669f6ba 100644
--- a/packages/contracts/src/codegen/world/IWorld.sol
+++ b/packages/contracts/src/codegen/world/IWorld.sol
@@ -7,6 +7,7 @@ import { IBaseWorld } from "@latticexyz/world/src/codegen/interfaces/IBaseWorld.
import { ICharacterSystem } from "./ICharacterSystem.sol";
import { ICombatSystem } from "./ICombatSystem.sol";
+import { IEquipmentSystem } from "./IEquipmentSystem.sol";
import { IItemsSystem } from "./IItemsSystem.sol";
import { IMapSystem } from "./IMapSystem.sol";
import { IMobSystem } from "./IMobSystem.sol";
@@ -24,6 +25,7 @@ interface IWorld is
IBaseWorld,
ICharacterSystem,
ICombatSystem,
+ IEquipmentSystem,
IItemsSystem,
IMapSystem,
IMobSystem,
diff --git a/packages/contracts/src/systems/EquipmentSystem.sol b/packages/contracts/src/systems/EquipmentSystem.sol
new file mode 100644
index 000000000..ee3057159
--- /dev/null
+++ b/packages/contracts/src/systems/EquipmentSystem.sol
@@ -0,0 +1,261 @@
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.8.24;
+
+import {System} from "@latticexyz/world/src/System.sol";
+import {Systems} from "@latticexyz/world/src/codegen/tables/Systems.sol";
+import {IWorld} from "@world/IWorld.sol";
+import {IERC1155System} from "@erc1155/IERC1155System.sol";
+import {IERC1155Receiver} from "@erc1155/IERC1155Receiver.sol";
+import {
+ UltimateDominionConfig,
+ Items,
+ ItemsData,
+ Counters,
+ StarterItems,
+ StarterItemsData,
+ Characters,
+ CharactersData,
+ Stats,
+ StatsData,
+ CharacterEquipment,
+ CharacterEquipmentData
+} from "@codegen/index.sol";
+import {ItemType, Classes} from "@codegen/common.sol";
+import {AccessControlLib} from "@latticexyz/world-modules/src/utils/AccessControlLib.sol";
+import {SystemRegistry} from "@latticexyz/world/src/codegen/tables/SystemRegistry.sol";
+import {_erc1155SystemId, _characterSystemId, _requireOwner, _requireAccess} from "../utils.sol";
+import {ITEMS_NAMESPACE} from "../../constants.sol";
+import {WeaponStats, ArmorStats} from "@interfaces/Structs.sol";
+import {TotalSupply} from "@erc1155/tables/TotalSupply.sol";
+import {Owners} from "@erc1155/tables/Owners.sol";
+import {ERC1155URIStorage} from "@erc1155/tables/ERC1155URIStorage.sol";
+import {ERC1155MetadataURI} from "@erc1155/tables/ERC1155MetadataURI.sol";
+import {ERC1155System} from "@erc1155/ERC1155System.sol";
+import {
+ _metadataTableId,
+ _erc1155URIStorageTableId,
+ _totalSupplyTableId,
+ _operatorApprovalTableId,
+ _ownersTableId
+} from "@erc1155/utils.sol";
+import "forge-std/console2.sol";
+
+contract EquipmentSystem is System {
+ modifier inGame(bytes32 characterId) {
+ CharactersData memory charData = Characters.get(characterId);
+ require(charData.locked, "Character not in the Game");
+ _;
+ }
+
+ function equipItems(bytes32 characterId, uint256[] memory itemIds) public inGame(characterId) {
+ address characterOwner = IWorld(_world()).UD__getOwner(characterId);
+ require(characterOwner == _msgSender(), "ITEMS: Not Character Owner");
+ uint256 itemId;
+ for (uint256 i; i < itemIds.length; i++) {
+ itemId = itemIds[i];
+ require(IWorld(_world()).UD__isItemOwner(itemId, _msgSender()), "ITEMS: Not Item Owner");
+ ItemsData memory itemData = Items.get(itemId);
+ require(uint8(itemData.itemType) < 3, "ITEMS: Not an equippable Item");
+ require(checkRequirements(characterId, itemId), "ITEMS: Requirements not met");
+ _equipItem(characterId, itemId, itemData.itemType);
+ }
+ _setEquipmentBonuses(characterId);
+ }
+
+ function isEquipped(bytes32 characterId, uint256 itemId) public view returns (bool _isEquipped) {
+ ItemsData memory itemData = Items.get(itemId);
+ if (uint8(itemData.itemType) == 0) {
+ uint256[] memory equippedWeap = CharacterEquipment.getEquippedWeapons(characterId);
+ for (uint256 i; i < equippedWeap.length;) {
+ if (equippedWeap[i] == itemId) {
+ _isEquipped = true;
+ break;
+ }
+ {
+ i++;
+ }
+ }
+ }
+ }
+
+ function checkRequirements(bytes32 characterId, uint256 itemId) public view returns (bool) {
+ ItemsData memory itemData = Items.get(itemId);
+ StatsData memory character = Stats.get(characterId);
+ CharactersData memory characterData = Characters.get(characterId);
+ bool canUse = true;
+ if (uint8(itemData.itemType) == 0) {
+ WeaponStats memory weaponStats = abi.decode(itemData.stats, (WeaponStats));
+ bool isLevel = IWorld(_world()).UD__getCurrentLevel(character.experience) >= weaponStats.minLevel;
+ bool isClass;
+ if (weaponStats.classRestrictions.length > 0) {
+ for (uint256 i; i < weaponStats.classRestrictions.length;) {
+ if (uint8(characterData.class) == uint8(weaponStats.classRestrictions[i])) {
+ isClass = true;
+ break;
+ }
+ {
+ i++;
+ }
+ }
+ } else {
+ isClass = true;
+ }
+ if (!isLevel || !isClass) canUse = false;
+ }
+ if (uint8(itemData.itemType) == 1) {
+ ArmorStats memory armorStats = abi.decode(itemData.stats, (ArmorStats));
+ bool isLevel = IWorld(_world()).UD__getCurrentLevel(character.experience) >= armorStats.minLevel;
+ bool isClass;
+ if (armorStats.classRestrictions.length > 0) {
+ for (uint256 i; i < armorStats.classRestrictions.length;) {
+ if (uint8(characterData.class) == uint8(armorStats.classRestrictions[i])) {
+ isClass = true;
+ break;
+ }
+ {
+ i++;
+ }
+ }
+ } else {
+ isClass = true;
+ }
+ if (!isLevel || !isClass) canUse = false;
+ }
+ return canUse;
+ }
+
+ function _equipItem(bytes32 characterId, uint256 itemId, ItemType itemType) internal {
+ if (uint8(itemType) == 0) {
+ require(CharacterEquipment.lengthEquippedWeapons(characterId) < 3, "ITEMS: Too many weapons equipped");
+ CharacterEquipment.pushEquippedWeapons(characterId, itemId);
+ }
+ if (uint8(itemType) == 1) {
+ require(CharacterEquipment.lengthEquippedArmor(characterId) < 3, "ITEMS: Too many weapons equipped");
+ CharacterEquipment.pushEquippedArmor(characterId, itemId);
+ }
+
+ if (uint8(itemType) == 2) {
+ // require(CharacterEquipment.lengthEquippedSpells(characterId) < 3, "ITEMS: Too many weapons equipped");
+ // CharacterEquipment.pushEquippedSpells(characterId, itemId);
+ }
+ }
+
+ function _setEquipmentBonuses(bytes32 characterId) internal {
+ uint256[] memory equippedArmor = CharacterEquipment.getEquippedArmor(characterId);
+ uint256[] memory equippedWeapons = CharacterEquipment.getEquippedWeapons(characterId);
+ uint256 totalArmor;
+ int256 totalStrModifiers;
+ int256 totalAgiModifiers;
+ int256 totalIntModifiers;
+ int256 totalHPModifiers;
+ ArmorStats memory armorStats;
+ WeaponStats memory weaponStats;
+ for (uint256 i; i < equippedArmor.length; i++) {
+ armorStats = getArmorStats(equippedArmor[i]);
+ weaponStats = getWeaponStats(equippedWeapons[i]);
+ totalArmor += armorStats.armorModifier;
+ totalStrModifiers += (armorStats.strModifier + weaponStats.strModifier);
+ totalAgiModifiers += (armorStats.agiModifier + weaponStats.agiModifier);
+ totalIntModifiers += (armorStats.intModifier + weaponStats.intModifier);
+ totalHPModifiers += (armorStats.hitPointModifier + weaponStats.hitPointModifier);
+ }
+ CharacterEquipment.setStrBonus(characterId, totalStrModifiers);
+ CharacterEquipment.setAgiBonus(characterId, totalAgiModifiers);
+ CharacterEquipment.setIntBonus(characterId, totalIntModifiers);
+ CharacterEquipment.setHpBonus(characterId, totalHPModifiers);
+ Stats.setArmor(characterId, totalArmor);
+ }
+
+ function unequipItem(bytes32 characterId, uint256 itemId) public inGame(characterId) returns (bool success) {
+ address characterOwner = IWorld(_world()).UD__getOwner(characterId);
+ require(characterOwner == _msgSender(), "ITEMS: Not Character Owner");
+ uint8 itemType = uint8(IWorld(_world()).UD__getItemType(itemId));
+ if (itemType == 0) {
+ uint256[] memory sortedArray =
+ _moveIdToEndOfArray(itemId, CharacterEquipment.getEquippedWeapons(characterId));
+ if (sortedArray[sortedArray.length - 1] == itemId) {
+ CharacterEquipment.setEquippedWeapons(characterId, sortedArray);
+ CharacterEquipment.popEquippedWeapons(characterId);
+
+ success = true;
+ }
+ }
+ if (itemType == 1) {
+ uint256[] memory sortedArray = _moveIdToEndOfArray(itemId, CharacterEquipment.getEquippedArmor(characterId));
+ if (sortedArray[sortedArray.length - 1] == itemId) {
+ CharacterEquipment.setEquippedArmor(characterId, sortedArray);
+ CharacterEquipment.popEquippedArmor(characterId);
+ success = true;
+ }
+ }
+ if (itemType == 2) {
+ // uint256[] memory sortedArray =
+ // _moveIdToEndOfArray(itemId, CharacterEquipment.getEquippedSpells(characterId));
+ // if (sortedArray[sortedArray.length - 1] == itemId) {
+ // CharacterEquipment.setEquippedSpells(characterId, sortedArray);
+ // CharacterEquipment.popEquippedSpells(characterId);
+ // success = true;
+ // }
+ }
+ _setEquipmentBonuses(characterId);
+ }
+
+ function applyEquipmentBonuses(bytes32 entityId) public view returns (StatsData memory modifiedStats) {
+ StatsData memory entityStats = Stats.get(entityId);
+ CharacterEquipmentData memory equipmentStats = CharacterEquipment.get(entityId);
+ //TODO add over/underflowProtection
+ entityStats.strength = uint256(
+ int256(entityStats.strength) + equipmentStats.strBonus >= 0
+ ? int256(entityStats.strength) + equipmentStats.strBonus
+ : int256(1)
+ );
+ entityStats.agility = uint256(
+ int256(entityStats.agility) + equipmentStats.agiBonus >= 0
+ ? int256(entityStats.agility) + equipmentStats.agiBonus
+ : int256(1)
+ );
+ entityStats.intelligence = uint256(
+ int256(entityStats.intelligence) + equipmentStats.intBonus >= 0
+ ? int256(entityStats.intelligence) + equipmentStats.intBonus
+ : int256(1)
+ );
+ entityStats.maxHitPoints = uint256(
+ int256(entityStats.maxHitPoints) + equipmentStats.hpBonus >= 0
+ ? int256(entityStats.maxHitPoints) + equipmentStats.hpBonus
+ : int256(0)
+ );
+ return entityStats;
+ }
+
+ function _moveIdToEndOfArray(uint256 itemId, uint256[] memory array)
+ internal
+ returns (uint256[] memory sortedArray)
+ {
+ uint256[] memory arrayToBeSorted = array;
+ for (uint256 i = 0; i < arrayToBeSorted.length; i++) {
+ if (arrayToBeSorted[i] == itemId) {
+ for (uint256 j = i; j < arrayToBeSorted.length; j++) {
+ if (j + 1 < arrayToBeSorted.length) {
+ arrayToBeSorted[j] = arrayToBeSorted[j + 1];
+ } else if (j + 1 >= arrayToBeSorted.length) {
+ arrayToBeSorted[j] = itemId;
+ }
+ }
+ break;
+ }
+ }
+ sortedArray = arrayToBeSorted;
+ }
+
+ function getWeaponStats(uint256 itemId) public view returns (WeaponStats memory _weaponStats) {
+ ItemsData memory _data = Items.get(itemId);
+ require(_data.itemType == ItemType.Weapon, "ITEMS: Not a weapon");
+ _weaponStats = abi.decode(_data.stats, (WeaponStats));
+ }
+
+ function getArmorStats(uint256 itemId) public view returns (ArmorStats memory _ArmorStats) {
+ ItemsData memory _data = Items.get(itemId);
+ require(_data.itemType == ItemType.Armor, "ITEMS: Not a Armor");
+ _ArmorStats = abi.decode(_data.stats, (ArmorStats));
+ }
+}
diff --git a/packages/contracts/src/systems/ItemsSystem.sol b/packages/contracts/src/systems/ItemsSystem.sol
index 27ab9e556..3b9328dcc 100644
--- a/packages/contracts/src/systems/ItemsSystem.sol
+++ b/packages/contracts/src/systems/ItemsSystem.sol
@@ -23,7 +23,7 @@ import {
import {ItemType, Classes} from "@codegen/common.sol";
import {AccessControlLib} from "@latticexyz/world-modules/src/utils/AccessControlLib.sol";
import {SystemRegistry} from "@latticexyz/world/src/codegen/tables/SystemRegistry.sol";
-import {_erc1155SystemId, _characterSystemId, _requireOwner} from "../utils.sol";
+import {_erc1155SystemId, _characterSystemId, _requireOwner, _requireAccess} from "../utils.sol";
import {ITEMS_NAMESPACE} from "../../constants.sol";
import {WeaponStats, ArmorStats} from "@interfaces/Structs.sol";
import {TotalSupply} from "@erc1155/tables/TotalSupply.sol";
@@ -41,12 +41,6 @@ import {
import "forge-std/console2.sol";
contract ItemsSystem is System {
- modifier inGame(bytes32 characterId) {
- CharactersData memory charData = Characters.get(characterId);
- require(charData.locked, "Character not in the Game");
- _;
- }
-
function _items() internal view returns (IERC1155System items) {
items = IERC1155System(UltimateDominionConfig.getItems());
}
@@ -84,206 +78,6 @@ contract ItemsSystem is System {
}
}
- function equipItems(bytes32 characterId, uint256[] memory itemIds) public inGame(characterId) {
- address characterOwner = IWorld(_world()).UD__getOwner(characterId);
- require(characterOwner == _msgSender(), "ITEMS: Not Character Owner");
- uint256 itemId;
- for (uint256 i; i < itemIds.length; i++) {
- itemId = itemIds[i];
- require(isItemOwner(itemId, _msgSender()), "ITEMS: Not Item Owner");
- ItemsData memory itemData = Items.get(itemId);
- require(uint8(itemData.itemType) < 3, "ITEMS: Not an equippable Item");
- require(checkRequirements(characterId, itemId), "ITEMS: Requirements not met");
- _equipItem(characterId, itemId, itemData.itemType);
- }
- _setEquipmentBonuses(characterId);
- }
-
- function isEquipped(bytes32 characterId, uint256 itemId) public view returns (bool _isEquipped) {
- ItemsData memory itemData = Items.get(itemId);
- if (uint8(itemData.itemType) == 0) {
- uint256[] memory equippedWeap = CharacterEquipment.getEquippedWeapons(characterId);
- for (uint256 i; i < equippedWeap.length;) {
- if (equippedWeap[i] == itemId) {
- _isEquipped = true;
- break;
- }
- {
- i++;
- }
- }
- }
- }
-
- function checkRequirements(bytes32 characterId, uint256 itemId) public view returns (bool) {
- ItemsData memory itemData = Items.get(itemId);
- StatsData memory character = Stats.get(characterId);
- CharactersData memory characterData = Characters.get(characterId);
- bool canUse = true;
- if (uint8(itemData.itemType) == 0) {
- WeaponStats memory weaponStats = abi.decode(itemData.stats, (WeaponStats));
- bool isLevel = IWorld(_world()).UD__getCurrentLevel(character.experience) >= weaponStats.minLevel;
- bool isClass;
- if (weaponStats.classRestrictions.length > 0) {
- for (uint256 i; i < weaponStats.classRestrictions.length;) {
- if (uint8(characterData.class) == uint8(weaponStats.classRestrictions[i])) {
- isClass = true;
- break;
- }
- {
- i++;
- }
- }
- } else {
- isClass = true;
- }
- if (!isLevel || !isClass) canUse = false;
- }
- if (uint8(itemData.ItemType) == 1) {
- ArmorStats memory armorStats = abi.decode(itemData.stats, (ArmorStats));
- bool isLevel = IWorld(_world()).UD__getCurrentLevel(character.experience) >= armorStats.minLevel;
- bool isClass;
- if (armorStats.classRestrictions.length > 0) {
- for (uint256 i; i < armorStats.classRestrictions.length;) {
- if (uint8(characterData.class) == uint8(armorStats.classRestrictions[i])) {
- isClass = true;
- break;
- }
- {
- i++;
- }
- }
- } else {
- isClass = true;
- }
- if (!isLevel || !isClass) canUse = false;
- }
- return canUse;
- }
-
- function _equipItem(bytes32 characterId, uint256 itemId, ItemType itemType) internal {
- if (uint8(itemType) == 0) {
- require(CharacterEquipment.lengthEquippedWeapons(characterId) < 3, "ITEMS: Too many weapons equipped");
- CharacterEquipment.pushEquippedWeapons(characterId, itemId);
- }
- if (uint8(itemType) == 1) {
- require(CharacterEquipment.lengthEquippedArmor(characterId) < 3, "ITEMS: Too many weapons equipped");
- CharacterEquipment.pushEquippedArmor(characterId, itemId);
- }
-
- if (uint8(itemType) == 2) {
- // require(CharacterEquipment.lengthEquippedSpells(characterId) < 3, "ITEMS: Too many weapons equipped");
- // CharacterEquipment.pushEquippedSpells(characterId, itemId);
- }
- }
-
- function _setEquipmentBonuses(bytes32 characterId) internal {
- uint256[] memory equippedArmor = CharacterEquipment.getEquippedArmor(characterId);
- uint256[] memory equippedWeapons = CharacterEquipment.getEquippedWeapons(characterId);
- uint256 totalArmor;
- int256 totalStrModifiers;
- int256 totalAgiModifiers;
- int256 totalIntModifiers;
- int256 totalHPModifiers;
- ArmorStats memory armorStats;
- WeaponStats memory weaponStats;
- for (uint256 i; i < equippedArmor.length; i++) {
- armorStats = getArmorStats(equippedArmor[i]);
- weaponStats = getWeaponStats(equippedWeapons[i]);
- totalArmor += armorStats.armorModifier;
- totalStrModifiers += (armorStats.strModifier + weaponStats.strModifier);
- totalAgiModifiers += (armorStats.agiModifier + weaponStats.agiModifier);
- totalIntModifiers += (armorStats.intModifier + weaponStats.intModifier);
- totalHPModifiers += (armorStats.hitPointModifier + weaponStats.hitPointModifier);
- }
- CharacterEquipment.setStrBonus(characterId, totalStrModifiers);
- CharacterEquipment.setAgiBonus(characterId, totalAgiModifiers);
- CharacterEquipment.setIntBonus(characterId, totalIntModifiers);
- CharacterEquipment.setHpBonus(characterId, totalHPModifiers);
- Stats.setArmor(characterId, totalArmor);
- }
-
- function unequipItem(bytes32 characterId, uint256 itemId) public returns (bool success) {
- address characterOwner = IWorld(_world()).UD__getOwner(characterId);
- require(characterOwner == _msgSender(), "ITEMS: Not Character Owner");
- uint8 itemType = uint8(getItemType(itemId));
- if (itemType == 0) {
- uint256[] memory sortedArray =
- _moveIdToEndOfArray(itemId, CharacterEquipment.getEquippedWeapons(characterId));
- if (sortedArray[sortedArray.length - 1] == itemId) {
- CharacterEquipment.setEquippedWeapons(characterId, sortedArray);
- CharacterEquipment.popEquippedWeapons(characterId);
-
- success = true;
- }
- }
- if (itemType == 1) {
- uint256[] memory sortedArray = _moveIdToEndOfArray(itemId, CharacterEquipment.getEquippedArmor(characterId));
- if (sortedArray[sortedArray.length - 1] == itemId) {
- CharacterEquipment.setEquippedArmor(characterId, sortedArray);
- CharacterEquipment.popEquippedArmor(characterId);
- success = true;
- }
- }
- if (itemType == 2) {
- // uint256[] memory sortedArray =
- // _moveIdToEndOfArray(itemId, CharacterEquipment.getEquippedSpells(characterId));
- // if (sortedArray[sortedArray.length - 1] == itemId) {
- // CharacterEquipment.setEquippedSpells(characterId, sortedArray);
- // CharacterEquipment.popEquippedSpells(characterId);
- // success = true;
- // }
- }
- _setEquipmentBonuses(characterId);
- }
-
- function applyEquipmentBonuses(bytes32 entityId) public view returns (StatsData memory modifiedStats) {
- StatsData memory entityStats = Stats.get(entityId);
- CharacterEquipmentData memory equipmentStats = CharacterEquipment.get(entityId);
- //TODO add over/underflowProtection
- entityStats.strength = uint256(
- int256(entityStats.strength) + equipmentStats.strBonus >= 0
- ? int256(entityStats.strength) + equipmentStats.strBonus
- : int256(1)
- );
- entityStats.agility = uint256(
- int256(entityStats.agility) + equipmentStats.agiBonus >= 0
- ? int256(entityStats.agility) + equipmentStats.agiBonus
- : int256(1)
- );
- entityStats.intelligence = uint256(
- int256(entityStats.intelligence) + equipmentStats.intBonus >= 0
- ? int256(entityStats.intelligence) + equipmentStats.intBonus
- : int256(1)
- );
- entityStats.maxHitPoints = uint256(
- int256(entityStats.maxHitPoints) + equipmentStats.hpBonus >= 0
- ? int256(entityStats.maxHitPoints) + equipmentStats.hpBonus
- : int256(0)
- );
- return entityStats;
- }
-
- function _moveIdToEndOfArray(uint256 itemId, uint256[] memory array)
- internal
- returns (uint256[] memory sortedArray)
- {
- uint256[] memory arrayToBeSorted = array;
- for (uint256 i = 0; i < arrayToBeSorted.length; i++) {
- if (arrayToBeSorted[i] == itemId) {
- for (uint256 j = i; j < arrayToBeSorted.length; j++) {
- if (j + 1 < arrayToBeSorted.length) {
- arrayToBeSorted[j] = arrayToBeSorted[j + 1];
- } else if (j + 1 >= arrayToBeSorted.length) {
- arrayToBeSorted[j] = itemId;
- }
- }
- break;
- }
- }
- sortedArray = arrayToBeSorted;
- }
-
function getTotalSupply(uint256 tokenId) public view returns (uint256 _supply) {
_supply = TotalSupply.getTotalSupply(_totalSupplyTableId(ITEMS_NAMESPACE), tokenId);
}
@@ -299,6 +93,14 @@ contract ItemsSystem is System {
}
}
+ function dropItems(uint256[] memory itemIds, uint256[] memory amounts, bytes32[] memory characterIds) public {
+ _requireAccess(address(this), _msgSender());
+ for (uint256 i; i < itemIds.length; i++) {
+ address to = IWorld(_world()).UD__getOwner(characterIds[i]);
+ _items().transferFrom(address(this), to, itemIds[i], amounts[i]);
+ }
+ }
+
function setTokenUri(uint256 tokenId, string memory tokenUri) public {
_requireOwner(address(this), _msgSender());
ERC1155URIStorage.setUri(_erc1155URIStorageTableId(ITEMS_NAMESPACE), tokenId, tokenUri);
@@ -316,25 +118,13 @@ contract ItemsSystem is System {
return itemsCounter;
}
- function getWeaponStats(uint256 itemId) public view returns (WeaponStats memory _weaponStats) {
- ItemsData memory _data = Items.get(itemId);
- require(_data.itemType == ItemType.Weapon, "ITEMS: Not a weapon");
- _weaponStats = abi.decode(_data.stats, (WeaponStats));
- }
-
- function getArmorStats(uint256 itemId) public view returns (ArmorStats memory _ArmorStats) {
- ItemsData memory _data = Items.get(itemId);
- require(_data.itemType == ItemType.Armor, "ITEMS: Not a Armor");
- _ArmorStats = abi.decode(_data.stats, (ArmorStats));
- }
-
function setStarterItems(Classes class, uint256[] memory itemIds, uint256[] memory amounts) public {
_requireOwner(address(this), _msgSender());
require(itemIds.length == amounts.length, "ITEMS: Length mismatch");
StarterItems.set(class, itemIds, amounts);
}
- function isItemOwner(uint256 itemId, address account) internal view returns (bool) {
+ function isItemOwner(uint256 itemId, address account) public view returns (bool) {
return Owners.getBalance(_ownersTableId(ITEMS_NAMESPACE), account, itemId) > 0;
}
diff --git a/packages/contracts/test/CharacterSystem.t.sol b/packages/contracts/test/CharacterSystem.t.sol
index 958389979..660bb72dd 100644
--- a/packages/contracts/test/CharacterSystem.t.sol
+++ b/packages/contracts/test/CharacterSystem.t.sol
@@ -30,10 +30,13 @@ contract Test_CharacterSystem is SetUp, GasReporter {
vm.warp(block.number + 1);
StatsData memory alicesCharacter = world.UD__getStats(alicesCharacterId);
assertEq(uint8(world.UD__getClass(alicesCharacterId)), uint8(Classes.Rogue));
- assertEq(alicesCharacter.strength, 9);
- assertEq(alicesCharacter.agility, 8);
- assertEq(alicesCharacter.maxHitPoints, 6);
- assertEq(alicesCharacter.intelligence, 4);
+ assertEq(
+ (
+ alicesCharacter.strength + alicesCharacter.agility + alicesCharacter.maxHitPoints
+ + alicesCharacter.intelligence
+ ),
+ 27
+ );
endGasReport();
}
diff --git a/packages/contracts/test/ItemsSystem.t.sol b/packages/contracts/test/ItemsSystem.t.sol
index ae0b90b1d..697e233f2 100644
--- a/packages/contracts/test/ItemsSystem.t.sol
+++ b/packages/contracts/test/ItemsSystem.t.sol
@@ -16,6 +16,7 @@ import {_erc1155SystemId} from "@erc1155/utils.sol";
import {WeaponStats} from "@interfaces/Structs.sol";
import {ResourceIdLib} from "@latticexyz/store/src/ResourceId.sol";
import {ResourceId, WorldResourceIdLib, WorldResourceIdInstance} from "@latticexyz/world/src/WorldResourceId.sol";
+import {_itemsSystemId} from "../src/utils.sol";
import {
GOLD_NAMESPACE,
CHARACTERS_NAMESPACE,
@@ -27,6 +28,12 @@ import {
import {GasReporter} from "@latticexyz/gas-report/src/GasReporter.sol";
contract Test_ItemsSystem is SetUp, GasReporter {
+ function setUp() public virtual override {
+ super.setUp();
+ vm.prank(deployer);
+ world.grantAccess(_itemsSystemId("UD"), address(this));
+ }
+
function test_CreateItem() public {
startGasReport("creates an item");
@@ -47,7 +54,7 @@ contract Test_ItemsSystem is SetUp, GasReporter {
uint256 newItemId =
world.UD__createItem(ItemType.Weapon, 100 ether, abi.encode(weaponStats), "test_Weapon_uri/");
- assertEq(newItemId, 3);
+ assertEq(newItemId, 4);
assertEq(world.UD__getTotalSupply(newItemId), 100 ether);
assertEq(world.UD__getTotalSupply(firstItemId), 10 ether);
assertEq(
@@ -125,4 +132,16 @@ contract Test_ItemsSystem is SetUp, GasReporter {
assertFalse(world.UD__isEquipped(alicesCharacterId, 1));
}
+
+ function test_dropItems() public {
+ uint256[] memory itemIds = new uint256[](1);
+ uint256[] memory amounts = new uint256[](1);
+ bytes32[] memory characterIds = new bytes32[](1);
+ itemIds[0] = newArmorId;
+ amounts[0] = 1;
+ characterIds[0] = alicesCharacterId;
+ world.UD__dropItems(itemIds, amounts, characterIds);
+
+ assertEq(erc1155System.balanceOf(address(alice), newArmorId), 1);
+ }
}
diff --git a/packages/contracts/test/SetUp.sol b/packages/contracts/test/SetUp.sol
index 450bb9ab4..a3297d84b 100644
--- a/packages/contracts/test/SetUp.sol
+++ b/packages/contracts/test/SetUp.sol
@@ -13,8 +13,9 @@ import {IERC1155System} from "@erc1155/IERC1155System.sol";
import {IERC20Mintable} from "@latticexyz/world-modules/src/modules/erc20-puppet/IERC20Mintable.sol";
import {IERC721Mintable} from "@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol";
import {Characters, CharactersData, UltimateDominionConfig} from "@codegen/index.sol";
-import {Classes, MobType} from "@codegen/common.sol";
-import {WeaponStats, MonsterStats} from "@interfaces/Structs.sol";
+import {Classes, MobType, ItemType} from "@codegen/common.sol";
+import {_itemsSystemId} from "../src/utils.sol";
+import {WeaponStats, MonsterStats, ArmorStats} from "@interfaces/Structs.sol";
import {ResourceId, WorldResourceIdLib, WorldResourceIdInstance} from "@latticexyz/world/src/WorldResourceId.sol";
import {RESOURCE_NAMESPACE} from "@latticexyz/world/src/worldResourceTypes.sol";
import {System} from "@latticexyz/world/src/System.sol";
@@ -39,6 +40,8 @@ contract SetUp is Test {
bytes32 bobCharacterId;
bytes32 public alicesRandomness = bytes32(keccak256(abi.encode("alicesRestaurant")));
+ uint256 newArmorId;
+
function setUp() public virtual {
vm.startPrank(deployer);
string memory json = vm.readFile(string(abi.encodePacked(vm.projectRoot(), "/deploys/31337/latest.json")));
@@ -69,6 +72,21 @@ contract SetUp is Test {
inventory: _inventory
});
starterMobId = world.UD__createMob(MobType.Monster, abi.encode(newMonster), "test_monster_uri");
+ // create a starter armor
+ uint8[] memory classRestrictions = new uint8[](0);
+ ArmorStats memory newArmor = ArmorStats({
+ armorModifier: 1,
+ classRestrictions: classRestrictions,
+ minLevel: 0,
+ strModifier: 1,
+ agiModifier: 2,
+ intModifier: 3,
+ hitPointModifier: 4
+ });
+
+ newArmorId = world.UD__createItem(ItemType.Armor, 10 ether, abi.encode(newArmor), "setup_armor_uri");
+
+ world.grantAccess(_itemsSystemId("UD"), address(this));
vm.stopPrank();
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index 892d6c8da..feb66080c 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0xbd0f77a6aacfd208fbdd66c037b073512b21e187"
+ "address": "0x6744ca5e2feb90665ffb8ddc06a03b44d3818696"
},
"84532": {
"address": "0xeafba96222596ac92cd335b0adfc1c2f50357571",
From 16ccbaad41c4decc856c8870e9a0dac3b8fccdd6 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Tue, 2 Jul 2024 01:17:44 -0500
Subject: [PATCH 14/14] tested apply stats
---
.../contracts/src/systems/EquipmentSystem.sol | 46 ++++++++++++++-----
packages/contracts/test/ItemsSystem.t.sol | 26 -----------
packages/contracts/worlds.json | 2 +-
3 files changed, 35 insertions(+), 39 deletions(-)
diff --git a/packages/contracts/src/systems/EquipmentSystem.sol b/packages/contracts/src/systems/EquipmentSystem.sol
index ee3057159..9949f4b64 100644
--- a/packages/contracts/src/systems/EquipmentSystem.sol
+++ b/packages/contracts/src/systems/EquipmentSystem.sol
@@ -76,6 +76,18 @@ contract EquipmentSystem is System {
}
}
}
+ if (uint8(itemData.itemType) == 1) {
+ uint256[] memory equippedArmor = CharacterEquipment.getEquippedArmor(characterId);
+ for (uint256 i; i < equippedArmor.length;) {
+ if (equippedArmor[i] == itemId) {
+ _isEquipped = true;
+ break;
+ }
+ {
+ i++;
+ }
+ }
+ }
}
function checkRequirements(bytes32 characterId, uint256 itemId) public view returns (bool) {
@@ -150,14 +162,24 @@ contract EquipmentSystem is System {
int256 totalHPModifiers;
ArmorStats memory armorStats;
WeaponStats memory weaponStats;
- for (uint256 i; i < equippedArmor.length; i++) {
- armorStats = getArmorStats(equippedArmor[i]);
- weaponStats = getWeaponStats(equippedWeapons[i]);
- totalArmor += armorStats.armorModifier;
- totalStrModifiers += (armorStats.strModifier + weaponStats.strModifier);
- totalAgiModifiers += (armorStats.agiModifier + weaponStats.agiModifier);
- totalIntModifiers += (armorStats.intModifier + weaponStats.intModifier);
- totalHPModifiers += (armorStats.hitPointModifier + weaponStats.hitPointModifier);
+ if (equippedArmor.length > 0) {
+ for (uint256 i; i < equippedArmor.length; i++) {
+ armorStats = getArmorStats(equippedArmor[i]);
+ totalArmor += armorStats.armorModifier;
+ totalStrModifiers += armorStats.strModifier;
+ totalAgiModifiers += armorStats.agiModifier;
+ totalIntModifiers += armorStats.intModifier;
+ totalHPModifiers += armorStats.hitPointModifier;
+ }
+ }
+ if (equippedWeapons.length > 0) {
+ for (uint256 i; i < equippedWeapons.length; i++) {
+ weaponStats = getWeaponStats(equippedWeapons[i]);
+ totalStrModifiers += weaponStats.strModifier;
+ totalAgiModifiers += weaponStats.agiModifier;
+ totalIntModifiers += weaponStats.intModifier;
+ totalHPModifiers += weaponStats.hitPointModifier;
+ }
}
CharacterEquipment.setStrBonus(characterId, totalStrModifiers);
CharacterEquipment.setAgiBonus(characterId, totalAgiModifiers);
@@ -207,22 +229,22 @@ contract EquipmentSystem is System {
entityStats.strength = uint256(
int256(entityStats.strength) + equipmentStats.strBonus >= 0
? int256(entityStats.strength) + equipmentStats.strBonus
- : int256(1)
+ : int256(0)
);
entityStats.agility = uint256(
int256(entityStats.agility) + equipmentStats.agiBonus >= 0
? int256(entityStats.agility) + equipmentStats.agiBonus
- : int256(1)
+ : int256(0)
);
entityStats.intelligence = uint256(
int256(entityStats.intelligence) + equipmentStats.intBonus >= 0
? int256(entityStats.intelligence) + equipmentStats.intBonus
- : int256(1)
+ : int256(0)
);
entityStats.maxHitPoints = uint256(
int256(entityStats.maxHitPoints) + equipmentStats.hpBonus >= 0
? int256(entityStats.maxHitPoints) + equipmentStats.hpBonus
- : int256(0)
+ : int256(1)
);
return entityStats;
}
diff --git a/packages/contracts/test/ItemsSystem.t.sol b/packages/contracts/test/ItemsSystem.t.sol
index 697e233f2..ea940b1fd 100644
--- a/packages/contracts/test/ItemsSystem.t.sol
+++ b/packages/contracts/test/ItemsSystem.t.sol
@@ -107,32 +107,6 @@ contract Test_ItemsSystem is SetUp, GasReporter {
assertEq(erc1155System.balanceOf(address(alice), 1), 1);
}
- function test_equipItems() public {
- uint256 fees = entropy.getFee(address(1));
- vm.startPrank(alice);
- world.UD__rollStats{value: fees}(alicesRandomness, alicesCharacterId, Classes.Rogue);
- world.UD__enterGame(alicesCharacterId);
- uint256[] memory itemsToEquip = new uint256[](1);
- itemsToEquip[0] = 1;
- world.UD__equipItems(alicesCharacterId, itemsToEquip);
-
- assertTrue(world.UD__isEquipped(alicesCharacterId, 1));
- }
-
- function test_unequipItem() public {
- uint256 fees = entropy.getFee(address(1));
- vm.startPrank(alice);
- world.UD__rollStats{value: fees}(alicesRandomness, alicesCharacterId, Classes.Rogue);
- world.UD__enterGame(alicesCharacterId);
- uint256[] memory itemsToEquip = new uint256[](1);
- itemsToEquip[0] = 1;
- world.UD__equipItems(alicesCharacterId, itemsToEquip);
- assertTrue(world.UD__isEquipped(alicesCharacterId, 1));
- world.UD__unequipItem(alicesCharacterId, 1);
-
- assertFalse(world.UD__isEquipped(alicesCharacterId, 1));
- }
-
function test_dropItems() public {
uint256[] memory itemIds = new uint256[](1);
uint256[] memory amounts = new uint256[](1);
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index feb66080c..2f3eeb3ea 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0x6744ca5e2feb90665ffb8ddc06a03b44d3818696"
+ "address": "0xca081461b2151c3c46da59ecf14b4a2ca86864ed"
},
"84532": {
"address": "0xeafba96222596ac92cd335b0adfc1c2f50357571",