@latticexyz/world-modules 2.0.0-main-87235a21 → 2.0.0-main-85218618

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/out/ArrayLib.sol/ArrayLib.json +255 -255
  2. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +264 -227
  3. package/out/CallboundDelegations.sol/CallboundDelegations.json +2595 -2595
  4. package/out/DelegationControl.sol/DelegationControl.json +193 -143
  5. package/out/Hooks.sol/Hooks.json +45 -45
  6. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +64 -64
  7. package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +53 -53
  8. package/out/IBaseWorld.sol/IBaseWorld.json +136 -91
  9. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +51 -51
  10. package/out/ICoreSystem.sol/ICoreSystem.json +6 -6
  11. package/out/IDelegationControl.sol/IDelegationControl.json +138 -108
  12. package/out/IModule.sol/IModule.json +181 -151
  13. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +34 -34
  14. package/out/ISystemHook.sol/ISystemHook.json +192 -152
  15. package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +13 -13
  16. package/out/IWorldContextConsumer.sol/IWorldContextConsumer.json +172 -124
  17. package/out/IWorldErrors.sol/IWorldErrors.json +346 -256
  18. package/out/IWorldKernel.sol/IWorldCall.json +312 -272
  19. package/out/IWorldKernel.sol/IWorldKernel.json +339 -276
  20. package/out/IWorldKernel.sol/IWorldModuleInstallation.json +297 -271
  21. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +201 -201
  22. package/out/KeysInTable.sol/KeysInTable.json +10668 -10668
  23. package/out/KeysInTableHook.sol/KeysInTableHook.json +862 -862
  24. package/out/KeysInTableModule.sol/KeysInTableModule.json +607 -558
  25. package/out/KeysWithValue.sol/KeysWithValue.json +3828 -3828
  26. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1014 -1014
  27. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +496 -447
  28. package/out/Module.sol/Module.json +192 -125
  29. package/out/ResourceIds.sol/ResourceIds.json +45 -45
  30. package/out/Schema.sol/SchemaInstance.json +30 -30
  31. package/out/Schema.sol/SchemaLib.json +30 -30
  32. package/out/SchemaType.sol/SchemaType.json +276 -276
  33. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +372 -329
  34. package/out/StoreHook.sol/StoreHook.json +358 -358
  35. package/out/StoreHooks.sol/StoreHooks.json +45 -45
  36. package/out/System.sol/System.json +84 -41
  37. package/out/Tables.sol/Tables.json +73 -73
  38. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +168 -131
  39. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1986 -1986
  40. package/out/UniqueEntity.sol/UniqueEntity.json +1402 -1402
  41. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +393 -350
  42. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +138 -102
  43. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +2722 -2722
  44. package/out/WorldContext.sol/WorldContextConsumer.json +780 -683
  45. package/out/WorldContext.sol/WorldContextProvider.json +743 -683
  46. package/out/WorldResourceId.sol/WorldResourceIdInstance.json +777 -765
  47. package/out/WorldResourceId.sol/WorldResourceIdLib.json +777 -765
  48. package/out/constants.sol/constants.json +115 -115
  49. package/out/getKeysInTable.sol/getKeysInTable.json +564 -564
  50. package/out/getKeysWithValue.sol/getKeysWithValue.json +264 -264
  51. package/out/getTargetTableId.sol/getTargetTableId.json +163 -163
  52. package/out/getUniqueEntity.sol/getUniqueEntity.json +88 -88
  53. package/out/hasKey.sol/hasKey.json +130 -130
  54. package/out/index.sol/index.json +53 -53
  55. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +205 -160
  56. package/out/query.sol/query.json +1154 -1154
  57. package/out/revertWithBytes.sol/revertWithBytes.json +15 -15
  58. package/out/src/Bytes.sol/Bytes.json +1332 -1332
  59. package/out/src/FieldLayout.sol/FieldLayoutInstance.json +697 -697
  60. package/out/src/FieldLayout.sol/FieldLayoutLib.json +697 -697
  61. package/out/src/IStore.sol/IStore.json +53 -53
  62. package/out/src/IWorldKernel.sol/IWorldCall.json +313 -273
  63. package/out/src/IWorldKernel.sol/IWorldKernel.json +340 -277
  64. package/out/src/IWorldKernel.sol/IWorldModuleInstallation.json +298 -272
  65. package/out/src/Memory.sol/Memory.json +89 -89
  66. package/out/src/PackedCounter.sol/PackedCounterInstance.json +923 -923
  67. package/out/src/PackedCounter.sol/PackedCounterLib.json +923 -923
  68. package/out/src/ResourceId.sol/ResourceIdInstance.json +112 -112
  69. package/out/src/ResourceId.sol/ResourceIdLib.json +112 -112
  70. package/out/src/Schema.sol/SchemaInstance.json +787 -787
  71. package/out/src/Schema.sol/SchemaLib.json +787 -787
  72. package/out/src/Slice.sol/SliceInstance.json +429 -429
  73. package/out/src/Slice.sol/SliceLib.json +429 -429
  74. package/out/src/StoreCore.sol/StoreCore.json +4455 -4455
  75. package/out/src/StoreCore.sol/StoreCoreInternal.json +4455 -4455
  76. package/out/src/StoreSwitch.sol/StoreSwitch.json +2454 -2454
  77. package/out/src/WorldContext.sol/WorldContextConsumer.json +780 -683
  78. package/out/src/WorldContext.sol/WorldContextProvider.json +743 -683
  79. package/out/src/WorldResourceId.sol/WorldResourceIdInstance.json +777 -765
  80. package/out/src/WorldResourceId.sol/WorldResourceIdLib.json +777 -765
  81. package/out/storeHookTypes.sol/storeHookTypes.json +115 -115
  82. package/out/storeResourceTypes.sol/storeResourceTypes.json +12 -12
  83. package/out/tables/ResourceIds.sol/ResourceIds.json +1746 -1746
  84. package/out/tables/Tables.sol/Tables.json +7288 -7288
  85. package/out/tightcoder/EncodeArray.sol/EncodeArray.json +3246 -3246
  86. package/out/types.sol/types.json +39 -39
  87. package/out/world/src/IERC165.sol/IERC165.json +63 -57
  88. package/out/worldResourceTypes.sol/worldResourceTypes.json +87 -87
  89. package/package.json +8 -8
@@ -199,7 +199,7 @@
199
199
  "linkReferences": {}
200
200
  },
201
201
  "methodIdentifiers": {},
202
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"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\":\"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\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/runner/work/mud/mud/packages/world/src/IWorldErrors.sol\":\"IWorldErrors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"/home/runner/work/mud/mud/packages/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xf3c2037a2899d81a15d5e13c7101337fcf01fcb321cec418e36da5617d52c99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://565b53005697c2cb4ce744f4b192545e3b059d42ea97075fe022a47d0d38cb7f\",\"dweb:/ipfs/QmbGVQuozeLMwUic7LanodXacPiBfomKS8ERnkVFi9vSYz\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x4a61aefe72d6035b1e9aca7841aab44ebd26f8706bdbb447f382046fa94753b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f715743739e4f8f8a98d78397025a92299ecb3b5dde88cc53bc1ab72bf531fa6\",\"dweb:/ipfs/QmVsYAupGWZUemE4t6xjLqztGHadQ8cyo9E4mT5ZDKUmTs\"]}},\"version\":1}",
202
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"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\":\"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\":{\"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_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_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\":{\"/home/runner/work/mud/mud/packages/world/src/IWorldErrors.sol\":\"IWorldErrors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"/home/runner/work/mud/mud/packages/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x4a61aefe72d6035b1e9aca7841aab44ebd26f8706bdbb447f382046fa94753b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f715743739e4f8f8a98d78397025a92299ecb3b5dde88cc53bc1ab72bf531fa6\",\"dweb:/ipfs/QmVsYAupGWZUemE4t6xjLqztGHadQ8cyo9E4mT5ZDKUmTs\"]}},\"version\":1}",
203
203
  "metadata": {
204
204
  "compiler": {
205
205
  "version": "0.8.21+commit.d9974bed"
@@ -426,10 +426,10 @@
426
426
  },
427
427
  "sources": {
428
428
  "/home/runner/work/mud/mud/packages/world/src/IWorldErrors.sol": {
429
- "keccak256": "0xf3c2037a2899d81a15d5e13c7101337fcf01fcb321cec418e36da5617d52c99c",
429
+ "keccak256": "0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7",
430
430
  "urls": [
431
- "bzz-raw://565b53005697c2cb4ce744f4b192545e3b059d42ea97075fe022a47d0d38cb7f",
432
- "dweb:/ipfs/QmbGVQuozeLMwUic7LanodXacPiBfomKS8ERnkVFi9vSYz"
431
+ "bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83",
432
+ "dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4"
433
433
  ],
434
434
  "license": "MIT"
435
435
  },
@@ -446,20 +446,20 @@
446
446
  },
447
447
  "ast": {
448
448
  "absolutePath": "/home/runner/work/mud/mud/packages/world/src/IWorldErrors.sol",
449
- "id": 23137,
449
+ "id": 23168,
450
450
  "exportedSymbols": {
451
451
  "IWorldErrors": [
452
- 23136
452
+ 23167
453
453
  ],
454
454
  "ResourceId": [
455
- 26191
455
+ 26238
456
456
  ]
457
457
  },
458
458
  "nodeType": "SourceUnit",
459
- "src": "32:1079:38",
459
+ "src": "32:3819:38",
460
460
  "nodes": [
461
461
  {
462
- "id": 23059,
462
+ "id": 23075,
463
463
  "nodeType": "PragmaDirective",
464
464
  "src": "32:25:38",
465
465
  "nodes": [],
@@ -471,23 +471,23 @@
471
471
  ]
472
472
  },
473
473
  {
474
- "id": 23061,
474
+ "id": 23077,
475
475
  "nodeType": "ImportDirective",
476
476
  "src": "59:66:38",
477
477
  "nodes": [],
478
478
  "absolutePath": "node_modules/@latticexyz/store/src/ResourceId.sol",
479
479
  "file": "@latticexyz/store/src/ResourceId.sol",
480
480
  "nameLocation": "-1:-1:-1",
481
- "scope": 23137,
482
- "sourceUnit": 26256,
481
+ "scope": 23168,
482
+ "sourceUnit": 26303,
483
483
  "symbolAliases": [
484
484
  {
485
485
  "foreign": {
486
- "id": 23060,
486
+ "id": 23076,
487
487
  "name": "ResourceId",
488
488
  "nodeType": "Identifier",
489
489
  "overloadedDeclarations": [],
490
- "referencedDeclaration": 26191,
490
+ "referencedDeclaration": 26238,
491
491
  "src": "68:10:38",
492
492
  "typeDescriptions": {}
493
493
  },
@@ -497,69 +497,81 @@
497
497
  "unitAlias": ""
498
498
  },
499
499
  {
500
- "id": 23136,
500
+ "id": 23167,
501
501
  "nodeType": "ContractDefinition",
502
- "src": "127:983:38",
502
+ "src": "343:3507:38",
503
503
  "nodes": [
504
504
  {
505
- "id": 23063,
505
+ "id": 23081,
506
506
  "nodeType": "ErrorDefinition",
507
- "src": "154:33:38",
507
+ "src": "458:33:38",
508
508
  "nodes": [],
509
+ "documentation": {
510
+ "id": 23079,
511
+ "nodeType": "StructuredDocumentation",
512
+ "src": "370:85:38",
513
+ "text": " @notice Raised when trying to initialize an already initialized World."
514
+ },
509
515
  "errorSelector": "15e34a48",
510
516
  "name": "World_AlreadyInitialized",
511
- "nameLocation": "160:24:38",
517
+ "nameLocation": "464:24:38",
512
518
  "parameters": {
513
- "id": 23062,
519
+ "id": 23080,
514
520
  "nodeType": "ParameterList",
515
521
  "parameters": [],
516
- "src": "184:2:38"
522
+ "src": "488:2:38"
517
523
  }
518
524
  },
519
525
  {
520
- "id": 23070,
526
+ "id": 23089,
521
527
  "nodeType": "ErrorDefinition",
522
- "src": "190:82:38",
528
+ "src": "705:82:38",
523
529
  "nodes": [],
530
+ "documentation": {
531
+ "id": 23082,
532
+ "nodeType": "StructuredDocumentation",
533
+ "src": "495:207:38",
534
+ "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."
535
+ },
524
536
  "errorSelector": "0dc28f6a",
525
537
  "name": "World_ResourceAlreadyExists",
526
- "nameLocation": "196:27:38",
538
+ "nameLocation": "711:27:38",
527
539
  "parameters": {
528
- "id": 23069,
540
+ "id": 23088,
529
541
  "nodeType": "ParameterList",
530
542
  "parameters": [
531
543
  {
532
544
  "constant": false,
533
- "id": 23066,
545
+ "id": 23085,
534
546
  "mutability": "mutable",
535
547
  "name": "resourceId",
536
- "nameLocation": "235:10:38",
548
+ "nameLocation": "750:10:38",
537
549
  "nodeType": "VariableDeclaration",
538
- "scope": 23070,
539
- "src": "224:21:38",
550
+ "scope": 23089,
551
+ "src": "739:21:38",
540
552
  "stateVariable": false,
541
553
  "storageLocation": "default",
542
554
  "typeDescriptions": {
543
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26191",
555
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26238",
544
556
  "typeString": "ResourceId"
545
557
  },
546
558
  "typeName": {
547
- "id": 23065,
559
+ "id": 23084,
548
560
  "nodeType": "UserDefinedTypeName",
549
561
  "pathNode": {
550
- "id": 23064,
562
+ "id": 23083,
551
563
  "name": "ResourceId",
552
564
  "nameLocations": [
553
- "224:10:38"
565
+ "739:10:38"
554
566
  ],
555
567
  "nodeType": "IdentifierPath",
556
- "referencedDeclaration": 26191,
557
- "src": "224:10:38"
568
+ "referencedDeclaration": 26238,
569
+ "src": "739:10:38"
558
570
  },
559
- "referencedDeclaration": 26191,
560
- "src": "224:10:38",
571
+ "referencedDeclaration": 26238,
572
+ "src": "739:10:38",
561
573
  "typeDescriptions": {
562
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26191",
574
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26238",
563
575
  "typeString": "ResourceId"
564
576
  }
565
577
  },
@@ -567,13 +579,13 @@
567
579
  },
568
580
  {
569
581
  "constant": false,
570
- "id": 23068,
582
+ "id": 23087,
571
583
  "mutability": "mutable",
572
584
  "name": "resourceIdString",
573
- "nameLocation": "254:16:38",
585
+ "nameLocation": "769:16:38",
574
586
  "nodeType": "VariableDeclaration",
575
- "scope": 23070,
576
- "src": "247:23:38",
587
+ "scope": 23089,
588
+ "src": "762:23:38",
577
589
  "stateVariable": false,
578
590
  "storageLocation": "default",
579
591
  "typeDescriptions": {
@@ -581,10 +593,10 @@
581
593
  "typeString": "string"
582
594
  },
583
595
  "typeName": {
584
- "id": 23067,
596
+ "id": 23086,
585
597
  "name": "string",
586
598
  "nodeType": "ElementaryTypeName",
587
- "src": "247:6:38",
599
+ "src": "762:6:38",
588
600
  "typeDescriptions": {
589
601
  "typeIdentifier": "t_string_storage_ptr",
590
602
  "typeString": "string"
@@ -593,53 +605,59 @@
593
605
  "visibility": "internal"
594
606
  }
595
607
  ],
596
- "src": "223:48:38"
608
+ "src": "738:48:38"
597
609
  }
598
610
  },
599
611
  {
600
- "id": 23077,
612
+ "id": 23097,
601
613
  "nodeType": "ErrorDefinition",
602
- "src": "275:77:38",
614
+ "src": "987:77:38",
603
615
  "nodes": [],
616
+ "documentation": {
617
+ "id": 23090,
618
+ "nodeType": "StructuredDocumentation",
619
+ "src": "791:193:38",
620
+ "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."
621
+ },
604
622
  "errorSelector": "fbf10ce6",
605
623
  "name": "World_ResourceNotFound",
606
- "nameLocation": "281:22:38",
624
+ "nameLocation": "993:22:38",
607
625
  "parameters": {
608
- "id": 23076,
626
+ "id": 23096,
609
627
  "nodeType": "ParameterList",
610
628
  "parameters": [
611
629
  {
612
630
  "constant": false,
613
- "id": 23073,
631
+ "id": 23093,
614
632
  "mutability": "mutable",
615
633
  "name": "resourceId",
616
- "nameLocation": "315:10:38",
634
+ "nameLocation": "1027:10:38",
617
635
  "nodeType": "VariableDeclaration",
618
- "scope": 23077,
619
- "src": "304:21:38",
636
+ "scope": 23097,
637
+ "src": "1016:21:38",
620
638
  "stateVariable": false,
621
639
  "storageLocation": "default",
622
640
  "typeDescriptions": {
623
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26191",
641
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26238",
624
642
  "typeString": "ResourceId"
625
643
  },
626
644
  "typeName": {
627
- "id": 23072,
645
+ "id": 23092,
628
646
  "nodeType": "UserDefinedTypeName",
629
647
  "pathNode": {
630
- "id": 23071,
648
+ "id": 23091,
631
649
  "name": "ResourceId",
632
650
  "nameLocations": [
633
- "304:10:38"
651
+ "1016:10:38"
634
652
  ],
635
653
  "nodeType": "IdentifierPath",
636
- "referencedDeclaration": 26191,
637
- "src": "304:10:38"
654
+ "referencedDeclaration": 26238,
655
+ "src": "1016:10:38"
638
656
  },
639
- "referencedDeclaration": 26191,
640
- "src": "304:10:38",
657
+ "referencedDeclaration": 26238,
658
+ "src": "1016:10:38",
641
659
  "typeDescriptions": {
642
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26191",
660
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26238",
643
661
  "typeString": "ResourceId"
644
662
  }
645
663
  },
@@ -647,13 +665,13 @@
647
665
  },
648
666
  {
649
667
  "constant": false,
650
- "id": 23075,
668
+ "id": 23095,
651
669
  "mutability": "mutable",
652
670
  "name": "resourceIdString",
653
- "nameLocation": "334:16:38",
671
+ "nameLocation": "1046:16:38",
654
672
  "nodeType": "VariableDeclaration",
655
- "scope": 23077,
656
- "src": "327:23:38",
673
+ "scope": 23097,
674
+ "src": "1039:23:38",
657
675
  "stateVariable": false,
658
676
  "storageLocation": "default",
659
677
  "typeDescriptions": {
@@ -661,10 +679,10 @@
661
679
  "typeString": "string"
662
680
  },
663
681
  "typeName": {
664
- "id": 23074,
682
+ "id": 23094,
665
683
  "name": "string",
666
684
  "nodeType": "ElementaryTypeName",
667
- "src": "327:6:38",
685
+ "src": "1039:6:38",
668
686
  "typeDescriptions": {
669
687
  "typeIdentifier": "t_string_storage_ptr",
670
688
  "typeString": "string"
@@ -673,30 +691,36 @@
673
691
  "visibility": "internal"
674
692
  }
675
693
  ],
676
- "src": "303:48:38"
694
+ "src": "1015:48:38"
677
695
  }
678
696
  },
679
697
  {
680
- "id": 23083,
698
+ "id": 23104,
681
699
  "nodeType": "ErrorDefinition",
682
- "src": "355:58:38",
700
+ "src": "1293:58:38",
683
701
  "nodes": [],
702
+ "documentation": {
703
+ "id": 23098,
704
+ "nodeType": "StructuredDocumentation",
705
+ "src": "1068:222:38",
706
+ "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."
707
+ },
684
708
  "errorSelector": "d787b737",
685
709
  "name": "World_AccessDenied",
686
- "nameLocation": "361:18:38",
710
+ "nameLocation": "1299:18:38",
687
711
  "parameters": {
688
- "id": 23082,
712
+ "id": 23103,
689
713
  "nodeType": "ParameterList",
690
714
  "parameters": [
691
715
  {
692
716
  "constant": false,
693
- "id": 23079,
717
+ "id": 23100,
694
718
  "mutability": "mutable",
695
719
  "name": "resource",
696
- "nameLocation": "387:8:38",
720
+ "nameLocation": "1325:8:38",
697
721
  "nodeType": "VariableDeclaration",
698
- "scope": 23083,
699
- "src": "380:15:38",
722
+ "scope": 23104,
723
+ "src": "1318:15:38",
700
724
  "stateVariable": false,
701
725
  "storageLocation": "default",
702
726
  "typeDescriptions": {
@@ -704,10 +728,10 @@
704
728
  "typeString": "string"
705
729
  },
706
730
  "typeName": {
707
- "id": 23078,
731
+ "id": 23099,
708
732
  "name": "string",
709
733
  "nodeType": "ElementaryTypeName",
710
- "src": "380:6:38",
734
+ "src": "1318:6:38",
711
735
  "typeDescriptions": {
712
736
  "typeIdentifier": "t_string_storage_ptr",
713
737
  "typeString": "string"
@@ -717,13 +741,13 @@
717
741
  },
718
742
  {
719
743
  "constant": false,
720
- "id": 23081,
744
+ "id": 23102,
721
745
  "mutability": "mutable",
722
746
  "name": "caller",
723
- "nameLocation": "405:6:38",
747
+ "nameLocation": "1343:6:38",
724
748
  "nodeType": "VariableDeclaration",
725
- "scope": 23083,
726
- "src": "397:14:38",
749
+ "scope": 23104,
750
+ "src": "1335:14:38",
727
751
  "stateVariable": false,
728
752
  "storageLocation": "default",
729
753
  "typeDescriptions": {
@@ -731,10 +755,10 @@
731
755
  "typeString": "address"
732
756
  },
733
757
  "typeName": {
734
- "id": 23080,
758
+ "id": 23101,
735
759
  "name": "address",
736
760
  "nodeType": "ElementaryTypeName",
737
- "src": "397:7:38",
761
+ "src": "1335:7:38",
738
762
  "stateMutability": "nonpayable",
739
763
  "typeDescriptions": {
740
764
  "typeIdentifier": "t_address",
@@ -744,53 +768,59 @@
744
768
  "visibility": "internal"
745
769
  }
746
770
  ],
747
- "src": "379:33:38"
771
+ "src": "1317:33:38"
748
772
  }
749
773
  },
750
774
  {
751
- "id": 23090,
775
+ "id": 23112,
752
776
  "nodeType": "ErrorDefinition",
753
- "src": "416:78:38",
777
+ "src": "1550:78:38",
754
778
  "nodes": [],
779
+ "documentation": {
780
+ "id": 23105,
781
+ "nodeType": "StructuredDocumentation",
782
+ "src": "1355:192:38",
783
+ "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."
784
+ },
755
785
  "errorSelector": "e4ac069e",
756
786
  "name": "World_InvalidResourceId",
757
- "nameLocation": "422:23:38",
787
+ "nameLocation": "1556:23:38",
758
788
  "parameters": {
759
- "id": 23089,
789
+ "id": 23111,
760
790
  "nodeType": "ParameterList",
761
791
  "parameters": [
762
792
  {
763
793
  "constant": false,
764
- "id": 23086,
794
+ "id": 23108,
765
795
  "mutability": "mutable",
766
796
  "name": "resourceId",
767
- "nameLocation": "457:10:38",
797
+ "nameLocation": "1591:10:38",
768
798
  "nodeType": "VariableDeclaration",
769
- "scope": 23090,
770
- "src": "446:21:38",
799
+ "scope": 23112,
800
+ "src": "1580:21:38",
771
801
  "stateVariable": false,
772
802
  "storageLocation": "default",
773
803
  "typeDescriptions": {
774
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26191",
804
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26238",
775
805
  "typeString": "ResourceId"
776
806
  },
777
807
  "typeName": {
778
- "id": 23085,
808
+ "id": 23107,
779
809
  "nodeType": "UserDefinedTypeName",
780
810
  "pathNode": {
781
- "id": 23084,
811
+ "id": 23106,
782
812
  "name": "ResourceId",
783
813
  "nameLocations": [
784
- "446:10:38"
814
+ "1580:10:38"
785
815
  ],
786
816
  "nodeType": "IdentifierPath",
787
- "referencedDeclaration": 26191,
788
- "src": "446:10:38"
817
+ "referencedDeclaration": 26238,
818
+ "src": "1580:10:38"
789
819
  },
790
- "referencedDeclaration": 26191,
791
- "src": "446:10:38",
820
+ "referencedDeclaration": 26238,
821
+ "src": "1580:10:38",
792
822
  "typeDescriptions": {
793
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26191",
823
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26238",
794
824
  "typeString": "ResourceId"
795
825
  }
796
826
  },
@@ -798,13 +828,13 @@
798
828
  },
799
829
  {
800
830
  "constant": false,
801
- "id": 23088,
831
+ "id": 23110,
802
832
  "mutability": "mutable",
803
833
  "name": "resourceIdString",
804
- "nameLocation": "476:16:38",
834
+ "nameLocation": "1610:16:38",
805
835
  "nodeType": "VariableDeclaration",
806
- "scope": 23090,
807
- "src": "469:23:38",
836
+ "scope": 23112,
837
+ "src": "1603:23:38",
808
838
  "stateVariable": false,
809
839
  "storageLocation": "default",
810
840
  "typeDescriptions": {
@@ -812,10 +842,10 @@
812
842
  "typeString": "string"
813
843
  },
814
844
  "typeName": {
815
- "id": 23087,
845
+ "id": 23109,
816
846
  "name": "string",
817
847
  "nodeType": "ElementaryTypeName",
818
- "src": "469:6:38",
848
+ "src": "1603:6:38",
819
849
  "typeDescriptions": {
820
850
  "typeIdentifier": "t_string_storage_ptr",
821
851
  "typeString": "string"
@@ -824,30 +854,36 @@
824
854
  "visibility": "internal"
825
855
  }
826
856
  ],
827
- "src": "445:48:38"
857
+ "src": "1579:48:38"
828
858
  }
829
859
  },
830
860
  {
831
- "id": 23094,
861
+ "id": 23117,
832
862
  "nodeType": "ErrorDefinition",
833
- "src": "497:48:38",
863
+ "src": "1764:48:38",
834
864
  "nodes": [],
865
+ "documentation": {
866
+ "id": 23113,
867
+ "nodeType": "StructuredDocumentation",
868
+ "src": "1632:129:38",
869
+ "text": " @notice Raised when trying to register a system that already exists.\n @param system The address of the system."
870
+ },
835
871
  "errorSelector": "c0b70741",
836
872
  "name": "World_SystemAlreadyExists",
837
- "nameLocation": "503:25:38",
873
+ "nameLocation": "1770:25:38",
838
874
  "parameters": {
839
- "id": 23093,
875
+ "id": 23116,
840
876
  "nodeType": "ParameterList",
841
877
  "parameters": [
842
878
  {
843
879
  "constant": false,
844
- "id": 23092,
880
+ "id": 23115,
845
881
  "mutability": "mutable",
846
882
  "name": "system",
847
- "nameLocation": "537:6:38",
883
+ "nameLocation": "1804:6:38",
848
884
  "nodeType": "VariableDeclaration",
849
- "scope": 23094,
850
- "src": "529:14:38",
885
+ "scope": 23117,
886
+ "src": "1796:14:38",
851
887
  "stateVariable": false,
852
888
  "storageLocation": "default",
853
889
  "typeDescriptions": {
@@ -855,10 +891,10 @@
855
891
  "typeString": "address"
856
892
  },
857
893
  "typeName": {
858
- "id": 23091,
894
+ "id": 23114,
859
895
  "name": "address",
860
896
  "nodeType": "ElementaryTypeName",
861
- "src": "529:7:38",
897
+ "src": "1796:7:38",
862
898
  "stateMutability": "nonpayable",
863
899
  "typeDescriptions": {
864
900
  "typeIdentifier": "t_address",
@@ -868,30 +904,36 @@
868
904
  "visibility": "internal"
869
905
  }
870
906
  ],
871
- "src": "528:16:38"
907
+ "src": "1795:16:38"
872
908
  }
873
909
  },
874
910
  {
875
- "id": 23098,
911
+ "id": 23122,
876
912
  "nodeType": "ErrorDefinition",
877
- "src": "548:67:38",
913
+ "src": "1977:67:38",
878
914
  "nodes": [],
915
+ "documentation": {
916
+ "id": 23118,
917
+ "nodeType": "StructuredDocumentation",
918
+ "src": "1816:158:38",
919
+ "text": " @notice Raised when trying to register a function selector that already exists.\n @param functionSelector The function selector in question."
920
+ },
879
921
  "errorSelector": "3d1d1ae2",
880
922
  "name": "World_FunctionSelectorAlreadyExists",
881
- "nameLocation": "554:35:38",
923
+ "nameLocation": "1983:35:38",
882
924
  "parameters": {
883
- "id": 23097,
925
+ "id": 23121,
884
926
  "nodeType": "ParameterList",
885
927
  "parameters": [
886
928
  {
887
929
  "constant": false,
888
- "id": 23096,
930
+ "id": 23120,
889
931
  "mutability": "mutable",
890
932
  "name": "functionSelector",
891
- "nameLocation": "597:16:38",
933
+ "nameLocation": "2026:16:38",
892
934
  "nodeType": "VariableDeclaration",
893
- "scope": 23098,
894
- "src": "590:23:38",
935
+ "scope": 23122,
936
+ "src": "2019:23:38",
895
937
  "stateVariable": false,
896
938
  "storageLocation": "default",
897
939
  "typeDescriptions": {
@@ -899,10 +941,10 @@
899
941
  "typeString": "bytes4"
900
942
  },
901
943
  "typeName": {
902
- "id": 23095,
944
+ "id": 23119,
903
945
  "name": "bytes4",
904
946
  "nodeType": "ElementaryTypeName",
905
- "src": "590:6:38",
947
+ "src": "2019:6:38",
906
948
  "typeDescriptions": {
907
949
  "typeIdentifier": "t_bytes4",
908
950
  "typeString": "bytes4"
@@ -911,30 +953,36 @@
911
953
  "visibility": "internal"
912
954
  }
913
955
  ],
914
- "src": "589:25:38"
956
+ "src": "2018:25:38"
915
957
  }
916
958
  },
917
959
  {
918
- "id": 23102,
960
+ "id": 23127,
919
961
  "nodeType": "ErrorDefinition",
920
- "src": "618:62:38",
962
+ "src": "2195:62:38",
921
963
  "nodes": [],
964
+ "documentation": {
965
+ "id": 23123,
966
+ "nodeType": "StructuredDocumentation",
967
+ "src": "2048:144:38",
968
+ "text": " @notice Raised when the specified function selector is not found.\n @param functionSelector The function selector in question."
969
+ },
922
970
  "errorSelector": "fdde54e2",
923
971
  "name": "World_FunctionSelectorNotFound",
924
- "nameLocation": "624:30:38",
972
+ "nameLocation": "2201:30:38",
925
973
  "parameters": {
926
- "id": 23101,
974
+ "id": 23126,
927
975
  "nodeType": "ParameterList",
928
976
  "parameters": [
929
977
  {
930
978
  "constant": false,
931
- "id": 23100,
979
+ "id": 23125,
932
980
  "mutability": "mutable",
933
981
  "name": "functionSelector",
934
- "nameLocation": "662:16:38",
982
+ "nameLocation": "2239:16:38",
935
983
  "nodeType": "VariableDeclaration",
936
- "scope": 23102,
937
- "src": "655:23:38",
984
+ "scope": 23127,
985
+ "src": "2232:23:38",
938
986
  "stateVariable": false,
939
987
  "storageLocation": "default",
940
988
  "typeDescriptions": {
@@ -942,10 +990,10 @@
942
990
  "typeString": "bytes4"
943
991
  },
944
992
  "typeName": {
945
- "id": 23099,
993
+ "id": 23124,
946
994
  "name": "bytes4",
947
995
  "nodeType": "ElementaryTypeName",
948
- "src": "655:6:38",
996
+ "src": "2232:6:38",
949
997
  "typeDescriptions": {
950
998
  "typeIdentifier": "t_bytes4",
951
999
  "typeString": "bytes4"
@@ -954,30 +1002,36 @@
954
1002
  "visibility": "internal"
955
1003
  }
956
1004
  ],
957
- "src": "654:25:38"
1005
+ "src": "2231:25:38"
958
1006
  }
959
1007
  },
960
1008
  {
961
- "id": 23108,
1009
+ "id": 23134,
962
1010
  "nodeType": "ErrorDefinition",
963
- "src": "683:69:38",
1011
+ "src": "2441:69:38",
964
1012
  "nodes": [],
1013
+ "documentation": {
1014
+ "id": 23128,
1015
+ "nodeType": "StructuredDocumentation",
1016
+ "src": "2261:177:38",
1017
+ "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."
1018
+ },
965
1019
  "errorSelector": "c86745f9",
966
1020
  "name": "World_DelegationNotFound",
967
- "nameLocation": "689:24:38",
1021
+ "nameLocation": "2447:24:38",
968
1022
  "parameters": {
969
- "id": 23107,
1023
+ "id": 23133,
970
1024
  "nodeType": "ParameterList",
971
1025
  "parameters": [
972
1026
  {
973
1027
  "constant": false,
974
- "id": 23104,
1028
+ "id": 23130,
975
1029
  "mutability": "mutable",
976
1030
  "name": "delegator",
977
- "nameLocation": "722:9:38",
1031
+ "nameLocation": "2480:9:38",
978
1032
  "nodeType": "VariableDeclaration",
979
- "scope": 23108,
980
- "src": "714:17:38",
1033
+ "scope": 23134,
1034
+ "src": "2472:17:38",
981
1035
  "stateVariable": false,
982
1036
  "storageLocation": "default",
983
1037
  "typeDescriptions": {
@@ -985,10 +1039,10 @@
985
1039
  "typeString": "address"
986
1040
  },
987
1041
  "typeName": {
988
- "id": 23103,
1042
+ "id": 23129,
989
1043
  "name": "address",
990
1044
  "nodeType": "ElementaryTypeName",
991
- "src": "714:7:38",
1045
+ "src": "2472:7:38",
992
1046
  "stateMutability": "nonpayable",
993
1047
  "typeDescriptions": {
994
1048
  "typeIdentifier": "t_address",
@@ -999,13 +1053,13 @@
999
1053
  },
1000
1054
  {
1001
1055
  "constant": false,
1002
- "id": 23106,
1056
+ "id": 23132,
1003
1057
  "mutability": "mutable",
1004
1058
  "name": "delegatee",
1005
- "nameLocation": "741:9:38",
1059
+ "nameLocation": "2499:9:38",
1006
1060
  "nodeType": "VariableDeclaration",
1007
- "scope": 23108,
1008
- "src": "733:17:38",
1061
+ "scope": 23134,
1062
+ "src": "2491:17:38",
1009
1063
  "stateVariable": false,
1010
1064
  "storageLocation": "default",
1011
1065
  "typeDescriptions": {
@@ -1013,10 +1067,10 @@
1013
1067
  "typeString": "address"
1014
1068
  },
1015
1069
  "typeName": {
1016
- "id": 23105,
1070
+ "id": 23131,
1017
1071
  "name": "address",
1018
1072
  "nodeType": "ElementaryTypeName",
1019
- "src": "733:7:38",
1073
+ "src": "2491:7:38",
1020
1074
  "stateMutability": "nonpayable",
1021
1075
  "typeDescriptions": {
1022
1076
  "typeIdentifier": "t_address",
@@ -1026,45 +1080,57 @@
1026
1080
  "visibility": "internal"
1027
1081
  }
1028
1082
  ],
1029
- "src": "713:38:38"
1083
+ "src": "2471:38:38"
1030
1084
  }
1031
1085
  },
1032
1086
  {
1033
- "id": 23110,
1087
+ "id": 23137,
1034
1088
  "nodeType": "ErrorDefinition",
1035
- "src": "755:44:38",
1089
+ "src": "2690:44:38",
1036
1090
  "nodes": [],
1091
+ "documentation": {
1092
+ "id": 23135,
1093
+ "nodeType": "StructuredDocumentation",
1094
+ "src": "2514:173:38",
1095
+ "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."
1096
+ },
1037
1097
  "errorSelector": "71ee9e81",
1038
1098
  "name": "World_UnlimitedDelegationNotAllowed",
1039
- "nameLocation": "761:35:38",
1099
+ "nameLocation": "2696:35:38",
1040
1100
  "parameters": {
1041
- "id": 23109,
1101
+ "id": 23136,
1042
1102
  "nodeType": "ParameterList",
1043
1103
  "parameters": [],
1044
- "src": "796:2:38"
1104
+ "src": "2731:2:38"
1045
1105
  }
1046
1106
  },
1047
1107
  {
1048
- "id": 23116,
1108
+ "id": 23144,
1049
1109
  "nodeType": "ErrorDefinition",
1050
- "src": "802:65:38",
1110
+ "src": "2914:65:38",
1051
1111
  "nodes": [],
1112
+ "documentation": {
1113
+ "id": 23138,
1114
+ "nodeType": "StructuredDocumentation",
1115
+ "src": "2738:173:38",
1116
+ "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."
1117
+ },
1052
1118
  "errorSelector": "0e0e2d4d",
1053
1119
  "name": "World_InsufficientBalance",
1054
- "nameLocation": "808:25:38",
1120
+ "nameLocation": "2920:25:38",
1055
1121
  "parameters": {
1056
- "id": 23115,
1122
+ "id": 23143,
1057
1123
  "nodeType": "ParameterList",
1058
1124
  "parameters": [
1059
1125
  {
1060
1126
  "constant": false,
1061
- "id": 23112,
1127
+ "id": 23140,
1062
1128
  "mutability": "mutable",
1063
1129
  "name": "balance",
1064
- "nameLocation": "842:7:38",
1130
+ "nameLocation": "2954:7:38",
1065
1131
  "nodeType": "VariableDeclaration",
1066
- "scope": 23116,
1067
- "src": "834:15:38",
1132
+ "scope": 23144,
1133
+ "src": "2946:15:38",
1068
1134
  "stateVariable": false,
1069
1135
  "storageLocation": "default",
1070
1136
  "typeDescriptions": {
@@ -1072,10 +1138,10 @@
1072
1138
  "typeString": "uint256"
1073
1139
  },
1074
1140
  "typeName": {
1075
- "id": 23111,
1141
+ "id": 23139,
1076
1142
  "name": "uint256",
1077
1143
  "nodeType": "ElementaryTypeName",
1078
- "src": "834:7:38",
1144
+ "src": "2946:7:38",
1079
1145
  "typeDescriptions": {
1080
1146
  "typeIdentifier": "t_uint256",
1081
1147
  "typeString": "uint256"
@@ -1085,13 +1151,13 @@
1085
1151
  },
1086
1152
  {
1087
1153
  "constant": false,
1088
- "id": 23114,
1154
+ "id": 23142,
1089
1155
  "mutability": "mutable",
1090
1156
  "name": "amount",
1091
- "nameLocation": "859:6:38",
1157
+ "nameLocation": "2971:6:38",
1092
1158
  "nodeType": "VariableDeclaration",
1093
- "scope": 23116,
1094
- "src": "851:14:38",
1159
+ "scope": 23144,
1160
+ "src": "2963:14:38",
1095
1161
  "stateVariable": false,
1096
1162
  "storageLocation": "default",
1097
1163
  "typeDescriptions": {
@@ -1099,10 +1165,10 @@
1099
1165
  "typeString": "uint256"
1100
1166
  },
1101
1167
  "typeName": {
1102
- "id": 23113,
1168
+ "id": 23141,
1103
1169
  "name": "uint256",
1104
1170
  "nodeType": "ElementaryTypeName",
1105
- "src": "851:7:38",
1171
+ "src": "2963:7:38",
1106
1172
  "typeDescriptions": {
1107
1173
  "typeIdentifier": "t_uint256",
1108
1174
  "typeString": "uint256"
@@ -1111,30 +1177,36 @@
1111
1177
  "visibility": "internal"
1112
1178
  }
1113
1179
  ],
1114
- "src": "833:33:38"
1180
+ "src": "2945:33:38"
1115
1181
  }
1116
1182
  },
1117
1183
  {
1118
- "id": 23122,
1184
+ "id": 23151,
1119
1185
  "nodeType": "ErrorDefinition",
1120
- "src": "870:79:38",
1186
+ "src": "3196:79:38",
1121
1187
  "nodes": [],
1188
+ "documentation": {
1189
+ "id": 23145,
1190
+ "nodeType": "StructuredDocumentation",
1191
+ "src": "2983:210:38",
1192
+ "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."
1193
+ },
1122
1194
  "errorSelector": "74b5e6ff",
1123
1195
  "name": "World_InterfaceNotSupported",
1124
- "nameLocation": "876:27:38",
1196
+ "nameLocation": "3202:27:38",
1125
1197
  "parameters": {
1126
- "id": 23121,
1198
+ "id": 23150,
1127
1199
  "nodeType": "ParameterList",
1128
1200
  "parameters": [
1129
1201
  {
1130
1202
  "constant": false,
1131
- "id": 23118,
1203
+ "id": 23147,
1132
1204
  "mutability": "mutable",
1133
1205
  "name": "contractAddress",
1134
- "nameLocation": "912:15:38",
1206
+ "nameLocation": "3238:15:38",
1135
1207
  "nodeType": "VariableDeclaration",
1136
- "scope": 23122,
1137
- "src": "904:23:38",
1208
+ "scope": 23151,
1209
+ "src": "3230:23:38",
1138
1210
  "stateVariable": false,
1139
1211
  "storageLocation": "default",
1140
1212
  "typeDescriptions": {
@@ -1142,10 +1214,10 @@
1142
1214
  "typeString": "address"
1143
1215
  },
1144
1216
  "typeName": {
1145
- "id": 23117,
1217
+ "id": 23146,
1146
1218
  "name": "address",
1147
1219
  "nodeType": "ElementaryTypeName",
1148
- "src": "904:7:38",
1220
+ "src": "3230:7:38",
1149
1221
  "stateMutability": "nonpayable",
1150
1222
  "typeDescriptions": {
1151
1223
  "typeIdentifier": "t_address",
@@ -1156,13 +1228,13 @@
1156
1228
  },
1157
1229
  {
1158
1230
  "constant": false,
1159
- "id": 23120,
1231
+ "id": 23149,
1160
1232
  "mutability": "mutable",
1161
1233
  "name": "interfaceId",
1162
- "nameLocation": "936:11:38",
1234
+ "nameLocation": "3262:11:38",
1163
1235
  "nodeType": "VariableDeclaration",
1164
- "scope": 23122,
1165
- "src": "929:18:38",
1236
+ "scope": 23151,
1237
+ "src": "3255:18:38",
1166
1238
  "stateVariable": false,
1167
1239
  "storageLocation": "default",
1168
1240
  "typeDescriptions": {
@@ -1170,10 +1242,10 @@
1170
1242
  "typeString": "bytes4"
1171
1243
  },
1172
1244
  "typeName": {
1173
- "id": 23119,
1245
+ "id": 23148,
1174
1246
  "name": "bytes4",
1175
1247
  "nodeType": "ElementaryTypeName",
1176
- "src": "929:6:38",
1248
+ "src": "3255:6:38",
1177
1249
  "typeDescriptions": {
1178
1250
  "typeIdentifier": "t_bytes4",
1179
1251
  "typeString": "bytes4"
@@ -1182,30 +1254,36 @@
1182
1254
  "visibility": "internal"
1183
1255
  }
1184
1256
  ],
1185
- "src": "903:45:38"
1257
+ "src": "3229:45:38"
1186
1258
  }
1187
1259
  },
1188
1260
  {
1189
- "id": 23131,
1261
+ "id": 23161,
1190
1262
  "nodeType": "ErrorDefinition",
1191
- "src": "952:97:38",
1263
+ "src": "3525:97:38",
1192
1264
  "nodes": [],
1265
+ "documentation": {
1266
+ "id": 23152,
1267
+ "nodeType": "StructuredDocumentation",
1268
+ "src": "3279:243:38",
1269
+ "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."
1270
+ },
1193
1271
  "errorSelector": "5c30fb6f",
1194
1272
  "name": "World_InvalidResourceType",
1195
- "nameLocation": "958:25:38",
1273
+ "nameLocation": "3531:25:38",
1196
1274
  "parameters": {
1197
- "id": 23130,
1275
+ "id": 23160,
1198
1276
  "nodeType": "ParameterList",
1199
1277
  "parameters": [
1200
1278
  {
1201
1279
  "constant": false,
1202
- "id": 23124,
1280
+ "id": 23154,
1203
1281
  "mutability": "mutable",
1204
1282
  "name": "expected",
1205
- "nameLocation": "991:8:38",
1283
+ "nameLocation": "3564:8:38",
1206
1284
  "nodeType": "VariableDeclaration",
1207
- "scope": 23131,
1208
- "src": "984:15:38",
1285
+ "scope": 23161,
1286
+ "src": "3557:15:38",
1209
1287
  "stateVariable": false,
1210
1288
  "storageLocation": "default",
1211
1289
  "typeDescriptions": {
@@ -1213,10 +1291,10 @@
1213
1291
  "typeString": "bytes2"
1214
1292
  },
1215
1293
  "typeName": {
1216
- "id": 23123,
1294
+ "id": 23153,
1217
1295
  "name": "bytes2",
1218
1296
  "nodeType": "ElementaryTypeName",
1219
- "src": "984:6:38",
1297
+ "src": "3557:6:38",
1220
1298
  "typeDescriptions": {
1221
1299
  "typeIdentifier": "t_bytes2",
1222
1300
  "typeString": "bytes2"
@@ -1226,36 +1304,36 @@
1226
1304
  },
1227
1305
  {
1228
1306
  "constant": false,
1229
- "id": 23127,
1307
+ "id": 23157,
1230
1308
  "mutability": "mutable",
1231
1309
  "name": "resourceId",
1232
- "nameLocation": "1012:10:38",
1310
+ "nameLocation": "3585:10:38",
1233
1311
  "nodeType": "VariableDeclaration",
1234
- "scope": 23131,
1235
- "src": "1001:21:38",
1312
+ "scope": 23161,
1313
+ "src": "3574:21:38",
1236
1314
  "stateVariable": false,
1237
1315
  "storageLocation": "default",
1238
1316
  "typeDescriptions": {
1239
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26191",
1317
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26238",
1240
1318
  "typeString": "ResourceId"
1241
1319
  },
1242
1320
  "typeName": {
1243
- "id": 23126,
1321
+ "id": 23156,
1244
1322
  "nodeType": "UserDefinedTypeName",
1245
1323
  "pathNode": {
1246
- "id": 23125,
1324
+ "id": 23155,
1247
1325
  "name": "ResourceId",
1248
1326
  "nameLocations": [
1249
- "1001:10:38"
1327
+ "3574:10:38"
1250
1328
  ],
1251
1329
  "nodeType": "IdentifierPath",
1252
- "referencedDeclaration": 26191,
1253
- "src": "1001:10:38"
1330
+ "referencedDeclaration": 26238,
1331
+ "src": "3574:10:38"
1254
1332
  },
1255
- "referencedDeclaration": 26191,
1256
- "src": "1001:10:38",
1333
+ "referencedDeclaration": 26238,
1334
+ "src": "3574:10:38",
1257
1335
  "typeDescriptions": {
1258
- "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26191",
1336
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$26238",
1259
1337
  "typeString": "ResourceId"
1260
1338
  }
1261
1339
  },
@@ -1263,13 +1341,13 @@
1263
1341
  },
1264
1342
  {
1265
1343
  "constant": false,
1266
- "id": 23129,
1344
+ "id": 23159,
1267
1345
  "mutability": "mutable",
1268
1346
  "name": "resourceIdString",
1269
- "nameLocation": "1031:16:38",
1347
+ "nameLocation": "3604:16:38",
1270
1348
  "nodeType": "VariableDeclaration",
1271
- "scope": 23131,
1272
- "src": "1024:23:38",
1349
+ "scope": 23161,
1350
+ "src": "3597:23:38",
1273
1351
  "stateVariable": false,
1274
1352
  "storageLocation": "default",
1275
1353
  "typeDescriptions": {
@@ -1277,10 +1355,10 @@
1277
1355
  "typeString": "string"
1278
1356
  },
1279
1357
  "typeName": {
1280
- "id": 23128,
1358
+ "id": 23158,
1281
1359
  "name": "string",
1282
1360
  "nodeType": "ElementaryTypeName",
1283
- "src": "1024:6:38",
1361
+ "src": "3597:6:38",
1284
1362
  "typeDescriptions": {
1285
1363
  "typeIdentifier": "t_string_storage_ptr",
1286
1364
  "typeString": "string"
@@ -1289,30 +1367,36 @@
1289
1367
  "visibility": "internal"
1290
1368
  }
1291
1369
  ],
1292
- "src": "983:65:38"
1370
+ "src": "3556:65:38"
1293
1371
  }
1294
1372
  },
1295
1373
  {
1296
- "id": 23135,
1374
+ "id": 23166,
1297
1375
  "nodeType": "ErrorDefinition",
1298
- "src": "1052:56:38",
1376
+ "src": "3792:56:38",
1299
1377
  "nodes": [],
1378
+ "documentation": {
1379
+ "id": 23162,
1380
+ "nodeType": "StructuredDocumentation",
1381
+ "src": "3626:163:38",
1382
+ "text": " @notice Raised when the World is calling itself via an external call.\n @param functionSelector The function selector of the disallowed callback."
1383
+ },
1300
1384
  "errorSelector": "9e85182c",
1301
1385
  "name": "World_CallbackNotAllowed",
1302
- "nameLocation": "1058:24:38",
1386
+ "nameLocation": "3798:24:38",
1303
1387
  "parameters": {
1304
- "id": 23134,
1388
+ "id": 23165,
1305
1389
  "nodeType": "ParameterList",
1306
1390
  "parameters": [
1307
1391
  {
1308
1392
  "constant": false,
1309
- "id": 23133,
1393
+ "id": 23164,
1310
1394
  "mutability": "mutable",
1311
1395
  "name": "functionSelector",
1312
- "nameLocation": "1090:16:38",
1396
+ "nameLocation": "3830:16:38",
1313
1397
  "nodeType": "VariableDeclaration",
1314
- "scope": 23135,
1315
- "src": "1083:23:38",
1398
+ "scope": 23166,
1399
+ "src": "3823:23:38",
1316
1400
  "stateVariable": false,
1317
1401
  "storageLocation": "default",
1318
1402
  "typeDescriptions": {
@@ -1320,10 +1404,10 @@
1320
1404
  "typeString": "bytes4"
1321
1405
  },
1322
1406
  "typeName": {
1323
- "id": 23132,
1407
+ "id": 23163,
1324
1408
  "name": "bytes4",
1325
1409
  "nodeType": "ElementaryTypeName",
1326
- "src": "1083:6:38",
1410
+ "src": "3823:6:38",
1327
1411
  "typeDescriptions": {
1328
1412
  "typeIdentifier": "t_bytes4",
1329
1413
  "typeString": "bytes4"
@@ -1332,7 +1416,7 @@
1332
1416
  "visibility": "internal"
1333
1417
  }
1334
1418
  ],
1335
- "src": "1082:25:38"
1419
+ "src": "3822:25:38"
1336
1420
  }
1337
1421
  }
1338
1422
  ],
@@ -1341,28 +1425,34 @@
1341
1425
  "canonicalName": "IWorldErrors",
1342
1426
  "contractDependencies": [],
1343
1427
  "contractKind": "interface",
1428
+ "documentation": {
1429
+ "id": 23078,
1430
+ "nodeType": "StructuredDocumentation",
1431
+ "src": "127:215:38",
1432
+ "text": " @title World Errors Interface\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."
1433
+ },
1344
1434
  "fullyImplemented": true,
1345
1435
  "linearizedBaseContracts": [
1346
- 23136
1436
+ 23167
1347
1437
  ],
1348
1438
  "name": "IWorldErrors",
1349
- "nameLocation": "137:12:38",
1350
- "scope": 23137,
1439
+ "nameLocation": "353:12:38",
1440
+ "scope": 23168,
1351
1441
  "usedErrors": [
1352
- 23063,
1353
- 23070,
1354
- 23077,
1355
- 23083,
1356
- 23090,
1357
- 23094,
1358
- 23098,
1359
- 23102,
1360
- 23108,
1361
- 23110,
1362
- 23116,
1442
+ 23081,
1443
+ 23089,
1444
+ 23097,
1445
+ 23104,
1446
+ 23112,
1447
+ 23117,
1363
1448
  23122,
1364
- 23131,
1365
- 23135
1449
+ 23127,
1450
+ 23134,
1451
+ 23137,
1452
+ 23144,
1453
+ 23151,
1454
+ 23161,
1455
+ 23166
1366
1456
  ],
1367
1457
  "usedEvents": []
1368
1458
  }