{"abi":[{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This interface contains custom error types for the World contract. These errors provide more informative messages for certain operations within the World contract.\",\"errors\":{\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"kind\":\"dev\",\"methods\":{},\"title\":\"World Errors Interface\",\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":\"IWorldErrors\"},\"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/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"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/IWorldErrors.sol":"IWorldErrors"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@latticexyz/world/src/IWorldErrors.sol","id":47784,"exportedSymbols":{"IWorldErrors":[47783],"ResourceId":[9486]},"nodeType":"SourceUnit","src":"32:4083:110","nodes":[{"id":47686,"nodeType":"PragmaDirective","src":"32:25:110","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":47688,"nodeType":"ImportDirective","src":"59:66:110","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"@latticexyz/store/src/ResourceId.sol","nameLocation":"-1:-1:-1","scope":47784,"sourceUnit":9568,"symbolAliases":[{"foreign":{"id":47687,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"68:10:110","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47783,"nodeType":"ContractDefinition","src":"409:3705:110","nodes":[{"id":47692,"nodeType":"ErrorDefinition","src":"524:33:110","nodes":[],"documentation":{"id":47690,"nodeType":"StructuredDocumentation","src":"436:85:110","text":" @notice Raised when trying to initialize an already initialized World."},"errorSelector":"15e34a48","name":"World_AlreadyInitialized","nameLocation":"530:24:110","parameters":{"id":47691,"nodeType":"ParameterList","parameters":[],"src":"554:2:110"}},{"id":47700,"nodeType":"ErrorDefinition","src":"771:82:110","nodes":[],"documentation":{"id":47693,"nodeType":"StructuredDocumentation","src":"561:207:110","text":" @notice Raised when trying to register a resource that already exists.\n @param resourceId The ID of the resource.\n @param resourceIdString The string representation of the resource ID."},"errorSelector":"0dc28f6a","name":"World_ResourceAlreadyExists","nameLocation":"777:27:110","parameters":{"id":47699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47696,"mutability":"mutable","name":"resourceId","nameLocation":"816:10:110","nodeType":"VariableDeclaration","scope":47700,"src":"805:21:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":47695,"nodeType":"UserDefinedTypeName","pathNode":{"id":47694,"name":"ResourceId","nameLocations":["805:10:110"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"805:10:110"},"referencedDeclaration":9486,"src":"805:10:110","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":47698,"mutability":"mutable","name":"resourceIdString","nameLocation":"835:16:110","nodeType":"VariableDeclaration","scope":47700,"src":"828:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47697,"name":"string","nodeType":"ElementaryTypeName","src":"828:6:110","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"804:48:110"}},{"id":47708,"nodeType":"ErrorDefinition","src":"1053:77:110","nodes":[],"documentation":{"id":47701,"nodeType":"StructuredDocumentation","src":"857:193:110","text":" @notice Raised when the specified resource is not found.\n @param resourceId The ID of the resource.\n @param resourceIdString The string representation of the resource ID."},"errorSelector":"fbf10ce6","name":"World_ResourceNotFound","nameLocation":"1059:22:110","parameters":{"id":47707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47704,"mutability":"mutable","name":"resourceId","nameLocation":"1093:10:110","nodeType":"VariableDeclaration","scope":47708,"src":"1082:21:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":47703,"nodeType":"UserDefinedTypeName","pathNode":{"id":47702,"name":"ResourceId","nameLocations":["1082:10:110"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"1082:10:110"},"referencedDeclaration":9486,"src":"1082:10:110","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":47706,"mutability":"mutable","name":"resourceIdString","nameLocation":"1112:16:110","nodeType":"VariableDeclaration","scope":47708,"src":"1105:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47705,"name":"string","nodeType":"ElementaryTypeName","src":"1105:6:110","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1081:48:110"}},{"id":47715,"nodeType":"ErrorDefinition","src":"1359:58:110","nodes":[],"documentation":{"id":47709,"nodeType":"StructuredDocumentation","src":"1134:222:110","text":" @notice Raised when a user tries to access a resource they don't have permission for.\n @param resource The resource's identifier.\n @param caller The address of the user trying to access the resource."},"errorSelector":"d787b737","name":"World_AccessDenied","nameLocation":"1365:18:110","parameters":{"id":47714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47711,"mutability":"mutable","name":"resource","nameLocation":"1391:8:110","nodeType":"VariableDeclaration","scope":47715,"src":"1384:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47710,"name":"string","nodeType":"ElementaryTypeName","src":"1384:6:110","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47713,"mutability":"mutable","name":"caller","nameLocation":"1409:6:110","nodeType":"VariableDeclaration","scope":47715,"src":"1401:14:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47712,"name":"address","nodeType":"ElementaryTypeName","src":"1401:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1383:33:110"}},{"id":47723,"nodeType":"ErrorDefinition","src":"1616:78:110","nodes":[],"documentation":{"id":47716,"nodeType":"StructuredDocumentation","src":"1421:192:110","text":" @notice Raised when an invalid resource ID is provided.\n @param resourceId The ID of the resource.\n @param resourceIdString The string representation of the resource ID."},"errorSelector":"e4ac069e","name":"World_InvalidResourceId","nameLocation":"1622:23:110","parameters":{"id":47722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47719,"mutability":"mutable","name":"resourceId","nameLocation":"1657:10:110","nodeType":"VariableDeclaration","scope":47723,"src":"1646:21:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":47718,"nodeType":"UserDefinedTypeName","pathNode":{"id":47717,"name":"ResourceId","nameLocations":["1646:10:110"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"1646:10:110"},"referencedDeclaration":9486,"src":"1646:10:110","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":47721,"mutability":"mutable","name":"resourceIdString","nameLocation":"1676:16:110","nodeType":"VariableDeclaration","scope":47723,"src":"1669:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47720,"name":"string","nodeType":"ElementaryTypeName","src":"1669:6:110","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1645:48:110"}},{"id":47728,"nodeType":"ErrorDefinition","src":"1844:48:110","nodes":[],"documentation":{"id":47724,"nodeType":"StructuredDocumentation","src":"1698:143:110","text":" @notice Raised when an namespace contains an invalid sequence of characters (\"__\").\n @param namespace The invalid namespace."},"errorSelector":"0efb4b85","name":"World_InvalidNamespace","nameLocation":"1850:22:110","parameters":{"id":47727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47726,"mutability":"mutable","name":"namespace","nameLocation":"1881:9:110","nodeType":"VariableDeclaration","scope":47728,"src":"1873:17:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":47725,"name":"bytes14","nodeType":"ElementaryTypeName","src":"1873:7:110","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"1872:19:110"}},{"id":47733,"nodeType":"ErrorDefinition","src":"2028:48:110","nodes":[],"documentation":{"id":47729,"nodeType":"StructuredDocumentation","src":"1896:129:110","text":" @notice Raised when trying to register a system that already exists.\n @param system The address of the system."},"errorSelector":"c0b70741","name":"World_SystemAlreadyExists","nameLocation":"2034:25:110","parameters":{"id":47732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47731,"mutability":"mutable","name":"system","nameLocation":"2068:6:110","nodeType":"VariableDeclaration","scope":47733,"src":"2060:14:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47730,"name":"address","nodeType":"ElementaryTypeName","src":"2060:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2059:16:110"}},{"id":47738,"nodeType":"ErrorDefinition","src":"2241:67:110","nodes":[],"documentation":{"id":47734,"nodeType":"StructuredDocumentation","src":"2080:158:110","text":" @notice Raised when trying to register a function selector that already exists.\n @param functionSelector The function selector in question."},"errorSelector":"3d1d1ae2","name":"World_FunctionSelectorAlreadyExists","nameLocation":"2247:35:110","parameters":{"id":47737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47736,"mutability":"mutable","name":"functionSelector","nameLocation":"2290:16:110","nodeType":"VariableDeclaration","scope":47738,"src":"2283:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":47735,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2283:6:110","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2282:25:110"}},{"id":47743,"nodeType":"ErrorDefinition","src":"2459:62:110","nodes":[],"documentation":{"id":47739,"nodeType":"StructuredDocumentation","src":"2312:144:110","text":" @notice Raised when the specified function selector is not found.\n @param functionSelector The function selector in question."},"errorSelector":"fdde54e2","name":"World_FunctionSelectorNotFound","nameLocation":"2465:30:110","parameters":{"id":47742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47741,"mutability":"mutable","name":"functionSelector","nameLocation":"2503:16:110","nodeType":"VariableDeclaration","scope":47743,"src":"2496:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":47740,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2496:6:110","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2495:25:110"}},{"id":47750,"nodeType":"ErrorDefinition","src":"2705:69:110","nodes":[],"documentation":{"id":47744,"nodeType":"StructuredDocumentation","src":"2525:177:110","text":" @notice Raised when the specified delegation is not found.\n @param delegator The address of the delegator.\n @param delegatee The address of the delegatee."},"errorSelector":"c86745f9","name":"World_DelegationNotFound","nameLocation":"2711:24:110","parameters":{"id":47749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47746,"mutability":"mutable","name":"delegator","nameLocation":"2744:9:110","nodeType":"VariableDeclaration","scope":47750,"src":"2736:17:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47745,"name":"address","nodeType":"ElementaryTypeName","src":"2736:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47748,"mutability":"mutable","name":"delegatee","nameLocation":"2763:9:110","nodeType":"VariableDeclaration","scope":47750,"src":"2755:17:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47747,"name":"address","nodeType":"ElementaryTypeName","src":"2755:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2735:38:110"}},{"id":47753,"nodeType":"ErrorDefinition","src":"2954:44:110","nodes":[],"documentation":{"id":47751,"nodeType":"StructuredDocumentation","src":"2778:173:110","text":" @notice Raised when trying to create an unlimited delegation in a context where it is not allowed,\n e.g. when registering a namespace fallback delegation."},"errorSelector":"71ee9e81","name":"World_UnlimitedDelegationNotAllowed","nameLocation":"2960:35:110","parameters":{"id":47752,"nodeType":"ParameterList","parameters":[],"src":"2995:2:110"}},{"id":47760,"nodeType":"ErrorDefinition","src":"3178:65:110","nodes":[],"documentation":{"id":47754,"nodeType":"StructuredDocumentation","src":"3002:173:110","text":" @notice Raised when there's an insufficient balance for a particular operation.\n @param balance The current balance.\n @param amount The amount needed."},"errorSelector":"0e0e2d4d","name":"World_InsufficientBalance","nameLocation":"3184:25:110","parameters":{"id":47759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47756,"mutability":"mutable","name":"balance","nameLocation":"3218:7:110","nodeType":"VariableDeclaration","scope":47760,"src":"3210:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47755,"name":"uint256","nodeType":"ElementaryTypeName","src":"3210:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47758,"mutability":"mutable","name":"amount","nameLocation":"3235:6:110","nodeType":"VariableDeclaration","scope":47760,"src":"3227:14:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47757,"name":"uint256","nodeType":"ElementaryTypeName","src":"3227:7:110","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3209:33:110"}},{"id":47767,"nodeType":"ErrorDefinition","src":"3460:79:110","nodes":[],"documentation":{"id":47761,"nodeType":"StructuredDocumentation","src":"3247:210:110","text":" @notice Raised when the specified interface is not supported by the contract.\n @param contractAddress The address of the contract in question.\n @param interfaceId The ID of the interface."},"errorSelector":"74b5e6ff","name":"World_InterfaceNotSupported","nameLocation":"3466:27:110","parameters":{"id":47766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47763,"mutability":"mutable","name":"contractAddress","nameLocation":"3502:15:110","nodeType":"VariableDeclaration","scope":47767,"src":"3494:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47762,"name":"address","nodeType":"ElementaryTypeName","src":"3494:7:110","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47765,"mutability":"mutable","name":"interfaceId","nameLocation":"3526:11:110","nodeType":"VariableDeclaration","scope":47767,"src":"3519:18:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":47764,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3519:6:110","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3493:45:110"}},{"id":47777,"nodeType":"ErrorDefinition","src":"3789:97:110","nodes":[],"documentation":{"id":47768,"nodeType":"StructuredDocumentation","src":"3543:243:110","text":" @notice Raised when an invalid resource type is provided.\n @param expected The expected resource type.\n @param resourceId The ID of the resource.\n @param resourceIdString The string representation of the resource ID."},"errorSelector":"5c30fb6f","name":"World_InvalidResourceType","nameLocation":"3795:25:110","parameters":{"id":47776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47770,"mutability":"mutable","name":"expected","nameLocation":"3828:8:110","nodeType":"VariableDeclaration","scope":47777,"src":"3821:15:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":47769,"name":"bytes2","nodeType":"ElementaryTypeName","src":"3821:6:110","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"},{"constant":false,"id":47773,"mutability":"mutable","name":"resourceId","nameLocation":"3849:10:110","nodeType":"VariableDeclaration","scope":47777,"src":"3838:21:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":47772,"nodeType":"UserDefinedTypeName","pathNode":{"id":47771,"name":"ResourceId","nameLocations":["3838:10:110"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3838:10:110"},"referencedDeclaration":9486,"src":"3838:10:110","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":47775,"mutability":"mutable","name":"resourceIdString","nameLocation":"3868:16:110","nodeType":"VariableDeclaration","scope":47777,"src":"3861:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47774,"name":"string","nodeType":"ElementaryTypeName","src":"3861:6:110","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3820:65:110"}},{"id":47782,"nodeType":"ErrorDefinition","src":"4056:56:110","nodes":[],"documentation":{"id":47778,"nodeType":"StructuredDocumentation","src":"3890:163:110","text":" @notice Raised when the World is calling itself via an external call.\n @param functionSelector The function selector of the disallowed callback."},"errorSelector":"9e85182c","name":"World_CallbackNotAllowed","nameLocation":"4062:24:110","parameters":{"id":47781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47780,"mutability":"mutable","name":"functionSelector","nameLocation":"4094:16:110","nodeType":"VariableDeclaration","scope":47782,"src":"4087:23:110","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":47779,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4087:6:110","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4086:25:110"}}],"abstract":false,"baseContracts":[],"canonicalName":"IWorldErrors","contractDependencies":[],"contractKind":"interface","documentation":{"id":47689,"nodeType":"StructuredDocumentation","src":"127:281:110","text":" @title World Errors Interface\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @dev This interface contains custom error types for the World contract. These errors provide\n more informative messages for certain operations within the World contract."},"fullyImplemented":true,"linearizedBaseContracts":[47783],"name":"IWorldErrors","nameLocation":"419:12:110","scope":47784,"usedErrors":[47692,47700,47708,47715,47723,47728,47733,47738,47743,47750,47753,47760,47767,47777,47782],"usedEvents":[]}],"license":"MIT"},"id":110}