{"abi":[{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"installRootModule(address,bytes)":"af068c9e"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This interface defines the contract responsible for managing root modules installation.\",\"kind\":\"dev\",\"methods\":{\"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.\"}}},\"title\":\"World Module Installation Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":\"IWorldModuleInstallation\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":base/=src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"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/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/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"}],"devdoc":{"kind":"dev","methods":{"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."}}},"version":1},"userdoc":{"kind":"user","methods":{"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."}},"version":1}},"settings":{"remappings":["@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin/=node_modules/@openzeppelin/","base/=src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@latticexyz/world/src/IWorldKernel.sol":"IWorldModuleInstallation"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"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/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"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/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/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"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/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@latticexyz/world/src/IWorldKernel.sol","id":47879,"exportedSymbols":{"IModule":[47608],"IModuleErrors":[47626],"IWorldCall":[47847],"IWorldErrors":[47783],"IWorldEvents":[47798],"IWorldKernel":[47878],"IWorldModuleInstallation":[47821],"ResourceId":[9486]},"nodeType":"SourceUnit","src":"32:3585:112","nodes":[{"id":47800,"nodeType":"PragmaDirective","src":"32:25:112","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":47802,"nodeType":"ImportDirective","src":"59:50:112","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/IWorldErrors.sol","file":"./IWorldErrors.sol","nameLocation":"-1:-1:-1","scope":47879,"sourceUnit":47784,"symbolAliases":[{"foreign":{"id":47801,"name":"IWorldErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47783,"src":"68:12:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47804,"nodeType":"ImportDirective","src":"110:40:112","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/IModule.sol","file":"./IModule.sol","nameLocation":"-1:-1:-1","scope":47879,"sourceUnit":47609,"symbolAliases":[{"foreign":{"id":47803,"name":"IModule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47608,"src":"119:7:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47806,"nodeType":"ImportDirective","src":"151:51:112","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/WorldResourceId.sol","file":"./WorldResourceId.sol","nameLocation":"-1:-1:-1","scope":47879,"sourceUnit":48859,"symbolAliases":[{"foreign":{"id":47805,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"160:10:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47808,"nodeType":"ImportDirective","src":"203:52:112","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/IModuleErrors.sol","file":"./IModuleErrors.sol","nameLocation":"-1:-1:-1","scope":47879,"sourceUnit":47627,"symbolAliases":[{"foreign":{"id":47807,"name":"IModuleErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47626,"src":"212:13:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47810,"nodeType":"ImportDirective","src":"256:50:112","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/IWorldEvents.sol","file":"./IWorldEvents.sol","nameLocation":"-1:-1:-1","scope":47879,"sourceUnit":47799,"symbolAliases":[{"foreign":{"id":47809,"name":"IWorldEvents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47798,"src":"265:12:112","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47821,"nodeType":"ContractDefinition","src":"524:437:112","nodes":[{"id":47820,"nodeType":"FunctionDefinition","src":"881:78:112","nodes":[],"documentation":{"id":47812,"nodeType":"StructuredDocumentation","src":"563:315:112","text":" @notice Install the given root module in the World.\n @dev Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\n @param module The module to be installed.\n @param encodedArgs The ABI encoded arguments for the module installation."},"functionSelector":"af068c9e","implemented":false,"kind":"function","modifiers":[],"name":"installRootModule","nameLocation":"890:17:112","parameters":{"id":47818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47815,"mutability":"mutable","name":"module","nameLocation":"916:6:112","nodeType":"VariableDeclaration","scope":47820,"src":"908:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IModule_$47608","typeString":"contract IModule"},"typeName":{"id":47814,"nodeType":"UserDefinedTypeName","pathNode":{"id":47813,"name":"IModule","nameLocations":["908:7:112"],"nodeType":"IdentifierPath","referencedDeclaration":47608,"src":"908:7:112"},"referencedDeclaration":47608,"src":"908:7:112","typeDescriptions":{"typeIdentifier":"t_contract$_IModule_$47608","typeString":"contract IModule"}},"visibility":"internal"},{"constant":false,"id":47817,"mutability":"mutable","name":"encodedArgs","nameLocation":"937:11:112","nodeType":"VariableDeclaration","scope":47820,"src":"924:24:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47816,"name":"bytes","nodeType":"ElementaryTypeName","src":"924:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"907:42:112"},"returnParameters":{"id":47819,"nodeType":"ParameterList","parameters":[],"src":"958:0:112"},"scope":47821,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IWorldModuleInstallation","contractDependencies":[],"contractKind":"interface","documentation":{"id":47811,"nodeType":"StructuredDocumentation","src":"308:215:112","text":" @title World Module Installation Interface\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @dev This interface defines the contract responsible for managing root modules installation."},"fullyImplemented":false,"linearizedBaseContracts":[47821],"name":"IWorldModuleInstallation","nameLocation":"534:24:112","scope":47879,"usedErrors":[],"usedEvents":[]},{"id":47847,"nodeType":"ContractDefinition","src":"1156:1234:112","nodes":[{"id":47833,"nodeType":"FunctionDefinition","src":"1613:98:112","nodes":[],"documentation":{"id":47823,"nodeType":"StructuredDocumentation","src":"1181:429:112","text":" @notice Call the system at the given system ID.\n @dev If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\n @param systemId The ID of the system to be called.\n @param callData The data to pass with the call,\n function selector (4 bytes) followed by the ABI encoded parameters.\n @return The abi encoded return data from the called system."},"functionSelector":"3ae7af08","implemented":false,"kind":"function","modifiers":[],"name":"call","nameLocation":"1622:4:112","parameters":{"id":47829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47826,"mutability":"mutable","name":"systemId","nameLocation":"1638:8:112","nodeType":"VariableDeclaration","scope":47833,"src":"1627:19:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":47825,"nodeType":"UserDefinedTypeName","pathNode":{"id":47824,"name":"ResourceId","nameLocations":["1627:10:112"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"1627:10:112"},"referencedDeclaration":9486,"src":"1627:10:112","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":47828,"mutability":"mutable","name":"callData","nameLocation":"1661:8:112","nodeType":"VariableDeclaration","scope":47833,"src":"1648:21:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47827,"name":"bytes","nodeType":"ElementaryTypeName","src":"1648:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1626:44:112"},"returnParameters":{"id":47832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47833,"src":"1697:12:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47830,"name":"bytes","nodeType":"ElementaryTypeName","src":"1697:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1696:14:112"},"scope":47847,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":47846,"nodeType":"FunctionDefinition","src":"2251:137:112","nodes":[],"documentation":{"id":47834,"nodeType":"StructuredDocumentation","src":"1715:533:112","text":" @notice Call the system at the given system ID on behalf of the given delegator.\n @dev If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\n @param delegator The address on whose behalf the call is made.\n @param systemId The ID of the system to be called.\n @param callData The data to pass with the call,\n function selector (4 bytes) followed by the ABI encoded parameters.\n @return The abi encoded return data from the called system."},"functionSelector":"894ecc58","implemented":false,"kind":"function","modifiers":[],"name":"callFrom","nameLocation":"2260:8:112","parameters":{"id":47842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47836,"mutability":"mutable","name":"delegator","nameLocation":"2282:9:112","nodeType":"VariableDeclaration","scope":47846,"src":"2274:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47835,"name":"address","nodeType":"ElementaryTypeName","src":"2274:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47839,"mutability":"mutable","name":"systemId","nameLocation":"2308:8:112","nodeType":"VariableDeclaration","scope":47846,"src":"2297:19:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":47838,"nodeType":"UserDefinedTypeName","pathNode":{"id":47837,"name":"ResourceId","nameLocations":["2297:10:112"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2297:10:112"},"referencedDeclaration":9486,"src":"2297:10:112","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":47841,"mutability":"mutable","name":"callData","nameLocation":"2335:8:112","nodeType":"VariableDeclaration","scope":47846,"src":"2322:21:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47840,"name":"bytes","nodeType":"ElementaryTypeName","src":"2322:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2268:79:112"},"returnParameters":{"id":47845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47844,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47846,"src":"2374:12:112","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47843,"name":"bytes","nodeType":"ElementaryTypeName","src":"2374:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2373:14:112"},"scope":47847,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IWorldCall","contractDependencies":[],"contractKind":"interface","documentation":{"id":47822,"nodeType":"StructuredDocumentation","src":"963:192:112","text":" @title World Call Interface\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @dev This interface defines the contract for executing calls on the World's systems."},"fullyImplemented":false,"linearizedBaseContracts":[47847],"name":"IWorldCall","nameLocation":"1166:10:112","scope":47879,"usedErrors":[],"usedEvents":[]},{"id":47878,"nodeType":"ContractDefinition","src":"2919:697:112","nodes":[{"id":47864,"nodeType":"FunctionDefinition","src":"3146:56:112","nodes":[],"documentation":{"id":47859,"nodeType":"StructuredDocumentation","src":"3029:114:112","text":" @notice Retrieve the protocol version of the World.\n @return The protocol version of the World."},"functionSelector":"6951955d","implemented":false,"kind":"function","modifiers":[],"name":"worldVersion","nameLocation":"3155:12:112","parameters":{"id":47860,"nodeType":"ParameterList","parameters":[],"src":"3167:2:112"},"returnParameters":{"id":47863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47862,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47864,"src":"3193:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3193:7:112","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3192:9:112"},"scope":47878,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47870,"nodeType":"FunctionDefinition","src":"3335:51:112","nodes":[],"documentation":{"id":47865,"nodeType":"StructuredDocumentation","src":"3206:126:112","text":" @notice Retrieve the immutable original deployer of the World.\n @return The address of the World's creator."},"functionSelector":"02d05d3f","implemented":false,"kind":"function","modifiers":[],"name":"creator","nameLocation":"3344:7:112","parameters":{"id":47866,"nodeType":"ParameterList","parameters":[],"src":"3351:2:112"},"returnParameters":{"id":47869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47868,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47870,"src":"3377:7:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47867,"name":"address","nodeType":"ElementaryTypeName","src":"3377:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3376:9:112"},"scope":47878,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47877,"nodeType":"FunctionDefinition","src":"3565:49:112","nodes":[],"documentation":{"id":47871,"nodeType":"StructuredDocumentation","src":"3390:172:112","text":" @notice Initializes the World.\n @dev Can only be called once by the creator.\n @param initModule The InitModule to be installed during initialization."},"functionSelector":"c4d66de8","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"3574:10:112","parameters":{"id":47875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47874,"mutability":"mutable","name":"initModule","nameLocation":"3593:10:112","nodeType":"VariableDeclaration","scope":47877,"src":"3585:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IModule_$47608","typeString":"contract IModule"},"typeName":{"id":47873,"nodeType":"UserDefinedTypeName","pathNode":{"id":47872,"name":"IModule","nameLocations":["3585:7:112"],"nodeType":"IdentifierPath","referencedDeclaration":47608,"src":"3585:7:112"},"referencedDeclaration":47608,"src":"3585:7:112","typeDescriptions":{"typeIdentifier":"t_contract$_IModule_$47608","typeString":"contract IModule"}},"visibility":"internal"}],"src":"3584:20:112"},"returnParameters":{"id":47876,"nodeType":"ParameterList","parameters":[],"src":"3613:0:112"},"scope":47878,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":47849,"name":"IWorldModuleInstallation","nameLocations":["2945:24:112"],"nodeType":"IdentifierPath","referencedDeclaration":47821,"src":"2945:24:112"},"id":47850,"nodeType":"InheritanceSpecifier","src":"2945:24:112"},{"baseName":{"id":47851,"name":"IWorldCall","nameLocations":["2971:10:112"],"nodeType":"IdentifierPath","referencedDeclaration":47847,"src":"2971:10:112"},"id":47852,"nodeType":"InheritanceSpecifier","src":"2971:10:112"},{"baseName":{"id":47853,"name":"IWorldErrors","nameLocations":["2983:12:112"],"nodeType":"IdentifierPath","referencedDeclaration":47783,"src":"2983:12:112"},"id":47854,"nodeType":"InheritanceSpecifier","src":"2983:12:112"},{"baseName":{"id":47855,"name":"IWorldEvents","nameLocations":["2997:12:112"],"nodeType":"IdentifierPath","referencedDeclaration":47798,"src":"2997:12:112"},"id":47856,"nodeType":"InheritanceSpecifier","src":"2997:12:112"},{"baseName":{"id":47857,"name":"IModuleErrors","nameLocations":["3011:13:112"],"nodeType":"IdentifierPath","referencedDeclaration":47626,"src":"3011:13:112"},"id":47858,"nodeType":"InheritanceSpecifier","src":"3011:13:112"}],"canonicalName":"IWorldKernel","contractDependencies":[],"contractKind":"interface","documentation":{"id":47848,"nodeType":"StructuredDocumentation","src":"2392:526:112","text":" @title World Kernel Interface\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @notice The IWorldKernel interface includes all methods that are part of the World contract's\n internal bytecode. Consumers should use the `IBaseWorld` interface instead, which includes dynamically\n registered functions selectors from the `InitModule`.\n @dev The IWorldKernel interface inherits IModuleErrors because the world can be delegatecalled with module code,\n so it's ABI should include these errors."},"fullyImplemented":false,"linearizedBaseContracts":[47878,47626,47798,47783,47847,47821],"name":"IWorldKernel","nameLocation":"2929:12:112","scope":47879,"usedErrors":[47614,47617,47620,47625,47692,47700,47708,47715,47723,47728,47733,47738,47743,47750,47753,47760,47767,47777,47782],"usedEvents":[47797]}],"license":"MIT"},"id":112}