diff --git a/packages/contracts/mud.config.ts b/packages/contracts/mud.config.ts index 82753319..14fe0bb6 100644 --- a/packages/contracts/mud.config.ts +++ b/packages/contracts/mud.config.ts @@ -65,8 +65,19 @@ export default mudConfig({ maxHp: "uint256", name: "string", url: "string", + } }, + // PlayerAddon:{ + // keySchema: { + // addr: "address", + // }, + // schema: { + // lootId: "uint256", + // userId: "uint256" + // } + + // }, Ownable: { schema: { owner: "address", diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json index 6e476c5c..29916cab 100644 --- a/packages/contracts/out/IWorld.sol/IWorld.abi.json +++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json @@ -1376,7 +1376,7 @@ "inputs": [ { "internalType": "uint256", - "name": "tokenId", + "name": "_tokenId", "type": "uint256" } ], diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json index d52986b8..652cdac8 100644 --- a/packages/contracts/out/IWorld.sol/IWorld.json +++ b/packages/contracts/out/IWorld.sol/IWorld.json @@ -1377,7 +1377,7 @@ "inputs": [ { "internalType": "uint256", - "name": "tokenId", + "name": "_tokenId", "type": "uint256" } ], @@ -1619,7 +1619,7 @@ "unlockUserLocation()": "7ad5cf14", "updateInField(bytes32,bytes32[],uint8,uint256,bytes,bytes32)": "31914148" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"InvalidSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"module\",\"type\":\"string\"}],\"name\":\"ModuleAlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_DataIndexOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreCore_NotDynamicField\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreCore_NotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"StoreCore_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"StoreCore_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"SystemExists\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"StoreDeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreEphemeralRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetField\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetRecord\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"_y\",\"type\":\"uint16\"}],\"name\":\"CreateBox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GetSeasonInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"SetMapMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_end\",\"type\":\"uint256\"}],\"name\":\"SetSeasonInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"SetUserContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_targetAddress\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct Position[]\",\"name\":\"positionList\",\"type\":\"tuple[]\"}],\"name\":\"battleInvitation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"funcSelectorAndArgs\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_buffHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"}],\"name\":\"confirmBattle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createLootBox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"dropLoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"emitEphemeralRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"}],\"name\":\"forceEnd\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getBattlePlayerHp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_boxId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"_oreAmount\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"_treasureAmount\",\"type\":\"uint16\"}],\"name\":\"getCollections\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getInfo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSenderPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getUserInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"goHome\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_player\",\"type\":\"address\"}],\"name\":\"initPlayerHp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initUserInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"joinBattlefield\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct Position[]\",\"name\":\"moveList\",\"type\":\"tuple[]\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_boxId\",\"type\":\"uint256\"}],\"name\":\"openBox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"popFromField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"pushToField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_targetHP\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_percent\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_player\",\"type\":\"address\"}],\"name\":\"raisePlayerHp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionArguments\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"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\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_action\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_arg\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_nonce\",\"type\":\"bytes32\"}],\"name\":\"revealBattle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_boxId\",\"type\":\"uint256\"}],\"name\":\"revealBox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"}],\"name\":\"revealWinner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_userTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lootTokenId\",\"type\":\"uint256\"}],\"name\":\"selectBothNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"selectLootNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"selectUserNft\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"setInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"settleBattle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"takeLoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockUserLocation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"startByteIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"dataToSet\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"updateInField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given resource selector (namespace + name) If the system is not public, the caller must have access to the namespace or name.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World. Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\"}},\"notice\":\"The IWorld interface includes all systems dynamically added to the World during the deploy process.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@library/=src/systems/library/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@src/=src/\",\":@systems/=src/systems/\",\":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\":\"0x7e86f39f7e0d29342d79144af3c48a3f9f103aca38603318e999483f33cbd966\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7956d2a9b27689d615ae66d0e85f96c86509274fd8f1dc4c4f8dbd204936cea\",\"dweb:/ipfs/QmTgn4tdtbcDEoVcYcgQzS1u8epSbFnefWc9Nbt9eBkjbT\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x52bd79fd98b47bddbc4ccae178b9258cf308c15d41ecbbce57ee46beb17e6787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a48beb7750a813f1b351299de1b78287e9b8e41e4a35762aaa11fb28679c2d8\",\"dweb:/ipfs/Qmcnm5Tb6mUcSjC22z4Ke6DBV1rkYJmZcU1w442QpgTbff\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x0a2728e859ae0ade6b6d425ac8656c83a4e665aa8192a2a4397948869bdc2eea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d06c0fa440f8572adadd3c743791bdb8ffc4468d7cc475e03406acd75be38145\",\"dweb:/ipfs/QmezfepEFeDECZ3kZAwW2p3xuVmmJUbFRTDPnBPH6TAbdB\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x9db1089c5ae5ad585fdbc87f0ec14bdb82ec5098ebd27b67b1c6111853b72749\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa6b81aa9d63d9bcf5e9a5b82b03df8c135519d10fa69d232f1ae658ed780b71\",\"dweb:/ipfs/QmNnf8KEDtMYofpT7iDd89chmw7zpvuZGVDhzjZXarQHE2\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x1edc427b0d26609d1ce739b82b78fc03ae9f7463c3a81e8f8c608516ca7b0089\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41cfaaf85af74c83b20ef308daa69ac65101ffbb2690d6888a06cbb55bf37146\",\"dweb:/ipfs/QmQp4Sf98TfifmsSNU5nVeG7UABWobaUf5oVR38Dh1kpw1\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x5b653faa6c1d6732f6d5e5feaff282bbea099d8d01c8f6d54b4f7732f5e2a8b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57e75c7aac764d3194a196daeea17a78f0bdc1471aa0c0fb5ba93b7f41ad2c01\",\"dweb:/ipfs/QmQHnzXtDLc9eryiXH1DopezvbQgnHChbxQS1ZNpscqHuw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xb5952acdf7eb89759e1a09a698935c23b8f3cadad2dbb2c5629fc265189c9337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b841654b762ac86a139e0bc5df49334ab5133f61e8fab59a66fbd57f9b6607e7\",\"dweb:/ipfs/Qmdn4DRGcU843BdWDWTk4n9aP79c4ybB9X92ejQxKvCYid\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x617c3624e15cb755857ac172a49ae11e0db688984c4d16a8de8e3c172a13ef7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71916605d89da3be4ac1b434e877dfac95dadea8b61b720a5204efac1ca94487\",\"dweb:/ipfs/QmTeZJRJ8Ev8LFQSCHuc6tYG7Vz6VtkBozbWzZgPWSXtcP\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0xd3319f1bf70094e2a436419a7ed9cb4ea6a46efe2df3ccf64fa1b5b4107b54cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff7173aa1002730caade98fa7c8b8b8a7ad34b8f40dd405abae28269124aaf51\",\"dweb:/ipfs/QmdRrsS9yf27xHdgRuNwX7JoqttzyKmVGWQSnZeTmiMksm\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x0b65c36067dfff4ad8168dc2006ff9e53cde2469e4e21eccde010cff9ea78b2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a5af9eadfefe1b54a13e402161783d697160bfe658e33803a11f55e9fa6b494\",\"dweb:/ipfs/QmbvEYmiLbSC1jpu65R93QkiB6DpsGHhzyauH9XyQdtfC9\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x853651c0be864e7f4f81dbbba4536bb159a5cb77c0b5ceb977a633321b1ff3e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9b809cc7016225fee4781db22a360d65b4cddcb44a6ae315937b471f46363c\",\"dweb:/ipfs/QmTDUoqqXppFNvGnVUUZPpz1LNECYqX6bX341vUVwpYSDL\"]},\"node_modules/@latticexyz/store/src/Utils.sol\":{\"keccak256\":\"0x50a3bf74a64f0846c3212b599d2ebd6f220ae562a7ddd01584398d05c5206578\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c44640063d30f054c20dc701b92cbefe64ef4c2cdde686746de4a11c76dfa5c\",\"dweb:/ipfs/QmawdG9zbqoMTCKGJUYfHNuBqeBgdKCdy18BftGd4c9hJA\"]},\"node_modules/@latticexyz/store/src/codegen/Tables.sol\":{\"keccak256\":\"0x567dac75ee912726ad29744f9ba7ef527e8148c213d62442c79010b406710273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f744bcbd592a8ae5bfe8f99f8952665c44a61413184859080df1bc5947880979\",\"dweb:/ipfs/QmcRG7yXyEgfL8pSQXqjYNZ6G1DUdJkkDMRYCagMZLYUXT\"]},\"node_modules/@latticexyz/store/src/codegen/Types.sol\":{\"keccak256\":\"0x23ba2a20a16a4265f122c5e08e5b9881fd827f2cd7a92427740ee1eb3c4e7628\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01236b9e7ffec2b6468e4b7dbc418453c2e5d73eaa14ebf4f5056619f46ad6b7\",\"dweb:/ipfs/QmSHA9efL43SUYbFtgCGv9ucZPD9ULi8o8ENpURAvDGhdB\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Callbacks.sol\":{\"keccak256\":\"0x8da9b947da2ce09f06aa0e8ef03c459f9a209de4546c1b48ff856306958d06bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ea33ce2a5cd10189c223a5553ccb8f07707328748f5ebf15ead50c1eeb72e47\",\"dweb:/ipfs/QmcPvNJ1992qaz278co4Yhjhr6eZCaY6PchqMHPMiuZRSj\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xcdf71af7def6c165fdf07ae749baaf82717c1869a5c26e4cb8241c89fe82a6ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5cf5cdc0ce87d3dcc9d71997410ca0bae5fdedeb71f4bf1b64363d83bc4e7fe\",\"dweb:/ipfs/QmPYAVErLNYZsF1iySgYvjUq3PuoXEW5MXyKDDQVuvM8fq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/KeyEncoding.sol\":{\"keccak256\":\"0xdb8111fcf15adc44e70ecffe8147d831681bbd02f903e4018598802e8b40d16c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a183262de5687b2d91f607c6d18b5b116d792bc3c45c09a92231cb6c9067df6\",\"dweb:/ipfs/QmNdwHZsVBRuMQjtntxuMbtYv9bXDZMepvhqge6h4rU6Nc\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Mixed.sol\":{\"keccak256\":\"0x1df0bb93269b94e8d5ef7e396e4d2cfb6aba795194799a5c7fc4b8d494a1fc16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dffc44bb6386a0fdfba116088a0dc66901e705c9079cd24ce613babb981a587f\",\"dweb:/ipfs/QmapF8fhrjG9uei97ANRdoMaxpv6tcA6nBts51bW8XVY8C\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x0fc67f4823698339c9316a8dccd99cf11cd2f189d961ddd6fe5e0ea766e0e02a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8937de034e2170d0eb9df2dfdb16fd13cc1826870831dfd071f2e85fffc84283\",\"dweb:/ipfs/QmVgfTWnBSreNJEd17bTt1GLrMGZ74DvGfzy7JSYiUMuhx\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Vector2.sol\":{\"keccak256\":\"0x9a0205729b68a920b554a9b5c3407f07fee5717aa5e6d9541d10a837f2ee9254\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c873ef09df14a045a0ba9371ada2786460996d8279496f674eb0a530807f065\",\"dweb:/ipfs/QmaM1EhCyTt2CGEktTgKFfpZZNdarUXQWTNamcwpqL7gCC\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x63fa0cb7b7a2c225d17a3d22c3ba81e543da1388495c8747dfb3e129a3787d66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0f7bfe7f001bb00d95ad493e12b5220f4fb7d175161c747464e2d59c0a93eb8\",\"dweb:/ipfs/QmZeDyzinRWnfoQme8R9mbMpCu9KiUw1AzjPb1SQzNV5oC\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0xbf4ea9fa659ffb1581d417de93082ec9b4586bf7aeda078c2649bd382f0c54dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6860d8f58c2e8f0dde310a1b1e94d2aa355ad060f3797708fcc978be304faf1e\",\"dweb:/ipfs/QmeypWegTQ89bUHab3yptatH6CA8xirJbCMGHqZ7WcXnzA\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x844f8ffa93563ff87cb959947879868a79c53aa0c034f2fa9beba4b571a8d304\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1686477bec31cff0460212420bf69e02be62288039a20f0d76d33dbb98615755\",\"dweb:/ipfs/QmWLijVaJk7FKTsBq7Cc2YuJom1ioRaGLX69NQybN9dNBR\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xf1342c8461adb4c5821c1ca106a67ba34402b36265fa63bf766eed937bd92bf9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea41f96a27a26d56d62824e007b3b0234d44fcd94361e5c8f40fdb334cbf444b\",\"dweb:/ipfs/QmRfj4iS5Lu9V4e47wsPQy4op1qQ6hqaJpERLB5EyzqW38\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x2f2c8c55627287b9519ef57dae24c72bb82ec5abbd33ab9142bcdd931e62c1f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d78c65acf3452474b023978dd13491f58ce4b98b3c2b87a1e0e6827d605d791a\",\"dweb:/ipfs/QmVHDrC2Jp4tp1nWLuzDVK5D8VLBP52w2pYVLtfkCKpLiC\"]},\"node_modules/@latticexyz/world/src/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xb98e1732343d23c9c2d4bc59643da1798bf651b7c272cecd7b74e3d37ac7363c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e81c35c04c7deb9cbbea43c93d50bd685dd252eea3e4e2d25f0a29f8dcf4252\",\"dweb:/ipfs/QmZDUvrsFdTmBq5aTgP976Rbd3Yt1CHLpLeaUJQEVW4jCC\"]},\"node_modules/@latticexyz/world/src/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x9d15d5ac7512631590eda71cb19937d10a9b253d8a9b61bec54e7b0471b3b785\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b18f736784a0f38d5d6b62733fba106ecb84fc8d1b2390236ab8b162511e38\",\"dweb:/ipfs/QmPdvnPupSTBv8Vi2fRFe7A9NYfVuf2LtbdS1DiWXjHf9D\"]},\"node_modules/@latticexyz/world/src/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0x21e72828243fbf26d21594a423e9a32e86df07d3e435ea216a27c326546df106\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ac8c4b2cdeddaf458e562e3f236a5c798664443eca1658038540d5585ee090\",\"dweb:/ipfs/QmPbh7JmBcxqJV4YP78zVXpsmCSGnSN6g7M27MTkyUjRgG\"]},\"node_modules/@latticexyz/world/src/interfaces/IModule.sol\":{\"keccak256\":\"0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178\",\"dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf\"]},\"node_modules/@latticexyz/world/src/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x77b05ecc98755a3b48f0296af3146486890d140eff7b1cc6e95be95a6aab80c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://684155a7539c00796d2e00c3d67dc8d9c5e707e3fac37089df84a346607efdc2\",\"dweb:/ipfs/QmeAPVzvTmaiHBtvFVw92XNmWmQ63RqWAgzNqBGRYwyzkz\"]},\"node_modules/@latticexyz/world/src/interfaces/ISystemHook.sol\":{\"keccak256\":\"0x1dc2adc81b6e82cd5c1040f5885b2b762647166ff1114ee0c79cd478bd8ce5da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5f86a4cf46f35d4514c9c3a8f47dfa359d8a7fbf726636010296e6955a1f0\",\"dweb:/ipfs/QmPePQhXzCnF4kmTvjcQwwJQZuNPuvnEtkJKccrvRErG6B\"]},\"node_modules/@latticexyz/world/src/interfaces/IWorldErrors.sol\":{\"keccak256\":\"0x214a9f68915fb01baad4a4ca2c65545d26e481fc14b0ceadb9e4f378c4eec08a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://54b93db1cb7d5212d54fe776587d5ceddf56ab276cc72c969f28604bddb8b665\",\"dweb:/ipfs/QmSQJ82HRvBaknXWnwXWNYJj9EHuaiBCPe7W9C9uwyUNCW\"]},\"node_modules/@latticexyz/world/src/interfaces/IWorldKernel.sol\":{\"keccak256\":\"0x6e69614573bd17550f9d0f820a7ed9077678b4aa00c71bfca51be8346a06bcb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b49527c2f3396ccc4cacce17ef4c2aae1dc4bf74b07d2127543918579d424210\",\"dweb:/ipfs/QmQV8a2CeAHXwqzLshBcvK9EwEayLemzJCsjHfrTxPYkH6\"]},\"node_modules/@latticexyz/world/src/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x918e79655a2724496ffd1130925e2cfbd7711e7e2759d47d15fd174e7ddd1540\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d2854beec35e9047b41d5669eaa0cb4840f0331f0232164f659b67c5377f3ad\",\"dweb:/ipfs/QmfWzr97XvWTHwrfZ2RF3QZq6QKvd5fvNydSKyQAFDuuDs\"]},\"src/codegen/world/IBattleForceSystem.sol\":{\"keccak256\":\"0x99957a0151894f7611439537e3e13a3cd1f0ae2341bd17173fd9d5d18e25486a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ecb3cbbe4824412fa22af7caed4a61de198da4611cce3a5e2d91393c9dbe0a0\",\"dweb:/ipfs/QmViuB8Lr2yQ9xnQhvpB8wJLUJqoSoHLRf1tkVF8oedzif\"]},\"src/codegen/world/IBattleInfoSystem.sol\":{\"keccak256\":\"0x701b6f952a844e62a90e0a5905a7c6d739aa192e91a1ea130408d8ebf017ecd4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2671e2dca71aacbf3ab470193d367f8dcd48935462f458443ddb7144143b7db\",\"dweb:/ipfs/QmUT8NoXG64SUPbWmMBNXZbnc18EqDikZjYfCCSvaV5h91\"]},\"src/codegen/world/IBattlePrepareSystem.sol\":{\"keccak256\":\"0xf879dd7c48f63abb4fc274002ef1f072df1cf903f8b7af04760eab1c3976148b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://042882e2a02b030ffa8a881f40458ec6c6740b751a94a81231d7322b6b622a4d\",\"dweb:/ipfs/QmUXAdDwfJ5MtE4AufNAMbNWPeh8zQdrjXLiPKXcSojfVa\"]},\"src/codegen/world/IBattleSystem.sol\":{\"keccak256\":\"0x3a3900f49d7f50416838f03cb1d978a40cee79664919b01c61a1aa0d7cb758a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bae16a85aa3f8c45adb539d28f422076958b434f3ff739059c1e63a5e0f70e9e\",\"dweb:/ipfs/QmW8mxoaKYu5vNozpBjNBGtNzMxfDfSMRavHnTv7qDv4pG\"]},\"src/codegen/world/IBoxSystem.sol\":{\"keccak256\":\"0x0a77ebe6ff0a0025b8e0c8f32ae08945c3215a1e993411d510fc09c73242e734\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da8b753ad86100470dc3888be59c7ac0e619a7c33ad447aaa31088a5c00512d3\",\"dweb:/ipfs/QmcAJ8gmG6KM8MLdekHagaGVhat51AuqD2TmgJdoDTbCHc\"]},\"src/codegen/world/IGMSystem.sol\":{\"keccak256\":\"0xc3e1a06c9e4f8fc4821da947bdd325e89a37b121af59f670ba553a29b02f35f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6154d1c9a0e0494bc5e8940ae516d24a17bd8aa162b8532fa5afa34d3599d74\",\"dweb:/ipfs/QmSWwbvcLQNbWdgueSgV2XdV1bY1NVRDYwY4t2RnXDabrf\"]},\"src/codegen/world/IGameSystem.sol\":{\"keccak256\":\"0x19d283b6769cdf0837f5965a6eef8c811be44292b4cedcaa817c245bf303c476\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dbd2a98c3eaf4d14e0b3b3adf43d5b79bd2b99f7579d047d673ddb8bd750651\",\"dweb:/ipfs/QmZBNwmU4N9AnUpHu959yzyJGakc9bW7qao6GSYFoJtuGf\"]},\"src/codegen/world/IMoveSystem.sol\":{\"keccak256\":\"0x575faa695b3b5e5fe7ad93a0ba629a43bac28e5fe3b155551b383ac3411ff6ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16e8701115764ff051937aaffe7fb7bad7a5aee311ac787b936dfeaa160c2f9a\",\"dweb:/ipfs/QmSDS2wqBNfeQEPqiygXSjHjCNYbQWnJ17cbphsG4p8v8s\"]},\"src/codegen/world/IPlayerSystem.sol\":{\"keccak256\":\"0x9735faeb07fc57fae10a9d24fda68d9f9f836136bc5f9f0e41d9cc1240ea2ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b25ce418bb2d643cfb9288ac0b5b81deac13cdd5bbe34cec76a16cb001e8f96\",\"dweb:/ipfs/QmPU4q2kpTM5A5vpEoGfgX5gsvb4zp5BSp2voNojs9AUfi\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xc0ab5afcd25eb6ef00e9d480f87d80893c0bf3b1e8461bd28f3487bd29efb092\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adae613b8fa01b76e2182c7a8a392f942bf36bb9a881e1c53ff07903bb5af07a\",\"dweb:/ipfs/QmdSih7Ust1BCqcuwXERF4fqnXJur2d2mLEj5LvJWZgfhr\"]},\"src/systems/Common.sol\":{\"keccak256\":\"0x25b1b37460f5741acb0549e81117b148505f656a8f93a0aff47720167e92e4e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c0ecd5e7ac72fb5f98f794ddb82bba865cf7fd72d95a19e7e6a51f6dd214983\",\"dweb:/ipfs/QmYPRFyZN6eWs9xCnU9k5Yz9vErMdHPyxBKP7UXwAsJ6gc\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"InvalidSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"module\",\"type\":\"string\"}],\"name\":\"ModuleAlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_DataIndexOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreCore_NotDynamicField\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreCore_NotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"StoreCore_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"StoreCore_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"SystemExists\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"StoreDeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreEphemeralRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetField\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetRecord\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"_y\",\"type\":\"uint16\"}],\"name\":\"CreateBox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GetSeasonInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"SetMapMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_end\",\"type\":\"uint256\"}],\"name\":\"SetSeasonInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"SetUserContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_targetAddress\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct Position[]\",\"name\":\"positionList\",\"type\":\"tuple[]\"}],\"name\":\"battleInvitation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"funcSelectorAndArgs\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_buffHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"}],\"name\":\"confirmBattle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createLootBox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"dropLoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"emitEphemeralRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"}],\"name\":\"forceEnd\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getBattlePlayerHp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_boxId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"_oreAmount\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"_treasureAmount\",\"type\":\"uint16\"}],\"name\":\"getCollections\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getInfo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSenderPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getUserInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"goHome\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_player\",\"type\":\"address\"}],\"name\":\"initPlayerHp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initUserInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"joinBattlefield\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct Position[]\",\"name\":\"moveList\",\"type\":\"tuple[]\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_boxId\",\"type\":\"uint256\"}],\"name\":\"openBox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"popFromField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"pushToField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_targetHP\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_percent\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_player\",\"type\":\"address\"}],\"name\":\"raisePlayerHp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionArguments\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"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\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_action\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_arg\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_nonce\",\"type\":\"bytes32\"}],\"name\":\"revealBattle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_boxId\",\"type\":\"uint256\"}],\"name\":\"revealBox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"}],\"name\":\"revealWinner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_userTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lootTokenId\",\"type\":\"uint256\"}],\"name\":\"selectBothNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"selectLootNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"selectUserNft\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"setInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"settleBattle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"takeLoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockUserLocation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"startByteIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"dataToSet\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"updateInField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given resource selector (namespace + name) If the system is not public, the caller must have access to the namespace or name.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World. Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\"}},\"notice\":\"The IWorld interface includes all systems dynamically added to the World during the deploy process.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@library/=src/systems/library/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@src/=src/\",\":@systems/=src/systems/\",\":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\":\"0x7e86f39f7e0d29342d79144af3c48a3f9f103aca38603318e999483f33cbd966\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7956d2a9b27689d615ae66d0e85f96c86509274fd8f1dc4c4f8dbd204936cea\",\"dweb:/ipfs/QmTgn4tdtbcDEoVcYcgQzS1u8epSbFnefWc9Nbt9eBkjbT\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x52bd79fd98b47bddbc4ccae178b9258cf308c15d41ecbbce57ee46beb17e6787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a48beb7750a813f1b351299de1b78287e9b8e41e4a35762aaa11fb28679c2d8\",\"dweb:/ipfs/Qmcnm5Tb6mUcSjC22z4Ke6DBV1rkYJmZcU1w442QpgTbff\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x0a2728e859ae0ade6b6d425ac8656c83a4e665aa8192a2a4397948869bdc2eea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d06c0fa440f8572adadd3c743791bdb8ffc4468d7cc475e03406acd75be38145\",\"dweb:/ipfs/QmezfepEFeDECZ3kZAwW2p3xuVmmJUbFRTDPnBPH6TAbdB\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x9db1089c5ae5ad585fdbc87f0ec14bdb82ec5098ebd27b67b1c6111853b72749\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa6b81aa9d63d9bcf5e9a5b82b03df8c135519d10fa69d232f1ae658ed780b71\",\"dweb:/ipfs/QmNnf8KEDtMYofpT7iDd89chmw7zpvuZGVDhzjZXarQHE2\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x1edc427b0d26609d1ce739b82b78fc03ae9f7463c3a81e8f8c608516ca7b0089\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41cfaaf85af74c83b20ef308daa69ac65101ffbb2690d6888a06cbb55bf37146\",\"dweb:/ipfs/QmQp4Sf98TfifmsSNU5nVeG7UABWobaUf5oVR38Dh1kpw1\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x5b653faa6c1d6732f6d5e5feaff282bbea099d8d01c8f6d54b4f7732f5e2a8b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57e75c7aac764d3194a196daeea17a78f0bdc1471aa0c0fb5ba93b7f41ad2c01\",\"dweb:/ipfs/QmQHnzXtDLc9eryiXH1DopezvbQgnHChbxQS1ZNpscqHuw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xb5952acdf7eb89759e1a09a698935c23b8f3cadad2dbb2c5629fc265189c9337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b841654b762ac86a139e0bc5df49334ab5133f61e8fab59a66fbd57f9b6607e7\",\"dweb:/ipfs/Qmdn4DRGcU843BdWDWTk4n9aP79c4ybB9X92ejQxKvCYid\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x617c3624e15cb755857ac172a49ae11e0db688984c4d16a8de8e3c172a13ef7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71916605d89da3be4ac1b434e877dfac95dadea8b61b720a5204efac1ca94487\",\"dweb:/ipfs/QmTeZJRJ8Ev8LFQSCHuc6tYG7Vz6VtkBozbWzZgPWSXtcP\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0xd3319f1bf70094e2a436419a7ed9cb4ea6a46efe2df3ccf64fa1b5b4107b54cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff7173aa1002730caade98fa7c8b8b8a7ad34b8f40dd405abae28269124aaf51\",\"dweb:/ipfs/QmdRrsS9yf27xHdgRuNwX7JoqttzyKmVGWQSnZeTmiMksm\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x0b65c36067dfff4ad8168dc2006ff9e53cde2469e4e21eccde010cff9ea78b2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a5af9eadfefe1b54a13e402161783d697160bfe658e33803a11f55e9fa6b494\",\"dweb:/ipfs/QmbvEYmiLbSC1jpu65R93QkiB6DpsGHhzyauH9XyQdtfC9\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x853651c0be864e7f4f81dbbba4536bb159a5cb77c0b5ceb977a633321b1ff3e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9b809cc7016225fee4781db22a360d65b4cddcb44a6ae315937b471f46363c\",\"dweb:/ipfs/QmTDUoqqXppFNvGnVUUZPpz1LNECYqX6bX341vUVwpYSDL\"]},\"node_modules/@latticexyz/store/src/Utils.sol\":{\"keccak256\":\"0x50a3bf74a64f0846c3212b599d2ebd6f220ae562a7ddd01584398d05c5206578\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c44640063d30f054c20dc701b92cbefe64ef4c2cdde686746de4a11c76dfa5c\",\"dweb:/ipfs/QmawdG9zbqoMTCKGJUYfHNuBqeBgdKCdy18BftGd4c9hJA\"]},\"node_modules/@latticexyz/store/src/codegen/Tables.sol\":{\"keccak256\":\"0x567dac75ee912726ad29744f9ba7ef527e8148c213d62442c79010b406710273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f744bcbd592a8ae5bfe8f99f8952665c44a61413184859080df1bc5947880979\",\"dweb:/ipfs/QmcRG7yXyEgfL8pSQXqjYNZ6G1DUdJkkDMRYCagMZLYUXT\"]},\"node_modules/@latticexyz/store/src/codegen/Types.sol\":{\"keccak256\":\"0x23ba2a20a16a4265f122c5e08e5b9881fd827f2cd7a92427740ee1eb3c4e7628\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01236b9e7ffec2b6468e4b7dbc418453c2e5d73eaa14ebf4f5056619f46ad6b7\",\"dweb:/ipfs/QmSHA9efL43SUYbFtgCGv9ucZPD9ULi8o8ENpURAvDGhdB\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Callbacks.sol\":{\"keccak256\":\"0x8da9b947da2ce09f06aa0e8ef03c459f9a209de4546c1b48ff856306958d06bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ea33ce2a5cd10189c223a5553ccb8f07707328748f5ebf15ead50c1eeb72e47\",\"dweb:/ipfs/QmcPvNJ1992qaz278co4Yhjhr6eZCaY6PchqMHPMiuZRSj\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xcdf71af7def6c165fdf07ae749baaf82717c1869a5c26e4cb8241c89fe82a6ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5cf5cdc0ce87d3dcc9d71997410ca0bae5fdedeb71f4bf1b64363d83bc4e7fe\",\"dweb:/ipfs/QmPYAVErLNYZsF1iySgYvjUq3PuoXEW5MXyKDDQVuvM8fq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/KeyEncoding.sol\":{\"keccak256\":\"0xdb8111fcf15adc44e70ecffe8147d831681bbd02f903e4018598802e8b40d16c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a183262de5687b2d91f607c6d18b5b116d792bc3c45c09a92231cb6c9067df6\",\"dweb:/ipfs/QmNdwHZsVBRuMQjtntxuMbtYv9bXDZMepvhqge6h4rU6Nc\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Mixed.sol\":{\"keccak256\":\"0x1df0bb93269b94e8d5ef7e396e4d2cfb6aba795194799a5c7fc4b8d494a1fc16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dffc44bb6386a0fdfba116088a0dc66901e705c9079cd24ce613babb981a587f\",\"dweb:/ipfs/QmapF8fhrjG9uei97ANRdoMaxpv6tcA6nBts51bW8XVY8C\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x0fc67f4823698339c9316a8dccd99cf11cd2f189d961ddd6fe5e0ea766e0e02a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8937de034e2170d0eb9df2dfdb16fd13cc1826870831dfd071f2e85fffc84283\",\"dweb:/ipfs/QmVgfTWnBSreNJEd17bTt1GLrMGZ74DvGfzy7JSYiUMuhx\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Vector2.sol\":{\"keccak256\":\"0x9a0205729b68a920b554a9b5c3407f07fee5717aa5e6d9541d10a837f2ee9254\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c873ef09df14a045a0ba9371ada2786460996d8279496f674eb0a530807f065\",\"dweb:/ipfs/QmaM1EhCyTt2CGEktTgKFfpZZNdarUXQWTNamcwpqL7gCC\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x63fa0cb7b7a2c225d17a3d22c3ba81e543da1388495c8747dfb3e129a3787d66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0f7bfe7f001bb00d95ad493e12b5220f4fb7d175161c747464e2d59c0a93eb8\",\"dweb:/ipfs/QmZeDyzinRWnfoQme8R9mbMpCu9KiUw1AzjPb1SQzNV5oC\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0xbf4ea9fa659ffb1581d417de93082ec9b4586bf7aeda078c2649bd382f0c54dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6860d8f58c2e8f0dde310a1b1e94d2aa355ad060f3797708fcc978be304faf1e\",\"dweb:/ipfs/QmeypWegTQ89bUHab3yptatH6CA8xirJbCMGHqZ7WcXnzA\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x844f8ffa93563ff87cb959947879868a79c53aa0c034f2fa9beba4b571a8d304\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1686477bec31cff0460212420bf69e02be62288039a20f0d76d33dbb98615755\",\"dweb:/ipfs/QmWLijVaJk7FKTsBq7Cc2YuJom1ioRaGLX69NQybN9dNBR\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xf1342c8461adb4c5821c1ca106a67ba34402b36265fa63bf766eed937bd92bf9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea41f96a27a26d56d62824e007b3b0234d44fcd94361e5c8f40fdb334cbf444b\",\"dweb:/ipfs/QmRfj4iS5Lu9V4e47wsPQy4op1qQ6hqaJpERLB5EyzqW38\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x2f2c8c55627287b9519ef57dae24c72bb82ec5abbd33ab9142bcdd931e62c1f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d78c65acf3452474b023978dd13491f58ce4b98b3c2b87a1e0e6827d605d791a\",\"dweb:/ipfs/QmVHDrC2Jp4tp1nWLuzDVK5D8VLBP52w2pYVLtfkCKpLiC\"]},\"node_modules/@latticexyz/world/src/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xb98e1732343d23c9c2d4bc59643da1798bf651b7c272cecd7b74e3d37ac7363c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e81c35c04c7deb9cbbea43c93d50bd685dd252eea3e4e2d25f0a29f8dcf4252\",\"dweb:/ipfs/QmZDUvrsFdTmBq5aTgP976Rbd3Yt1CHLpLeaUJQEVW4jCC\"]},\"node_modules/@latticexyz/world/src/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x9d15d5ac7512631590eda71cb19937d10a9b253d8a9b61bec54e7b0471b3b785\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b18f736784a0f38d5d6b62733fba106ecb84fc8d1b2390236ab8b162511e38\",\"dweb:/ipfs/QmPdvnPupSTBv8Vi2fRFe7A9NYfVuf2LtbdS1DiWXjHf9D\"]},\"node_modules/@latticexyz/world/src/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0x21e72828243fbf26d21594a423e9a32e86df07d3e435ea216a27c326546df106\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ac8c4b2cdeddaf458e562e3f236a5c798664443eca1658038540d5585ee090\",\"dweb:/ipfs/QmPbh7JmBcxqJV4YP78zVXpsmCSGnSN6g7M27MTkyUjRgG\"]},\"node_modules/@latticexyz/world/src/interfaces/IModule.sol\":{\"keccak256\":\"0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178\",\"dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf\"]},\"node_modules/@latticexyz/world/src/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x77b05ecc98755a3b48f0296af3146486890d140eff7b1cc6e95be95a6aab80c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://684155a7539c00796d2e00c3d67dc8d9c5e707e3fac37089df84a346607efdc2\",\"dweb:/ipfs/QmeAPVzvTmaiHBtvFVw92XNmWmQ63RqWAgzNqBGRYwyzkz\"]},\"node_modules/@latticexyz/world/src/interfaces/ISystemHook.sol\":{\"keccak256\":\"0x1dc2adc81b6e82cd5c1040f5885b2b762647166ff1114ee0c79cd478bd8ce5da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5f86a4cf46f35d4514c9c3a8f47dfa359d8a7fbf726636010296e6955a1f0\",\"dweb:/ipfs/QmPePQhXzCnF4kmTvjcQwwJQZuNPuvnEtkJKccrvRErG6B\"]},\"node_modules/@latticexyz/world/src/interfaces/IWorldErrors.sol\":{\"keccak256\":\"0x214a9f68915fb01baad4a4ca2c65545d26e481fc14b0ceadb9e4f378c4eec08a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://54b93db1cb7d5212d54fe776587d5ceddf56ab276cc72c969f28604bddb8b665\",\"dweb:/ipfs/QmSQJ82HRvBaknXWnwXWNYJj9EHuaiBCPe7W9C9uwyUNCW\"]},\"node_modules/@latticexyz/world/src/interfaces/IWorldKernel.sol\":{\"keccak256\":\"0x6e69614573bd17550f9d0f820a7ed9077678b4aa00c71bfca51be8346a06bcb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b49527c2f3396ccc4cacce17ef4c2aae1dc4bf74b07d2127543918579d424210\",\"dweb:/ipfs/QmQV8a2CeAHXwqzLshBcvK9EwEayLemzJCsjHfrTxPYkH6\"]},\"node_modules/@latticexyz/world/src/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x918e79655a2724496ffd1130925e2cfbd7711e7e2759d47d15fd174e7ddd1540\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d2854beec35e9047b41d5669eaa0cb4840f0331f0232164f659b67c5377f3ad\",\"dweb:/ipfs/QmfWzr97XvWTHwrfZ2RF3QZq6QKvd5fvNydSKyQAFDuuDs\"]},\"src/codegen/world/IBattleForceSystem.sol\":{\"keccak256\":\"0x99957a0151894f7611439537e3e13a3cd1f0ae2341bd17173fd9d5d18e25486a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ecb3cbbe4824412fa22af7caed4a61de198da4611cce3a5e2d91393c9dbe0a0\",\"dweb:/ipfs/QmViuB8Lr2yQ9xnQhvpB8wJLUJqoSoHLRf1tkVF8oedzif\"]},\"src/codegen/world/IBattleInfoSystem.sol\":{\"keccak256\":\"0x701b6f952a844e62a90e0a5905a7c6d739aa192e91a1ea130408d8ebf017ecd4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2671e2dca71aacbf3ab470193d367f8dcd48935462f458443ddb7144143b7db\",\"dweb:/ipfs/QmUT8NoXG64SUPbWmMBNXZbnc18EqDikZjYfCCSvaV5h91\"]},\"src/codegen/world/IBattlePrepareSystem.sol\":{\"keccak256\":\"0xf879dd7c48f63abb4fc274002ef1f072df1cf903f8b7af04760eab1c3976148b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://042882e2a02b030ffa8a881f40458ec6c6740b751a94a81231d7322b6b622a4d\",\"dweb:/ipfs/QmUXAdDwfJ5MtE4AufNAMbNWPeh8zQdrjXLiPKXcSojfVa\"]},\"src/codegen/world/IBattleSystem.sol\":{\"keccak256\":\"0x3a3900f49d7f50416838f03cb1d978a40cee79664919b01c61a1aa0d7cb758a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bae16a85aa3f8c45adb539d28f422076958b434f3ff739059c1e63a5e0f70e9e\",\"dweb:/ipfs/QmW8mxoaKYu5vNozpBjNBGtNzMxfDfSMRavHnTv7qDv4pG\"]},\"src/codegen/world/IBoxSystem.sol\":{\"keccak256\":\"0x0a77ebe6ff0a0025b8e0c8f32ae08945c3215a1e993411d510fc09c73242e734\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da8b753ad86100470dc3888be59c7ac0e619a7c33ad447aaa31088a5c00512d3\",\"dweb:/ipfs/QmcAJ8gmG6KM8MLdekHagaGVhat51AuqD2TmgJdoDTbCHc\"]},\"src/codegen/world/IGMSystem.sol\":{\"keccak256\":\"0xc3e1a06c9e4f8fc4821da947bdd325e89a37b121af59f670ba553a29b02f35f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6154d1c9a0e0494bc5e8940ae516d24a17bd8aa162b8532fa5afa34d3599d74\",\"dweb:/ipfs/QmSWwbvcLQNbWdgueSgV2XdV1bY1NVRDYwY4t2RnXDabrf\"]},\"src/codegen/world/IGameSystem.sol\":{\"keccak256\":\"0x19d283b6769cdf0837f5965a6eef8c811be44292b4cedcaa817c245bf303c476\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dbd2a98c3eaf4d14e0b3b3adf43d5b79bd2b99f7579d047d673ddb8bd750651\",\"dweb:/ipfs/QmZBNwmU4N9AnUpHu959yzyJGakc9bW7qao6GSYFoJtuGf\"]},\"src/codegen/world/IMoveSystem.sol\":{\"keccak256\":\"0x575faa695b3b5e5fe7ad93a0ba629a43bac28e5fe3b155551b383ac3411ff6ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16e8701115764ff051937aaffe7fb7bad7a5aee311ac787b936dfeaa160c2f9a\",\"dweb:/ipfs/QmSDS2wqBNfeQEPqiygXSjHjCNYbQWnJ17cbphsG4p8v8s\"]},\"src/codegen/world/IPlayerSystem.sol\":{\"keccak256\":\"0xabf6b1e495a2e6ea98ccb6508f9299ff89d128c71839ace40235ceabb941484f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f957b593598bc6b7712b630721b39707a10ae2f751b37d3adebe46aef0ff1a5\",\"dweb:/ipfs/QmWGwKzUQ8sy7koUM5APnGAGAsCHKdJEpTF8UUnTsupZZN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xc0ab5afcd25eb6ef00e9d480f87d80893c0bf3b1e8461bd28f3487bd29efb092\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adae613b8fa01b76e2182c7a8a392f942bf36bb9a881e1c53ff07903bb5af07a\",\"dweb:/ipfs/QmdSih7Ust1BCqcuwXERF4fqnXJur2d2mLEj5LvJWZgfhr\"]},\"src/systems/Common.sol\":{\"keccak256\":\"0x25b1b37460f5741acb0549e81117b148505f656a8f93a0aff47720167e92e4e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c0ecd5e7ac72fb5f98f794ddb82bba865cf7fd72d95a19e7e6a51f6dd214983\",\"dweb:/ipfs/QmYPRFyZN6eWs9xCnU9k5Yz9vErMdHPyxBKP7UXwAsJ6gc\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.13+commit.abaa5c0e" @@ -2970,7 +2970,7 @@ "inputs": [ { "internalType": "uint256", - "name": "tokenId", + "name": "_tokenId", "type": "uint256" } ], @@ -3511,10 +3511,10 @@ "license": "MIT" }, "src/codegen/world/IPlayerSystem.sol": { - "keccak256": "0x9735faeb07fc57fae10a9d24fda68d9f9f836136bc5f9f0e41d9cc1240ea2ed1", + "keccak256": "0xabf6b1e495a2e6ea98ccb6508f9299ff89d128c71839ace40235ceabb941484f", "urls": [ - "bzz-raw://6b25ce418bb2d643cfb9288ac0b5b81deac13cdd5bbe34cec76a16cb001e8f96", - "dweb:/ipfs/QmPU4q2kpTM5A5vpEoGfgX5gsvb4zp5BSp2voNojs9AUfi" + "bzz-raw://6f957b593598bc6b7712b630721b39707a10ae2f751b37d3adebe46aef0ff1a5", + "dweb:/ipfs/QmWGwKzUQ8sy7koUM5APnGAGAsCHKdJEpTF8UUnTsupZZN" ], "license": "MIT" }, diff --git a/packages/contracts/src/systems/PlayerSystem.sol b/packages/contracts/src/systems/PlayerSystem.sol index ae3e5450..ef978ea4 100644 --- a/packages/contracts/src/systems/PlayerSystem.sol +++ b/packages/contracts/src/systems/PlayerSystem.sol @@ -3,7 +3,7 @@ pragma solidity >=0.8.0; import { System } from "@latticexyz/world/src/System.sol"; import { Player, GlobalConfig, LootList1,LootList2 } from "@codegen/Tables.sol"; -import {PlayerState } from "@codegen/Types.sol"; +import { PlayerState } from "@codegen/Types.sol"; import { GLOBAL_CONFIG_KEY, PLAYER_KEY } from "../Constants.sol"; import { User, Loot } from "./library/Interface.sol"; @@ -37,13 +37,13 @@ contract PlayerSystem is System { return(x, y); } - function selectUserNft(uint256 tokenId) public { + function selectUserNft(uint256 _tokenId) public { address sender = _msgSender(); // Player.selectNft(_msgSender(), tokenId); address userAddress = GlobalConfig.getUserContract(GLOBAL_CONFIG_KEY); User user = User(userAddress); - require(user.ownerOf(tokenId) == sender, "You are not the owner of this NFT"); - (uint256 hp, uint256 attack ,uint256 attackRange, uint256 speed, uint256 strength,uint256 space) = user.getStructInfo(tokenId); + require(user.ownerOf(_tokenId) == sender, "You are not the owner of this NFT"); + (uint256 hp, uint256 attack ,uint256 attackRange, uint256 speed, uint256 strength,uint256 space) = user.getStructInfo(_tokenId); Player.setMaxHp(sender, hp); Player.setHp(sender, hp); Player.setAttack(sender, attack); @@ -51,6 +51,9 @@ contract PlayerSystem is System { Player.setSpeed(sender, speed); Player.setStrength(sender, strength); Player.setSpace(sender, space); + + // PlayerAddon.setUserId(_tokenId); + } function selectLootNFT(uint256 _tokenId) public { address lootAddress = GlobalConfig.getLootContract(GLOBAL_CONFIG_KEY); @@ -66,6 +69,7 @@ contract PlayerSystem is System { LootList2.setHand(_sender,Hand); LootList2.setNeck(_sender,Neck); LootList2.setRing(_sender,Ring); + // Player.setLootId(_tokenId); } function selectBothNFT(uint256 _userTokenId,uint256 _lootTokenId) external { diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 014cd180..01a4102f 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -1,10 +1,10 @@ { "4242": { - "address": "0x19A59F226A831fc663543228024A0136384a94D8", - "blockNumber": 29122003 + "address": "0x62470f134F390a1f596727dADC8F2bf3c57F7bC0", + "blockNumber": 29327327 }, "31337": { - "address": "0x044EE13de544e192149549539C14dc3B376bB08D" + "address": "0xedDe0053512ef0d320fF782687c28BA8ACD6f386" }, "421613": { "address": "0x2Bc1034975c3df48D6f3026802f372677844b85d",