@latticexyz/world 2.0.0-alpha.1.21 → 2.0.0-alpha.1.22

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 (133) hide show
  1. package/abi/AccessControl.sol/AccessControl.json +241 -241
  2. package/abi/AccessManagementSystem.sol/AccessManagementSystem.json +157 -157
  3. package/abi/AddressArray.sol/AddressArray.json +1124 -1124
  4. package/abi/ArrayLib.sol/ArrayLib.json +139 -139
  5. package/abi/Bool.sol/Bool.json +704 -704
  6. package/abi/Bytes.sol/Bytes.json +6 -6
  7. package/abi/Call.sol/Call.json +112 -112
  8. package/abi/Callbacks.sol/Callbacks.json +1100 -1100
  9. package/abi/CoreModule.sol/CoreModule.json +542 -542
  10. package/abi/CoreSystem.sol/CoreSystem.json +92 -92
  11. package/abi/DecodeSlice.sol/DecodeSlice.json +3891 -3891
  12. package/abi/EncodeArray.sol/EncodeArray.json +3344 -3344
  13. package/abi/FunctionSelectors.sol/FunctionSelectors.json +1678 -1678
  14. package/abi/Hooks.sol/Hooks.json +1100 -1100
  15. package/abi/IAccessManagementSystem.sol/IAccessManagementSystem.json +32 -32
  16. package/abi/IBaseWorld.sol/IBaseWorld.json +224 -99
  17. package/abi/ICoreSystem.sol/ICoreSystem.json +6 -6
  18. package/abi/IModule.sol/IModule.json +28 -28
  19. package/abi/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +40 -40
  20. package/abi/IStore.sol/IStore.json +551 -349
  21. package/abi/IStore.sol/IStoreData.json +551 -349
  22. package/abi/IStore.sol/IStoreHook.json +495 -349
  23. package/abi/IStore.sol/IStoreRead.json +495 -349
  24. package/abi/IStore.sol/IStoreRegistration.json +495 -349
  25. package/abi/IStore.sol/IStoreWrite.json +551 -349
  26. package/abi/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.json +80 -80
  27. package/abi/ISystemHook.sol/ISystemHook.json +19 -19
  28. package/abi/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +13 -13
  29. package/abi/IWorldKernel.sol/IWorldCall.json +455 -276
  30. package/abi/IWorldKernel.sol/IWorldData.json +524 -276
  31. package/abi/IWorldKernel.sol/IWorldKernel.json +524 -276
  32. package/abi/IWorldKernel.sol/IWorldModuleInstallation.json +455 -276
  33. package/abi/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +198 -198
  34. package/abi/InstalledModules.sol/InstalledModules.json +1351 -1351
  35. package/abi/KeysWithValue.sol/KeysWithValue.json +1124 -1124
  36. package/abi/KeysWithValueHook.sol/KeysWithValueHook.json +416 -416
  37. package/abi/KeysWithValueModule.sol/KeysWithValueModule.json +293 -293
  38. package/abi/Memory.sol/Memory.json +131 -131
  39. package/abi/Mixed.sol/Mixed.json +2781 -2781
  40. package/abi/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +138 -138
  41. package/abi/NamespaceOwner.sol/NamespaceOwner.json +782 -782
  42. package/abi/PackedCounter.sol/PackedCounterLib.json +665 -665
  43. package/abi/ResourceAccess.sol/ResourceAccess.json +926 -926
  44. package/abi/ResourceSelector.sol/ResourceSelector.json +253 -253
  45. package/abi/ResourceType.sol/ResourceType.json +831 -831
  46. package/abi/Schema.sol/SchemaLib.json +1469 -1469
  47. package/abi/SchemaType.sol/SchemaType.json +315 -315
  48. package/abi/Slice.sol/SliceInstance.json +429 -429
  49. package/abi/Slice.sol/SliceLib.json +429 -429
  50. package/abi/Storage.sol/Storage.json +1024 -1061
  51. package/abi/StoreCore.sol/StoreCore.json +10434 -7652
  52. package/abi/StoreCore.sol/StoreCoreExtended.json +10434 -7652
  53. package/abi/StoreCore.sol/StoreCoreInternal.json +10434 -7652
  54. package/abi/StoreMetadata.sol/StoreMetadata.json +2116 -2116
  55. package/abi/StoreRead.sol/StoreRead.json +247 -247
  56. package/abi/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +339 -339
  57. package/abi/StoreSwitch.sol/StoreSwitch.json +1814 -1359
  58. package/abi/System.sol/System.json +31 -31
  59. package/abi/SystemRegistry.sol/SystemRegistry.json +794 -794
  60. package/abi/Systems.sol/Systems.json +1412 -1412
  61. package/abi/TableId.sol/TableId.json +27 -27
  62. package/abi/Tables.sol/Tables.json +92 -92
  63. package/abi/TightCoder.sol/TightCoder.json +275 -275
  64. package/abi/Types.sol/Types.json +8 -8
  65. package/abi/UniqueEntity.sol/UniqueEntity.json +683 -683
  66. package/abi/UniqueEntityModule.sol/UniqueEntityModule.json +232 -232
  67. package/abi/UniqueEntitySystem.sol/UniqueEntitySystem.json +114 -114
  68. package/abi/Utils.sol/Utils.json +67 -67
  69. package/abi/Vector2.sol/Vector2.json +1473 -1473
  70. package/abi/World.sol/World.json +2426 -1491
  71. package/abi/WorldContext.sol/WorldContext.json +65 -65
  72. package/abi/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1140 -1140
  73. package/abi/console.sol/console.json +11417 -11417
  74. package/abi/constants.sol/constants.json +34 -34
  75. package/abi/getKeysWithValue.sol/getKeysWithValue.json +129 -129
  76. package/abi/getTargetTableSelector.sol/getTargetTableSelector.json +75 -75
  77. package/abi/getUniqueEntity.sol/getUniqueEntity.json +88 -88
  78. package/abi/interfaces/IErrors.sol/IErrors.json +57 -57
  79. package/abi/src/Bytes.sol/Bytes.json +1225 -1225
  80. package/abi/src/IStore.sol/IStore.json +727 -525
  81. package/abi/src/IStore.sol/IStoreData.json +727 -525
  82. package/abi/src/IStore.sol/IStoreHook.json +671 -525
  83. package/abi/src/IStore.sol/IStoreRead.json +671 -525
  84. package/abi/src/IStore.sol/IStoreRegistration.json +671 -525
  85. package/abi/src/IStore.sol/IStoreWrite.json +727 -525
  86. package/abi/src/Memory.sol/Memory.json +131 -131
  87. package/abi/src/PackedCounter.sol/PackedCounterLib.json +683 -683
  88. package/abi/src/Schema.sol/SchemaLib.json +1493 -1493
  89. package/abi/src/Slice.sol/SliceInstance.json +429 -429
  90. package/abi/src/Slice.sol/SliceLib.json +429 -429
  91. package/abi/src/StoreCore.sol/StoreCore.json +12500 -9718
  92. package/abi/src/StoreCore.sol/StoreCoreExtended.json +12500 -9718
  93. package/abi/src/StoreCore.sol/StoreCoreInternal.json +12500 -9718
  94. package/abi/src/StoreSwitch.sol/StoreSwitch.json +1822 -1367
  95. package/abi/tightcoder/EncodeArray.sol/EncodeArray.json +3344 -3344
  96. package/package.json +6 -6
  97. package/src/World.sol +32 -0
  98. package/src/interfaces/IWorldKernel.sol +12 -0
  99. package/types/ethers-contracts/IBaseWorld.ts +116 -0
  100. package/types/ethers-contracts/IStore.sol/IStore.ts +55 -0
  101. package/types/ethers-contracts/IStore.sol/IStoreData.ts +55 -0
  102. package/types/ethers-contracts/IStore.sol/IStoreWrite.ts +55 -0
  103. package/types/ethers-contracts/IWorldKernel.sol/IWorldData.ts +61 -0
  104. package/types/ethers-contracts/IWorldKernel.sol/IWorldKernel.ts +61 -0
  105. package/types/ethers-contracts/World.ts +116 -0
  106. package/types/ethers-contracts/factories/AccessManagementSystem__factory.ts +1 -1
  107. package/types/ethers-contracts/factories/CoreModule__factory.ts +1 -1
  108. package/types/ethers-contracts/factories/CoreSystem__factory.ts +1 -1
  109. package/types/ethers-contracts/factories/IBaseWorld__factory.ts +61 -0
  110. package/types/ethers-contracts/factories/IStore.sol/IStoreData__factory.ts +28 -0
  111. package/types/ethers-contracts/factories/IStore.sol/IStoreWrite__factory.ts +28 -0
  112. package/types/ethers-contracts/factories/IStore.sol/IStore__factory.ts +28 -0
  113. package/types/ethers-contracts/factories/IWorldKernel.sol/IWorldData__factory.ts +33 -0
  114. package/types/ethers-contracts/factories/IWorldKernel.sol/IWorldKernel__factory.ts +33 -0
  115. package/types/ethers-contracts/factories/KeysWithValueHook__factory.ts +1 -1
  116. package/types/ethers-contracts/factories/KeysWithValueModule__factory.ts +1 -1
  117. package/types/ethers-contracts/factories/ModuleInstallationSystem__factory.ts +1 -1
  118. package/types/ethers-contracts/factories/StoreCore__factory.ts +1 -1
  119. package/types/ethers-contracts/factories/StoreRead__factory.ts +1 -1
  120. package/types/ethers-contracts/factories/StoreRegistrationSystem__factory.ts +1 -1
  121. package/types/ethers-contracts/factories/StoreSwitch__factory.ts +1 -1
  122. package/types/ethers-contracts/factories/UniqueEntityModule__factory.ts +1 -1
  123. package/types/ethers-contracts/factories/UniqueEntitySystem__factory.ts +1 -1
  124. package/types/ethers-contracts/factories/WorldRegistrationSystem__factory.ts +1 -1
  125. package/types/ethers-contracts/factories/World__factory.ts +62 -1
  126. package/types/ethers-contracts/factories/src/IStore.sol/IStoreData__factory.ts +28 -0
  127. package/types/ethers-contracts/factories/src/IStore.sol/IStoreWrite__factory.ts +28 -0
  128. package/types/ethers-contracts/factories/src/IStore.sol/IStore__factory.ts +28 -0
  129. package/types/ethers-contracts/factories/src/StoreCore__factory.ts +1 -1
  130. package/types/ethers-contracts/factories/src/StoreSwitch__factory.ts +1 -1
  131. package/types/ethers-contracts/src/IStore.sol/IStore.ts +55 -0
  132. package/types/ethers-contracts/src/IStore.sol/IStoreData.ts +55 -0
  133. package/types/ethers-contracts/src/IStore.sol/IStoreWrite.ts +55 -0
@@ -424,6 +424,67 @@
424
424
  "stateMutability": "view",
425
425
  "type": "function"
426
426
  },
427
+ {
428
+ "inputs": [
429
+ {
430
+ "internalType": "bytes16",
431
+ "name": "namespace",
432
+ "type": "bytes16"
433
+ },
434
+ {
435
+ "internalType": "bytes16",
436
+ "name": "name",
437
+ "type": "bytes16"
438
+ },
439
+ {
440
+ "internalType": "bytes32[]",
441
+ "name": "key",
442
+ "type": "bytes32[]"
443
+ },
444
+ {
445
+ "internalType": "uint8",
446
+ "name": "schemaIndex",
447
+ "type": "uint8"
448
+ },
449
+ {
450
+ "internalType": "uint256",
451
+ "name": "byteLengthToPop",
452
+ "type": "uint256"
453
+ }
454
+ ],
455
+ "name": "popFromField",
456
+ "outputs": [],
457
+ "stateMutability": "nonpayable",
458
+ "type": "function"
459
+ },
460
+ {
461
+ "inputs": [
462
+ {
463
+ "internalType": "bytes32",
464
+ "name": "table",
465
+ "type": "bytes32"
466
+ },
467
+ {
468
+ "internalType": "bytes32[]",
469
+ "name": "key",
470
+ "type": "bytes32[]"
471
+ },
472
+ {
473
+ "internalType": "uint8",
474
+ "name": "schemaIndex",
475
+ "type": "uint8"
476
+ },
477
+ {
478
+ "internalType": "uint256",
479
+ "name": "byteLengthToPop",
480
+ "type": "uint256"
481
+ }
482
+ ],
483
+ "name": "popFromField",
484
+ "outputs": [],
485
+ "stateMutability": "nonpayable",
486
+ "type": "function"
487
+ },
427
488
  {
428
489
  "inputs": [
429
490
  {
@@ -1025,6 +1086,8 @@
1025
1086
  "installModule(address,bytes)": "8da798da",
1026
1087
  "installRootModule(address,bytes)": "af068c9e",
1027
1088
  "isStore()": "a5c2f007",
1089
+ "popFromField(bytes16,bytes16,bytes32[],uint8,uint256)": "77841557",
1090
+ "popFromField(bytes32,bytes32[],uint8,uint256)": "8c1f9a54",
1028
1091
  "pushToField(bytes16,bytes16,bytes32[],uint8,bytes)": "6e627cb8",
1029
1092
  "pushToField(bytes32,bytes32[],uint8,bytes)": "0c1a6000",
1030
1093
  "registerFunctionSelector(bytes16,bytes16,string,string)": "ca4c1f5e",
@@ -1047,7 +1110,7 @@
1047
1110
  "updateInField(bytes16,bytes16,bytes32[],uint8,uint256,bytes)": "d491953a",
1048
1111
  "updateInField(bytes32,bytes32[],uint8,uint256,bytes)": "776d4047"
1049
1112
  },
1050
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"InvalidSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"module\",\"type\":\"string\"}],\"name\":\"ModuleAlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"SystemExists\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"StoreDeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetField\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetRecord\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes\",\"name\":\"funcSelectorAndArgs\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isStore\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"string\",\"name\":\"systemFunctionName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionArguments\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"name\":\"registerSchema\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"name\":\"registerTable\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerTableHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"string\",\"name\":\"tableName\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"setMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableName\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"setMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"startByteIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"dataToSet\",\"type\":\"bytes\"}],\"name\":\"updateInField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"startByteIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"dataToSet\",\"type\":\"bytes\"}],\"name\":\"updateInField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"call(bytes16,bytes16,bytes)\":{\"notice\":\"Call the system at the given namespace and name. If the system is not public, the caller must have access to the namespace or name.\"},\"deleteRecord(bytes16,bytes16,bytes32[])\":{\"notice\":\"Delete a record in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World. Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\"},\"pushToField(bytes16,bytes16,bytes32[],uint8,bytes)\":{\"notice\":\"Push data to the end of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"setField(bytes16,bytes16,bytes32[],uint8,bytes)\":{\"notice\":\"Write a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"setRecord(bytes16,bytes16,bytes32[],bytes)\":{\"notice\":\"Write a record in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"updateInField(bytes16,bytes16,bytes32[],uint8,uint256,bytes)\":{\"notice\":\"Update data at `startByteIndex` of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"}},\"notice\":\"The IBaseWorld interface includes all systems dynamically added to the World during the deploy process.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IBaseWorld.sol\":\"IBaseWorld\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0xe881f296ba0fe410faa6395ee4a65b9bf154947aebc6aa323d41a0484504221e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba7f706464d14365ff751936ba96f79f200df7bcd9d9f8abccd0b41387ca7967\",\"dweb:/ipfs/QmTiHgH3ZM2oJoqsbNs3iwwPFNYFNU7m8co87woxRLaUZ6\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x117331c70b8cda783991a6b3e14861176068086526548d334cef8e1c24e16d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://613026caf6782e8a4ad0f366781fc13141492b667a723bdea69250c9b517c790\",\"dweb:/ipfs/QmQqwBSjcrDUoVvmXxeKZZpyGSEpeMTh2QZRExQTdZLrCt\"]},\"node_modules/@latticexyz/store/src/IErrors.sol\":{\"keccak256\":\"0xc29b8d9d2597c6e9fcfbb37714cfa02270983c95e5a54b4c70eb9d99abcfe4e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df9591141bec48fb57df31c0c5632085d5347d194292b14b479930bac5c8274\",\"dweb:/ipfs/Qmaa3yV9YeJ14wYyWcFYHjAhRc9qaU6WrejNAmdSP7oQRV\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x83954f095b02ffb6ea0d391ecf6092e8304b03119dced171fbce4ee7483d3de2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02aeafbedef0b4d5845cd8e707673872fd4fc165fe8508ad348506f053e73ee5\",\"dweb:/ipfs/QmcE33C9Mw7fdnhHKmrabwzBH2JyjF4XCG3S4D9AtzMXs2\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x706d0d1ddd874bdcd4f73422721420b32939c1c96d4718db8b1b8e9f78bfa76c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed8c858fa9c3756cb70cb92bb860e0ae6429eb62551b502fb4a883e1344eb42\",\"dweb:/ipfs/QmezLAADZmFj8bKS9dccTQYHcpy4g8PSZ75AuvppSwjrW7\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xd3d6a9bb72f5580e7b9794530a186e05e8d6da7c9172cb01e62fcc6e558dd052\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0625cb2a0d0e544800dff8194182aa440e1e6d61cc77b9e2d8d0186bce261146\",\"dweb:/ipfs/QmRmWWwTaJ7JPZZnJXavjJNXBzEjaK4KEzxaWj5MeJQUuH\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xf06793dc2e9e9994403d29125359eb2f326b0e6e502d51a8e6e4e45fc9d90a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cb23bf421b29839200e5584a770186309dd05cd77d4345c964f47528117a244\",\"dweb:/ipfs/QmQBvrDAtoqibky7CjCLKxGz3MquxK1iNk2Yac55Lc4xF5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x14879c6c859cad89451616dcee1ab6222fd565849809b89407de48f0c1a01133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924caa18aa0e656a295da626d586dfb120bbea321123010462b0640c7e0c52c4\",\"dweb:/ipfs/QmNueqwy4g5mwq9kXaPzue8X2mqyFjH2P2AFi3pNN3WTAt\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x86e1be7e58fbd1535c533a829f8a78c65136af92c9066e7d99d221a91dde8f9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d5e232aefc4a518b0cc724b4b22e7b059a7bdde02e6512b627ce8693749c8de\",\"dweb:/ipfs/QmYsxGsak61jdiyq921tKzbWC7AtgA5FVsqsT1UL6CqzPT\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0xce2d227fc668c385bfded0a5af295a63363eb02233bafb60b4acbf048d4d4500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://597a716eed53c2bbbc911f94e7b6440684210dec82f9dbcb31c1f18fe10d3e8e\",\"dweb:/ipfs/QmSyaRAoh56KznH1zEArkwNUg3b6r8tanP7EALnZBcs5DE\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x1f0ba0265027e9f6e945ce3ab319bafb5312f285f82bdcc2f2beabd9d7e99d64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa22ad06665c32e8794eea0f93d8b9e3ce08d752d37a08a669688eb53f8faa08\",\"dweb:/ipfs/QmYLTumckjQcZwt7vCj2YzM91N5mtwaSQBLEYkBJPCpMtm\"]},\"node_modules/@latticexyz/store/src/TableId.sol\":{\"keccak256\":\"0x8c55662dc4f66be577bb96bfdcb65d95fe1323c733443ab749cb9ec1e58f0a6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://209ed70247c1c64b56d9b21f2902e67e0994cb89ac19be8e1553dac9d978fb76\",\"dweb:/ipfs/QmVLYNDwBL3GZidDpwqFZx916zoGZ5tWVztxKQFEEzVybP\"]},\"node_modules/@latticexyz/store/src/Utils.sol\":{\"keccak256\":\"0x426216bfa1c0e70640787007a6e39257cf09e586fd04831ea4fb3dd9c5768fc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38e657fa9cfaebe39477eaff27d1ad4d7eeaf0c0058539d2ec7e6976d93df4f4\",\"dweb:/ipfs/QmRuaxqRjUrHHC2ZyTnpmq6sfrWGCDh91B6F5chFAToU6U\"]},\"node_modules/@latticexyz/store/src/codegen/Tables.sol\":{\"keccak256\":\"0x2eba8dd4e9f07b505438a2fb744ac7da26b1f6321b8a88054e9442db947ab435\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd1a60dfff209a3f1df84aeb5d7f8a5cf0419c19be63bac428df0a779d5ba437\",\"dweb:/ipfs/QmaHem2GMJPHrtr1f7fk1ThTBESdYipmBxEEoKT1DBRmsd\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Callbacks.sol\":{\"keccak256\":\"0x81f25ea159146621a7add30f6701d4787bdf828f8782488d5f9be3eb9b965130\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64c3fdcafe59b27faaf03d5102b83defad59679099d9d1616b2d928ab1e86727\",\"dweb:/ipfs/Qmdr1W6j6bHnE7tjjLMo3G4sAWr4mKePWGDycPEDuKUAJX\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc06e9aef4d145b3e10c1b210ea48a609744638609674c74bc7f77628f1b051d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94ea702795469b50d8c2cab53869caa456fe17d8b850445c59b9a1fd516d4b75\",\"dweb:/ipfs/QmNyiNVHyL2YnhiJfCpfjgNq7bSqCHghfS9wgQ8tTQ5x6e\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Mixed.sol\":{\"keccak256\":\"0xe48f64075029fd088e33201f451bf3fe9baed3db4360a58f7c710e5fd904fb21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e58e6ee54b6681f9ccb39259c4e22e74fdc1876c915c0143048810b03f4b3be\",\"dweb:/ipfs/QmQrxD8NDMd9DvrY5A9f1uRBjPwMgppoGn7w8R79qgdXuo\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreMetadata.sol\":{\"keccak256\":\"0x03eac5a0bbface43a3a01da3226443356a7aeeb6a88a063f6d9d18551613346c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f681ef065f0fed547f2675f4f21d8dd38e6d4845cccff0ac01e3d5b7b1a5c156\",\"dweb:/ipfs/QmcjEWQghNK2g1QHRqUWRmDXwweWhZTAJNRdyhyLpJf1V4\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Vector2.sol\":{\"keccak256\":\"0x6f77096a6301fa2438365eb4c577e5086f4e45369be801705f2a064af7de0d51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44b3fa75b4475ff46cbdb9bc9907a766716090e077e1e4a95314b20857a70136\",\"dweb:/ipfs/QmNwqMe3ehQL8aJkvU93nXMSyr9vMCYFXBUdZZ3BqKRKdz\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xe760dfb8ff20cfb44eee6a5f03ac84abbc91382fca2e36c88c92046e6b3a66e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eb4b355c547ffee62031d8dfb80844fa31fa4460543a088278083662dc4c12\",\"dweb:/ipfs/Qmf8sRcrjJ6hEQ8TPwwe6KcXcE2MPw7Juvf7fKBZ1fBCt6\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x046f0a2dc543c7a80be91ff26b19990a10fbe73cb605f4944af38e04326a43df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94f038e70179571d2aed3cbe03e812ce79a471372171fb78e8189bebd7ae1ac\",\"dweb:/ipfs/QmUV4bkaEc8hefLpLRaGwmu4WZsqRLE9e6R8UdaKPExb6p\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xff0278a4e35174bbed8a38dad8ae7506f725bfe95f0b7c13829c353d68dd25dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26249ec0c2fa3a3430a2f8edbfc5cd678e34ea1cf1d7490ecaf1e925c976eb85\",\"dweb:/ipfs/QmUpkhr5kFiDKc7rZ2z5HcTf5PkrWVJu5sa31tYv911cPL\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"src/AccessControl.sol\":{\"keccak256\":\"0x1709609787c064269c201ba1683bb965746ecfffc2fd3ca945665150c1452b61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d40409726d6ebb08666be0c098a45ae2992535d0acb785cd9283daf3173fe45b\",\"dweb:/ipfs/QmdELXD8o41THzejXXWeBBYgb38U5TcK3Q4EygbmBkMRE9\"]},\"src/Call.sol\":{\"keccak256\":\"0x27114d009081f1f0a5c0b62c9ebe30415c76ed02fa46b305202bb5163711d926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a553cf84c877160c8db6978083f09632800032de6dcc5d8a5c3b9c18cabeb578\",\"dweb:/ipfs/QmWyCDz5NobNAHEs1PCftXJzV5oCu5SKfmzfA9BynSccGn\"]},\"src/ResourceSelector.sol\":{\"keccak256\":\"0xf6a1714d556e95fda532f630ac1bd8fd9843e980dffce29f81a29c0b6f02d368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5075e64cc1224bcd8ab46c16f85874ac91efecbf5cbeb82e5c1e3fa4f1a1edfa\",\"dweb:/ipfs/QmTqCVF6k7CMsiUJ223mXumjVyoCCNU2uE9fUHDgBmDdRj\"]},\"src/System.sol\":{\"keccak256\":\"0xf1342c8461adb4c5821c1ca106a67ba34402b36265fa63bf766eed937bd92bf9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea41f96a27a26d56d62824e007b3b0234d44fcd94361e5c8f40fdb334cbf444b\",\"dweb:/ipfs/QmRfj4iS5Lu9V4e47wsPQy4op1qQ6hqaJpERLB5EyzqW38\"]},\"src/Types.sol\":{\"keccak256\":\"0xc5784c3845cb97da4e1147a62163865bfb0090f43a6c3f672d5d69b7806e6545\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e849e5c0f3cf032ae2d5e77117f15cc942aa65f276e63a14feefe5b9bdd8b545\",\"dweb:/ipfs/QmSCpGZSBHjxrKm8LGD5tTEwe16aVd2ugQv5itA648hsVm\"]},\"src/WorldContext.sol\":{\"keccak256\":\"0xd44a445ff07ac1551e5a8f17450381664ecf68dcb1c89fee8fb11b9b73c9cd7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1235cc5636743b9afbb313676fc4c84ac5607142c758b0bfc59107aff79ed30c\",\"dweb:/ipfs/QmUtTUFjxKy7GtQC1Uzn6B2bRNZpcASFySPDjd16T47Rcz\"]},\"src/constants.sol\":{\"keccak256\":\"0xa0ae422aceefe0e7f200448201769e2bc527fa9e647475f65401558a03c0a83d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2473ca8ab5e184b7320c476fd07bdff31ff450fc750ab9eabb9c0a2ee43776e\",\"dweb:/ipfs/QmQ7sBqwPgj4AtsENyzCMFWVQeMzV5uuCN8ygNU2pKYotE\"]},\"src/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xba4f728be36df11f4a988b61a577998d45da89314e26dcfa139e465840cef116\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0226026036fed756d36bde2f2fa9f8ad0ab21595a82740500d187e84a87e5a11\",\"dweb:/ipfs/QmZu2MPVGWvfP59KeKPzJXNt5pd5sqyVqFS1YYANocYsmG\"]},\"src/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x9d15d5ac7512631590eda71cb19937d10a9b253d8a9b61bec54e7b0471b3b785\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b18f736784a0f38d5d6b62733fba106ecb84fc8d1b2390236ab8b162511e38\",\"dweb:/ipfs/QmPdvnPupSTBv8Vi2fRFe7A9NYfVuf2LtbdS1DiWXjHf9D\"]},\"src/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0x21e72828243fbf26d21594a423e9a32e86df07d3e435ea216a27c326546df106\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ac8c4b2cdeddaf458e562e3f236a5c798664443eca1658038540d5585ee090\",\"dweb:/ipfs/QmPbh7JmBcxqJV4YP78zVXpsmCSGnSN6g7M27MTkyUjRgG\"]},\"src/interfaces/IErrors.sol\":{\"keccak256\":\"0x8a8a5caf964d336b38123704893463589b3bf6195405c9929c21291faf0e2f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aa3dcd4d059015580dbcad309db99db7a18fe7c015f1f83f56d84684f27bd14\",\"dweb:/ipfs/QmVpQW1kF4ruDmXtnTSnGRuxr7RtJqo8NwEXtfdA5TVKq1\"]},\"src/interfaces/IModule.sol\":{\"keccak256\":\"0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178\",\"dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf\"]},\"src/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xa46d19a0e2e8291f363ff4af0241d4e20253ffdad61701daf859ed0255eac842\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46829c84dd28d04a060d2b602724589f23ab5f783a22c7dfd7f5c4ecdd41ad5d\",\"dweb:/ipfs/QmVi1ac1q4mX7gpsUH5RRP8tFRj7mYPQr7WzFJdTbUwxxu\"]},\"src/interfaces/ISystemHook.sol\":{\"keccak256\":\"0x6302d7467fb8b6ddf1bc089037e2b5c06441e8f975caf172f4875686b822448d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6adcd8e6d0a1d8c1e027398e5159533561002bb321df887baedcb0fbdc05c91f\",\"dweb:/ipfs/QmXAVXzE6hMysP7SXvxKt6XetH7bnvGVUuXJVJqmG22RSn\"]},\"src/interfaces/IWorldKernel.sol\":{\"keccak256\":\"0x5634912fe97592848fb360d55c442f3b37d6a9e77db46695891f0d5d942138c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a48252b3e5286bd9119aad18366ec8b484334b93872239790717e44f2b125af2\",\"dweb:/ipfs/QmZddb4vrvyKNotTqr3gW3KsrVeH7fDYNv5Tr23uVema4x\"]},\"src/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xddfb5dbefc5b2e53cda52363efac5bb8ae4fb1753c0443623da35be4f216edfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fec23b4a08823f7ed5c95944826c7affa43870dccfdbb76e12843a665961faa5\",\"dweb:/ipfs/QmWdQ8gh4UXQpvpdYvi8unPb8tdba4KRkq2rDA2caiDmx1\"]},\"src/modules/core/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0x0c464af021df4bcc2e8e79d7e8a646a447f4b32cb286de5f45d23da5781fd082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958ff6c39938acad1cc6b39823f6aa358de357dbbc8ec853208e262dd580bd26\",\"dweb:/ipfs/QmPxKoWPNYVorZs8SQhUkwRWEFmD3N5Ry8ZBckDuhtumqD\"]},\"src/modules/core/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0x473a0da9d67d524222a1b69b5358be1ea978bee25f7779adc41c7d94d661b64f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7519eb2ec796dd7ac37a0766f281317f1dfbcdf6a723256bd39e872e56fa2bbf\",\"dweb:/ipfs/QmZ6MAyZWF6f2QstpV33KBPH9ZvoDmHCAHQ8KhMJALQMDj\"]},\"src/modules/core/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x3d8a4cac9dcd5f479faa48b5e5a82f4100615afa674c96e35a840847fedd043e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1f1136dc47239b2032ddbc77f907a2aac632f66f7a8b7f4596e848b2b47263c\",\"dweb:/ipfs/Qmd4XZ8mZs5R1B4oVJwSxxFWGj5VcZ6buKoWPeHJQr6oCu\"]},\"src/modules/core/tables/ResourceType.sol\":{\"keccak256\":\"0x86bbd2b81790839870cdd22ace8b8ac220e9e4c802eaa60d80cbd6317e38b860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc057e0c3e180abc83147f4aa7d5f0137685b6b424305a4d9b524889ea34c4c8\",\"dweb:/ipfs/QmQUsuwGSF15Xe7qxvEiJbR8RgWoLBzjvTjC3gFVio1XXw\"]},\"src/modules/core/tables/SystemRegistry.sol\":{\"keccak256\":\"0x0a1155046675fe9cb96657672edc580e96dedc65795e7218a874950e8c39d0d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e484c6527ce4dce3f8adec9eb43c3d3cc44ecf57405078afe235afd06f706f3d\",\"dweb:/ipfs/QmfUysQS3YRW64KMyMDgYfwcXJJ8CrQsntwpD8bh22d91Y\"]},\"src/modules/core/tables/Systems.sol\":{\"keccak256\":\"0x4bac2d11ed8b4c4ebd9a5ad7fe194c23c799d21aa222877896f0781c71c46eec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8df7240855a018acdc348724c495110ef8313841bfb33a1fe4bd2c67c378cbc\",\"dweb:/ipfs/QmevZAkn4ohkjUzzTp1nYEFENKTt8p8xY2eXAkofV7Pwkk\"]},\"src/tables/InstalledModules.sol\":{\"keccak256\":\"0x0a2a13f174a53839754ab151d26d6d30018a9811e386691431660d0f19cd37fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c1e2784f21144cb127d3f18473541d33c7ad8f2f8e18f64fccc6f03bc34a667\",\"dweb:/ipfs/QmbAVUb6feHKm8weavZw4bzovsYHp9GqVzAw1LmA15xgNf\"]},\"src/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x305c60ea746f91db681eb9beaadbe3cd39e5d6839bb9499c0181c53fa312beb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3166cf67b2dc066ccd2145452b26069b8b849b68de52d759b226396f0f95c362\",\"dweb:/ipfs/QmSkM1zDeAVQay9XHNtKBS8Vv9hPmhzDbJ1Y9ihZjQsziU\"]},\"src/tables/ResourceAccess.sol\":{\"keccak256\":\"0x8bbcbae889a7c9b71d3606309f9013911693a23f110d869aa24f4c19636ef97c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d49a931783a91c903e7915c7489a6813dfb30bfdc9a634aaff0cb6b9894a45a\",\"dweb:/ipfs/QmeU9CzyZBAoYK7pRxDsAq22vXd6o5cnEAGQ26q7eQUoRc\"]}},\"version\":1}",
1113
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"InvalidSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"module\",\"type\":\"string\"}],\"name\":\"ModuleAlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"SystemExists\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"StoreDeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetField\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetRecord\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes\",\"name\":\"funcSelectorAndArgs\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isStore\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"string\",\"name\":\"systemFunctionName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionArguments\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"name\":\"registerSchema\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"name\":\"registerTable\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerTableHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"string\",\"name\":\"tableName\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"setMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableName\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"setMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"startByteIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"dataToSet\",\"type\":\"bytes\"}],\"name\":\"updateInField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"startByteIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"dataToSet\",\"type\":\"bytes\"}],\"name\":\"updateInField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"call(bytes16,bytes16,bytes)\":{\"notice\":\"Call the system at the given namespace and name. If the system is not public, the caller must have access to the namespace or name.\"},\"deleteRecord(bytes16,bytes16,bytes32[])\":{\"notice\":\"Delete a record in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World. Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\"},\"popFromField(bytes16,bytes16,bytes32[],uint8,uint256)\":{\"notice\":\"Pop data from the end of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"pushToField(bytes16,bytes16,bytes32[],uint8,bytes)\":{\"notice\":\"Push data to the end of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"setField(bytes16,bytes16,bytes32[],uint8,bytes)\":{\"notice\":\"Write a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"setRecord(bytes16,bytes16,bytes32[],bytes)\":{\"notice\":\"Write a record in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"updateInField(bytes16,bytes16,bytes32[],uint8,uint256,bytes)\":{\"notice\":\"Update data at `startByteIndex` of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"}},\"notice\":\"The IBaseWorld interface includes all systems dynamically added to the World during the deploy process.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IBaseWorld.sol\":\"IBaseWorld\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0xe881f296ba0fe410faa6395ee4a65b9bf154947aebc6aa323d41a0484504221e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba7f706464d14365ff751936ba96f79f200df7bcd9d9f8abccd0b41387ca7967\",\"dweb:/ipfs/QmTiHgH3ZM2oJoqsbNs3iwwPFNYFNU7m8co87woxRLaUZ6\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x117331c70b8cda783991a6b3e14861176068086526548d334cef8e1c24e16d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://613026caf6782e8a4ad0f366781fc13141492b667a723bdea69250c9b517c790\",\"dweb:/ipfs/QmQqwBSjcrDUoVvmXxeKZZpyGSEpeMTh2QZRExQTdZLrCt\"]},\"node_modules/@latticexyz/store/src/IErrors.sol\":{\"keccak256\":\"0xc29b8d9d2597c6e9fcfbb37714cfa02270983c95e5a54b4c70eb9d99abcfe4e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df9591141bec48fb57df31c0c5632085d5347d194292b14b479930bac5c8274\",\"dweb:/ipfs/Qmaa3yV9YeJ14wYyWcFYHjAhRc9qaU6WrejNAmdSP7oQRV\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x465c23c85a77fdc6001f06a6899080c1d6cfef9858886d7d922e54fce1eb79e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6358088868fa52711e65d3462eb6b6762fe736eb7f033909e3260280b6a87957\",\"dweb:/ipfs/QmdkwwvTa9Hzc5SDP4C1hvrKzc8SxWNDrxNqQKw4ZoCKzL\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x706d0d1ddd874bdcd4f73422721420b32939c1c96d4718db8b1b8e9f78bfa76c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed8c858fa9c3756cb70cb92bb860e0ae6429eb62551b502fb4a883e1344eb42\",\"dweb:/ipfs/QmezLAADZmFj8bKS9dccTQYHcpy4g8PSZ75AuvppSwjrW7\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xd3d6a9bb72f5580e7b9794530a186e05e8d6da7c9172cb01e62fcc6e558dd052\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0625cb2a0d0e544800dff8194182aa440e1e6d61cc77b9e2d8d0186bce261146\",\"dweb:/ipfs/QmRmWWwTaJ7JPZZnJXavjJNXBzEjaK4KEzxaWj5MeJQUuH\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xf06793dc2e9e9994403d29125359eb2f326b0e6e502d51a8e6e4e45fc9d90a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cb23bf421b29839200e5584a770186309dd05cd77d4345c964f47528117a244\",\"dweb:/ipfs/QmQBvrDAtoqibky7CjCLKxGz3MquxK1iNk2Yac55Lc4xF5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x14879c6c859cad89451616dcee1ab6222fd565849809b89407de48f0c1a01133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924caa18aa0e656a295da626d586dfb120bbea321123010462b0640c7e0c52c4\",\"dweb:/ipfs/QmNueqwy4g5mwq9kXaPzue8X2mqyFjH2P2AFi3pNN3WTAt\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x2ccca6556a3c2595479914d30efa84fc3b61cff30036522714a0ef99289ee2af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d169812a4159454be580d42fedee63d121646102e6462fe3b2ea905b69bee07\",\"dweb:/ipfs/QmXiKsMeN4nsdiqDwhuWfb4J3UF57B4rkuwkfbrRXA6vtb\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0xba4d729be15ad4fd887f2bbaadd12a902af5470b62c58bd9157661177c60a671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfcf8588c9641afb6e2ed658f584f378909f0615da7a5bc5c919cf51c15b12ff\",\"dweb:/ipfs/QmZEbMyZZRL7oLKC8VMLmTFEK5LL1BAJyxnvmgSNiy5kVg\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x341c555b911581dc6a19e8eb6f64f9875ff92f8e1c9f3a9c3333129e802e130c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0809c8e9a4e46d7cce2d9a21fb315d5a3895d0e9af862fcc9b84733431ec94e0\",\"dweb:/ipfs/QmetNXMWrE1K57YJTEZMiFuEPa3yxnRvFnZFpSJRpQoTQi\"]},\"node_modules/@latticexyz/store/src/TableId.sol\":{\"keccak256\":\"0x8c55662dc4f66be577bb96bfdcb65d95fe1323c733443ab749cb9ec1e58f0a6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://209ed70247c1c64b56d9b21f2902e67e0994cb89ac19be8e1553dac9d978fb76\",\"dweb:/ipfs/QmVLYNDwBL3GZidDpwqFZx916zoGZ5tWVztxKQFEEzVybP\"]},\"node_modules/@latticexyz/store/src/Utils.sol\":{\"keccak256\":\"0x426216bfa1c0e70640787007a6e39257cf09e586fd04831ea4fb3dd9c5768fc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38e657fa9cfaebe39477eaff27d1ad4d7eeaf0c0058539d2ec7e6976d93df4f4\",\"dweb:/ipfs/QmRuaxqRjUrHHC2ZyTnpmq6sfrWGCDh91B6F5chFAToU6U\"]},\"node_modules/@latticexyz/store/src/codegen/Tables.sol\":{\"keccak256\":\"0x2eba8dd4e9f07b505438a2fb744ac7da26b1f6321b8a88054e9442db947ab435\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd1a60dfff209a3f1df84aeb5d7f8a5cf0419c19be63bac428df0a779d5ba437\",\"dweb:/ipfs/QmaHem2GMJPHrtr1f7fk1ThTBESdYipmBxEEoKT1DBRmsd\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Callbacks.sol\":{\"keccak256\":\"0x81f25ea159146621a7add30f6701d4787bdf828f8782488d5f9be3eb9b965130\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64c3fdcafe59b27faaf03d5102b83defad59679099d9d1616b2d928ab1e86727\",\"dweb:/ipfs/Qmdr1W6j6bHnE7tjjLMo3G4sAWr4mKePWGDycPEDuKUAJX\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc06e9aef4d145b3e10c1b210ea48a609744638609674c74bc7f77628f1b051d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94ea702795469b50d8c2cab53869caa456fe17d8b850445c59b9a1fd516d4b75\",\"dweb:/ipfs/QmNyiNVHyL2YnhiJfCpfjgNq7bSqCHghfS9wgQ8tTQ5x6e\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Mixed.sol\":{\"keccak256\":\"0xe48f64075029fd088e33201f451bf3fe9baed3db4360a58f7c710e5fd904fb21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e58e6ee54b6681f9ccb39259c4e22e74fdc1876c915c0143048810b03f4b3be\",\"dweb:/ipfs/QmQrxD8NDMd9DvrY5A9f1uRBjPwMgppoGn7w8R79qgdXuo\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreMetadata.sol\":{\"keccak256\":\"0x03eac5a0bbface43a3a01da3226443356a7aeeb6a88a063f6d9d18551613346c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f681ef065f0fed547f2675f4f21d8dd38e6d4845cccff0ac01e3d5b7b1a5c156\",\"dweb:/ipfs/QmcjEWQghNK2g1QHRqUWRmDXwweWhZTAJNRdyhyLpJf1V4\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Vector2.sol\":{\"keccak256\":\"0x6f77096a6301fa2438365eb4c577e5086f4e45369be801705f2a064af7de0d51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44b3fa75b4475ff46cbdb9bc9907a766716090e077e1e4a95314b20857a70136\",\"dweb:/ipfs/QmNwqMe3ehQL8aJkvU93nXMSyr9vMCYFXBUdZZ3BqKRKdz\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xe760dfb8ff20cfb44eee6a5f03ac84abbc91382fca2e36c88c92046e6b3a66e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eb4b355c547ffee62031d8dfb80844fa31fa4460543a088278083662dc4c12\",\"dweb:/ipfs/Qmf8sRcrjJ6hEQ8TPwwe6KcXcE2MPw7Juvf7fKBZ1fBCt6\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x046f0a2dc543c7a80be91ff26b19990a10fbe73cb605f4944af38e04326a43df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94f038e70179571d2aed3cbe03e812ce79a471372171fb78e8189bebd7ae1ac\",\"dweb:/ipfs/QmUV4bkaEc8hefLpLRaGwmu4WZsqRLE9e6R8UdaKPExb6p\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xff0278a4e35174bbed8a38dad8ae7506f725bfe95f0b7c13829c353d68dd25dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26249ec0c2fa3a3430a2f8edbfc5cd678e34ea1cf1d7490ecaf1e925c976eb85\",\"dweb:/ipfs/QmUpkhr5kFiDKc7rZ2z5HcTf5PkrWVJu5sa31tYv911cPL\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"src/AccessControl.sol\":{\"keccak256\":\"0x1709609787c064269c201ba1683bb965746ecfffc2fd3ca945665150c1452b61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d40409726d6ebb08666be0c098a45ae2992535d0acb785cd9283daf3173fe45b\",\"dweb:/ipfs/QmdELXD8o41THzejXXWeBBYgb38U5TcK3Q4EygbmBkMRE9\"]},\"src/Call.sol\":{\"keccak256\":\"0x27114d009081f1f0a5c0b62c9ebe30415c76ed02fa46b305202bb5163711d926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a553cf84c877160c8db6978083f09632800032de6dcc5d8a5c3b9c18cabeb578\",\"dweb:/ipfs/QmWyCDz5NobNAHEs1PCftXJzV5oCu5SKfmzfA9BynSccGn\"]},\"src/ResourceSelector.sol\":{\"keccak256\":\"0xf6a1714d556e95fda532f630ac1bd8fd9843e980dffce29f81a29c0b6f02d368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5075e64cc1224bcd8ab46c16f85874ac91efecbf5cbeb82e5c1e3fa4f1a1edfa\",\"dweb:/ipfs/QmTqCVF6k7CMsiUJ223mXumjVyoCCNU2uE9fUHDgBmDdRj\"]},\"src/System.sol\":{\"keccak256\":\"0xf1342c8461adb4c5821c1ca106a67ba34402b36265fa63bf766eed937bd92bf9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea41f96a27a26d56d62824e007b3b0234d44fcd94361e5c8f40fdb334cbf444b\",\"dweb:/ipfs/QmRfj4iS5Lu9V4e47wsPQy4op1qQ6hqaJpERLB5EyzqW38\"]},\"src/Types.sol\":{\"keccak256\":\"0xc5784c3845cb97da4e1147a62163865bfb0090f43a6c3f672d5d69b7806e6545\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e849e5c0f3cf032ae2d5e77117f15cc942aa65f276e63a14feefe5b9bdd8b545\",\"dweb:/ipfs/QmSCpGZSBHjxrKm8LGD5tTEwe16aVd2ugQv5itA648hsVm\"]},\"src/WorldContext.sol\":{\"keccak256\":\"0xd44a445ff07ac1551e5a8f17450381664ecf68dcb1c89fee8fb11b9b73c9cd7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1235cc5636743b9afbb313676fc4c84ac5607142c758b0bfc59107aff79ed30c\",\"dweb:/ipfs/QmUtTUFjxKy7GtQC1Uzn6B2bRNZpcASFySPDjd16T47Rcz\"]},\"src/constants.sol\":{\"keccak256\":\"0xa0ae422aceefe0e7f200448201769e2bc527fa9e647475f65401558a03c0a83d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2473ca8ab5e184b7320c476fd07bdff31ff450fc750ab9eabb9c0a2ee43776e\",\"dweb:/ipfs/QmQ7sBqwPgj4AtsENyzCMFWVQeMzV5uuCN8ygNU2pKYotE\"]},\"src/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xba4f728be36df11f4a988b61a577998d45da89314e26dcfa139e465840cef116\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0226026036fed756d36bde2f2fa9f8ad0ab21595a82740500d187e84a87e5a11\",\"dweb:/ipfs/QmZu2MPVGWvfP59KeKPzJXNt5pd5sqyVqFS1YYANocYsmG\"]},\"src/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x9d15d5ac7512631590eda71cb19937d10a9b253d8a9b61bec54e7b0471b3b785\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b18f736784a0f38d5d6b62733fba106ecb84fc8d1b2390236ab8b162511e38\",\"dweb:/ipfs/QmPdvnPupSTBv8Vi2fRFe7A9NYfVuf2LtbdS1DiWXjHf9D\"]},\"src/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0x21e72828243fbf26d21594a423e9a32e86df07d3e435ea216a27c326546df106\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ac8c4b2cdeddaf458e562e3f236a5c798664443eca1658038540d5585ee090\",\"dweb:/ipfs/QmPbh7JmBcxqJV4YP78zVXpsmCSGnSN6g7M27MTkyUjRgG\"]},\"src/interfaces/IErrors.sol\":{\"keccak256\":\"0x8a8a5caf964d336b38123704893463589b3bf6195405c9929c21291faf0e2f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aa3dcd4d059015580dbcad309db99db7a18fe7c015f1f83f56d84684f27bd14\",\"dweb:/ipfs/QmVpQW1kF4ruDmXtnTSnGRuxr7RtJqo8NwEXtfdA5TVKq1\"]},\"src/interfaces/IModule.sol\":{\"keccak256\":\"0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178\",\"dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf\"]},\"src/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0xa46d19a0e2e8291f363ff4af0241d4e20253ffdad61701daf859ed0255eac842\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46829c84dd28d04a060d2b602724589f23ab5f783a22c7dfd7f5c4ecdd41ad5d\",\"dweb:/ipfs/QmVi1ac1q4mX7gpsUH5RRP8tFRj7mYPQr7WzFJdTbUwxxu\"]},\"src/interfaces/ISystemHook.sol\":{\"keccak256\":\"0x6302d7467fb8b6ddf1bc089037e2b5c06441e8f975caf172f4875686b822448d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6adcd8e6d0a1d8c1e027398e5159533561002bb321df887baedcb0fbdc05c91f\",\"dweb:/ipfs/QmXAVXzE6hMysP7SXvxKt6XetH7bnvGVUuXJVJqmG22RSn\"]},\"src/interfaces/IWorldKernel.sol\":{\"keccak256\":\"0x9baf07e472a70ec8aba9dffb71a7dd7d970c1352c2b11fdbf4c21a54b61458e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c270f22eec9ee162bcb973349e4e96ffcacd70c7df53d0ce7eb33f3bdb1dd6e3\",\"dweb:/ipfs/QmWRgyG2o7cM8dJRNN3d72khRsaGVJBNjVP6XPW2uSyGmU\"]},\"src/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xddfb5dbefc5b2e53cda52363efac5bb8ae4fb1753c0443623da35be4f216edfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fec23b4a08823f7ed5c95944826c7affa43870dccfdbb76e12843a665961faa5\",\"dweb:/ipfs/QmWdQ8gh4UXQpvpdYvi8unPb8tdba4KRkq2rDA2caiDmx1\"]},\"src/modules/core/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0x0c464af021df4bcc2e8e79d7e8a646a447f4b32cb286de5f45d23da5781fd082\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958ff6c39938acad1cc6b39823f6aa358de357dbbc8ec853208e262dd580bd26\",\"dweb:/ipfs/QmPxKoWPNYVorZs8SQhUkwRWEFmD3N5Ry8ZBckDuhtumqD\"]},\"src/modules/core/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0x473a0da9d67d524222a1b69b5358be1ea978bee25f7779adc41c7d94d661b64f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7519eb2ec796dd7ac37a0766f281317f1dfbcdf6a723256bd39e872e56fa2bbf\",\"dweb:/ipfs/QmZ6MAyZWF6f2QstpV33KBPH9ZvoDmHCAHQ8KhMJALQMDj\"]},\"src/modules/core/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x3d8a4cac9dcd5f479faa48b5e5a82f4100615afa674c96e35a840847fedd043e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1f1136dc47239b2032ddbc77f907a2aac632f66f7a8b7f4596e848b2b47263c\",\"dweb:/ipfs/Qmd4XZ8mZs5R1B4oVJwSxxFWGj5VcZ6buKoWPeHJQr6oCu\"]},\"src/modules/core/tables/ResourceType.sol\":{\"keccak256\":\"0x86bbd2b81790839870cdd22ace8b8ac220e9e4c802eaa60d80cbd6317e38b860\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc057e0c3e180abc83147f4aa7d5f0137685b6b424305a4d9b524889ea34c4c8\",\"dweb:/ipfs/QmQUsuwGSF15Xe7qxvEiJbR8RgWoLBzjvTjC3gFVio1XXw\"]},\"src/modules/core/tables/SystemRegistry.sol\":{\"keccak256\":\"0x0a1155046675fe9cb96657672edc580e96dedc65795e7218a874950e8c39d0d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e484c6527ce4dce3f8adec9eb43c3d3cc44ecf57405078afe235afd06f706f3d\",\"dweb:/ipfs/QmfUysQS3YRW64KMyMDgYfwcXJJ8CrQsntwpD8bh22d91Y\"]},\"src/modules/core/tables/Systems.sol\":{\"keccak256\":\"0x4bac2d11ed8b4c4ebd9a5ad7fe194c23c799d21aa222877896f0781c71c46eec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8df7240855a018acdc348724c495110ef8313841bfb33a1fe4bd2c67c378cbc\",\"dweb:/ipfs/QmevZAkn4ohkjUzzTp1nYEFENKTt8p8xY2eXAkofV7Pwkk\"]},\"src/tables/InstalledModules.sol\":{\"keccak256\":\"0x0a2a13f174a53839754ab151d26d6d30018a9811e386691431660d0f19cd37fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c1e2784f21144cb127d3f18473541d33c7ad8f2f8e18f64fccc6f03bc34a667\",\"dweb:/ipfs/QmbAVUb6feHKm8weavZw4bzovsYHp9GqVzAw1LmA15xgNf\"]},\"src/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x305c60ea746f91db681eb9beaadbe3cd39e5d6839bb9499c0181c53fa312beb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3166cf67b2dc066ccd2145452b26069b8b849b68de52d759b226396f0f95c362\",\"dweb:/ipfs/QmSkM1zDeAVQay9XHNtKBS8Vv9hPmhzDbJ1Y9ihZjQsziU\"]},\"src/tables/ResourceAccess.sol\":{\"keccak256\":\"0x8bbcbae889a7c9b71d3606309f9013911693a23f110d869aa24f4c19636ef97c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d49a931783a91c903e7915c7489a6813dfb30bfdc9a634aaff0cb6b9894a45a\",\"dweb:/ipfs/QmeU9CzyZBAoYK7pRxDsAq22vXd6o5cnEAGQ26q7eQUoRc\"]}},\"version\":1}",
1051
1114
  "metadata": {
1052
1115
  "compiler": {
1053
1116
  "version": "0.8.13+commit.abaa5c0e"
@@ -1473,6 +1536,65 @@
1473
1536
  "type": "function",
1474
1537
  "name": "isStore"
1475
1538
  },
1539
+ {
1540
+ "inputs": [
1541
+ {
1542
+ "internalType": "bytes16",
1543
+ "name": "namespace",
1544
+ "type": "bytes16"
1545
+ },
1546
+ {
1547
+ "internalType": "bytes16",
1548
+ "name": "name",
1549
+ "type": "bytes16"
1550
+ },
1551
+ {
1552
+ "internalType": "bytes32[]",
1553
+ "name": "key",
1554
+ "type": "bytes32[]"
1555
+ },
1556
+ {
1557
+ "internalType": "uint8",
1558
+ "name": "schemaIndex",
1559
+ "type": "uint8"
1560
+ },
1561
+ {
1562
+ "internalType": "uint256",
1563
+ "name": "byteLengthToPop",
1564
+ "type": "uint256"
1565
+ }
1566
+ ],
1567
+ "stateMutability": "nonpayable",
1568
+ "type": "function",
1569
+ "name": "popFromField"
1570
+ },
1571
+ {
1572
+ "inputs": [
1573
+ {
1574
+ "internalType": "bytes32",
1575
+ "name": "table",
1576
+ "type": "bytes32"
1577
+ },
1578
+ {
1579
+ "internalType": "bytes32[]",
1580
+ "name": "key",
1581
+ "type": "bytes32[]"
1582
+ },
1583
+ {
1584
+ "internalType": "uint8",
1585
+ "name": "schemaIndex",
1586
+ "type": "uint8"
1587
+ },
1588
+ {
1589
+ "internalType": "uint256",
1590
+ "name": "byteLengthToPop",
1591
+ "type": "uint256"
1592
+ }
1593
+ ],
1594
+ "stateMutability": "nonpayable",
1595
+ "type": "function",
1596
+ "name": "popFromField"
1597
+ },
1476
1598
  {
1477
1599
  "inputs": [
1478
1600
  {
@@ -2051,6 +2173,9 @@
2051
2173
  "installRootModule(address,bytes)": {
2052
2174
  "notice": "Install the given root module in the World. Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace."
2053
2175
  },
2176
+ "popFromField(bytes16,bytes16,bytes32[],uint8,uint256)": {
2177
+ "notice": "Pop data from the end of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name."
2178
+ },
2054
2179
  "pushToField(bytes16,bytes16,bytes32[],uint8,bytes)": {
2055
2180
  "notice": "Push data to the end of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name."
2056
2181
  },
@@ -2112,10 +2237,10 @@
2112
2237
  "license": "MIT"
2113
2238
  },
2114
2239
  "node_modules/@latticexyz/store/src/IStore.sol": {
2115
- "keccak256": "0x83954f095b02ffb6ea0d391ecf6092e8304b03119dced171fbce4ee7483d3de2",
2240
+ "keccak256": "0x465c23c85a77fdc6001f06a6899080c1d6cfef9858886d7d922e54fce1eb79e6",
2116
2241
  "urls": [
2117
- "bzz-raw://02aeafbedef0b4d5845cd8e707673872fd4fc165fe8508ad348506f053e73ee5",
2118
- "dweb:/ipfs/QmcE33C9Mw7fdnhHKmrabwzBH2JyjF4XCG3S4D9AtzMXs2"
2242
+ "bzz-raw://6358088868fa52711e65d3462eb6b6762fe736eb7f033909e3260280b6a87957",
2243
+ "dweb:/ipfs/QmdkwwvTa9Hzc5SDP4C1hvrKzc8SxWNDrxNqQKw4ZoCKzL"
2119
2244
  ],
2120
2245
  "license": "MIT"
2121
2246
  },
@@ -2152,26 +2277,26 @@
2152
2277
  "license": "MIT"
2153
2278
  },
2154
2279
  "node_modules/@latticexyz/store/src/Storage.sol": {
2155
- "keccak256": "0x86e1be7e58fbd1535c533a829f8a78c65136af92c9066e7d99d221a91dde8f9b",
2280
+ "keccak256": "0x2ccca6556a3c2595479914d30efa84fc3b61cff30036522714a0ef99289ee2af",
2156
2281
  "urls": [
2157
- "bzz-raw://3d5e232aefc4a518b0cc724b4b22e7b059a7bdde02e6512b627ce8693749c8de",
2158
- "dweb:/ipfs/QmYsxGsak61jdiyq921tKzbWC7AtgA5FVsqsT1UL6CqzPT"
2282
+ "bzz-raw://9d169812a4159454be580d42fedee63d121646102e6462fe3b2ea905b69bee07",
2283
+ "dweb:/ipfs/QmXiKsMeN4nsdiqDwhuWfb4J3UF57B4rkuwkfbrRXA6vtb"
2159
2284
  ],
2160
2285
  "license": "MIT"
2161
2286
  },
2162
2287
  "node_modules/@latticexyz/store/src/StoreCore.sol": {
2163
- "keccak256": "0xce2d227fc668c385bfded0a5af295a63363eb02233bafb60b4acbf048d4d4500",
2288
+ "keccak256": "0xba4d729be15ad4fd887f2bbaadd12a902af5470b62c58bd9157661177c60a671",
2164
2289
  "urls": [
2165
- "bzz-raw://597a716eed53c2bbbc911f94e7b6440684210dec82f9dbcb31c1f18fe10d3e8e",
2166
- "dweb:/ipfs/QmSyaRAoh56KznH1zEArkwNUg3b6r8tanP7EALnZBcs5DE"
2290
+ "bzz-raw://cfcf8588c9641afb6e2ed658f584f378909f0615da7a5bc5c919cf51c15b12ff",
2291
+ "dweb:/ipfs/QmZEbMyZZRL7oLKC8VMLmTFEK5LL1BAJyxnvmgSNiy5kVg"
2167
2292
  ],
2168
2293
  "license": "MIT"
2169
2294
  },
2170
2295
  "node_modules/@latticexyz/store/src/StoreSwitch.sol": {
2171
- "keccak256": "0x1f0ba0265027e9f6e945ce3ab319bafb5312f285f82bdcc2f2beabd9d7e99d64",
2296
+ "keccak256": "0x341c555b911581dc6a19e8eb6f64f9875ff92f8e1c9f3a9c3333129e802e130c",
2172
2297
  "urls": [
2173
- "bzz-raw://fa22ad06665c32e8794eea0f93d8b9e3ce08d752d37a08a669688eb53f8faa08",
2174
- "dweb:/ipfs/QmYLTumckjQcZwt7vCj2YzM91N5mtwaSQBLEYkBJPCpMtm"
2298
+ "bzz-raw://0809c8e9a4e46d7cce2d9a21fb315d5a3895d0e9af862fcc9b84733431ec94e0",
2299
+ "dweb:/ipfs/QmetNXMWrE1K57YJTEZMiFuEPa3yxnRvFnZFpSJRpQoTQi"
2175
2300
  ],
2176
2301
  "license": "MIT"
2177
2302
  },
@@ -2384,10 +2509,10 @@
2384
2509
  "license": "MIT"
2385
2510
  },
2386
2511
  "src/interfaces/IWorldKernel.sol": {
2387
- "keccak256": "0x5634912fe97592848fb360d55c442f3b37d6a9e77db46695891f0d5d942138c8",
2512
+ "keccak256": "0x9baf07e472a70ec8aba9dffb71a7dd7d970c1352c2b11fdbf4c21a54b61458e7",
2388
2513
  "urls": [
2389
- "bzz-raw://a48252b3e5286bd9119aad18366ec8b484334b93872239790717e44f2b125af2",
2390
- "dweb:/ipfs/QmZddb4vrvyKNotTqr3gW3KsrVeH7fDYNv5Tr23uVema4x"
2514
+ "bzz-raw://c270f22eec9ee162bcb973349e4e96ffcacd70c7df53d0ce7eb33f3bdb1dd6e3",
2515
+ "dweb:/ipfs/QmWRgyG2o7cM8dJRNN3d72khRsaGVJBNjVP6XPW2uSyGmU"
2391
2516
  ],
2392
2517
  "license": "MIT"
2393
2518
  },
@@ -2476,35 +2601,35 @@
2476
2601
  },
2477
2602
  "ast": {
2478
2603
  "absolutePath": "src/interfaces/IBaseWorld.sol",
2479
- "id": 33219,
2604
+ "id": 33805,
2480
2605
  "exportedSymbols": {
2481
2606
  "IAccessManagementSystem": [
2482
- 33190
2607
+ 33776
2483
2608
  ],
2484
2609
  "IBaseWorld": [
2485
- 33218
2610
+ 33804
2486
2611
  ],
2487
2612
  "ICoreSystem": [
2488
- 33221
2613
+ 33807
2489
2614
  ],
2490
2615
  "IModuleInstallationSystem": [
2491
- 33290
2616
+ 33876
2492
2617
  ],
2493
2618
  "IStore": [
2494
- 17368
2619
+ 17641
2495
2620
  ],
2496
2621
  "IWorldKernel": [
2497
- 33457
2622
+ 34058
2498
2623
  ],
2499
2624
  "IWorldRegistrationSystem": [
2500
- 33566
2625
+ 34167
2501
2626
  ]
2502
2627
  },
2503
2628
  "nodeType": "SourceUnit",
2504
2629
  "src": "32:744:55",
2505
2630
  "nodes": [
2506
2631
  {
2507
- "id": 33192,
2632
+ "id": 33778,
2508
2633
  "nodeType": "PragmaDirective",
2509
2634
  "src": "32:24:55",
2510
2635
  "nodes": [],
@@ -2516,23 +2641,23 @@
2516
2641
  ]
2517
2642
  },
2518
2643
  {
2519
- "id": 33194,
2644
+ "id": 33780,
2520
2645
  "nodeType": "ImportDirective",
2521
2646
  "src": "107:58:55",
2522
2647
  "nodes": [],
2523
2648
  "absolutePath": "node_modules/@latticexyz/store/src/IStore.sol",
2524
2649
  "file": "@latticexyz/store/src/IStore.sol",
2525
2650
  "nameLocation": "-1:-1:-1",
2526
- "scope": 33219,
2527
- "sourceUnit": 17412,
2651
+ "scope": 33805,
2652
+ "sourceUnit": 17685,
2528
2653
  "symbolAliases": [
2529
2654
  {
2530
2655
  "foreign": {
2531
- "id": 33193,
2656
+ "id": 33779,
2532
2657
  "name": "IStore",
2533
2658
  "nodeType": "Identifier",
2534
2659
  "overloadedDeclarations": [],
2535
- "referencedDeclaration": 17368,
2660
+ "referencedDeclaration": 17641,
2536
2661
  "src": "116:6:55",
2537
2662
  "typeDescriptions": {}
2538
2663
  },
@@ -2542,23 +2667,23 @@
2542
2667
  "unitAlias": ""
2543
2668
  },
2544
2669
  {
2545
- "id": 33196,
2670
+ "id": 33782,
2546
2671
  "nodeType": "ImportDirective",
2547
2672
  "src": "166:62:55",
2548
2673
  "nodes": [],
2549
2674
  "absolutePath": "src/interfaces/IWorldKernel.sol",
2550
2675
  "file": "../interfaces/IWorldKernel.sol",
2551
2676
  "nameLocation": "-1:-1:-1",
2552
- "scope": 33219,
2553
- "sourceUnit": 33458,
2677
+ "scope": 33805,
2678
+ "sourceUnit": 34059,
2554
2679
  "symbolAliases": [
2555
2680
  {
2556
2681
  "foreign": {
2557
- "id": 33195,
2682
+ "id": 33781,
2558
2683
  "name": "IWorldKernel",
2559
2684
  "nodeType": "Identifier",
2560
2685
  "overloadedDeclarations": [],
2561
- "referencedDeclaration": 33457,
2686
+ "referencedDeclaration": 34058,
2562
2687
  "src": "175:12:55",
2563
2688
  "typeDescriptions": {}
2564
2689
  },
@@ -2568,23 +2693,23 @@
2568
2693
  "unitAlias": ""
2569
2694
  },
2570
2695
  {
2571
- "id": 33198,
2696
+ "id": 33784,
2572
2697
  "nodeType": "ImportDirective",
2573
2698
  "src": "230:48:55",
2574
2699
  "nodes": [],
2575
2700
  "absolutePath": "src/interfaces/ICoreSystem.sol",
2576
2701
  "file": "./ICoreSystem.sol",
2577
2702
  "nameLocation": "-1:-1:-1",
2578
- "scope": 33219,
2579
- "sourceUnit": 33222,
2703
+ "scope": 33805,
2704
+ "sourceUnit": 33808,
2580
2705
  "symbolAliases": [
2581
2706
  {
2582
2707
  "foreign": {
2583
- "id": 33197,
2708
+ "id": 33783,
2584
2709
  "name": "ICoreSystem",
2585
2710
  "nodeType": "Identifier",
2586
2711
  "overloadedDeclarations": [],
2587
- "referencedDeclaration": 33221,
2712
+ "referencedDeclaration": 33807,
2588
2713
  "src": "239:11:55",
2589
2714
  "typeDescriptions": {}
2590
2715
  },
@@ -2594,23 +2719,23 @@
2594
2719
  "unitAlias": ""
2595
2720
  },
2596
2721
  {
2597
- "id": 33200,
2722
+ "id": 33786,
2598
2723
  "nodeType": "ImportDirective",
2599
2724
  "src": "279:72:55",
2600
2725
  "nodes": [],
2601
2726
  "absolutePath": "src/interfaces/IAccessManagementSystem.sol",
2602
2727
  "file": "./IAccessManagementSystem.sol",
2603
2728
  "nameLocation": "-1:-1:-1",
2604
- "scope": 33219,
2605
- "sourceUnit": 33191,
2729
+ "scope": 33805,
2730
+ "sourceUnit": 33777,
2606
2731
  "symbolAliases": [
2607
2732
  {
2608
2733
  "foreign": {
2609
- "id": 33199,
2734
+ "id": 33785,
2610
2735
  "name": "IAccessManagementSystem",
2611
2736
  "nodeType": "Identifier",
2612
2737
  "overloadedDeclarations": [],
2613
- "referencedDeclaration": 33190,
2738
+ "referencedDeclaration": 33776,
2614
2739
  "src": "288:23:55",
2615
2740
  "typeDescriptions": {}
2616
2741
  },
@@ -2620,23 +2745,23 @@
2620
2745
  "unitAlias": ""
2621
2746
  },
2622
2747
  {
2623
- "id": 33202,
2748
+ "id": 33788,
2624
2749
  "nodeType": "ImportDirective",
2625
2750
  "src": "352:76:55",
2626
2751
  "nodes": [],
2627
2752
  "absolutePath": "src/interfaces/IModuleInstallationSystem.sol",
2628
2753
  "file": "./IModuleInstallationSystem.sol",
2629
2754
  "nameLocation": "-1:-1:-1",
2630
- "scope": 33219,
2631
- "sourceUnit": 33291,
2755
+ "scope": 33805,
2756
+ "sourceUnit": 33877,
2632
2757
  "symbolAliases": [
2633
2758
  {
2634
2759
  "foreign": {
2635
- "id": 33201,
2760
+ "id": 33787,
2636
2761
  "name": "IModuleInstallationSystem",
2637
2762
  "nodeType": "Identifier",
2638
2763
  "overloadedDeclarations": [],
2639
- "referencedDeclaration": 33290,
2764
+ "referencedDeclaration": 33876,
2640
2765
  "src": "361:25:55",
2641
2766
  "typeDescriptions": {}
2642
2767
  },
@@ -2646,23 +2771,23 @@
2646
2771
  "unitAlias": ""
2647
2772
  },
2648
2773
  {
2649
- "id": 33204,
2774
+ "id": 33790,
2650
2775
  "nodeType": "ImportDirective",
2651
2776
  "src": "429:74:55",
2652
2777
  "nodes": [],
2653
2778
  "absolutePath": "src/interfaces/IWorldRegistrationSystem.sol",
2654
2779
  "file": "./IWorldRegistrationSystem.sol",
2655
2780
  "nameLocation": "-1:-1:-1",
2656
- "scope": 33219,
2657
- "sourceUnit": 33567,
2781
+ "scope": 33805,
2782
+ "sourceUnit": 34168,
2658
2783
  "symbolAliases": [
2659
2784
  {
2660
2785
  "foreign": {
2661
- "id": 33203,
2786
+ "id": 33789,
2662
2787
  "name": "IWorldRegistrationSystem",
2663
2788
  "nodeType": "Identifier",
2664
2789
  "overloadedDeclarations": [],
2665
- "referencedDeclaration": 33566,
2790
+ "referencedDeclaration": 34167,
2666
2791
  "src": "438:24:55",
2667
2792
  "typeDescriptions": {}
2668
2793
  },
@@ -2672,7 +2797,7 @@
2672
2797
  "unitAlias": ""
2673
2798
  },
2674
2799
  {
2675
- "id": 33218,
2800
+ "id": 33804,
2676
2801
  "nodeType": "ContractDefinition",
2677
2802
  "src": "623:152:55",
2678
2803
  "nodes": [],
@@ -2680,73 +2805,73 @@
2680
2805
  "baseContracts": [
2681
2806
  {
2682
2807
  "baseName": {
2683
- "id": 33206,
2808
+ "id": 33792,
2684
2809
  "name": "IStore",
2685
2810
  "nodeType": "IdentifierPath",
2686
- "referencedDeclaration": 17368,
2811
+ "referencedDeclaration": 17641,
2687
2812
  "src": "649:6:55"
2688
2813
  },
2689
- "id": 33207,
2814
+ "id": 33793,
2690
2815
  "nodeType": "InheritanceSpecifier",
2691
2816
  "src": "649:6:55"
2692
2817
  },
2693
2818
  {
2694
2819
  "baseName": {
2695
- "id": 33208,
2820
+ "id": 33794,
2696
2821
  "name": "IWorldKernel",
2697
2822
  "nodeType": "IdentifierPath",
2698
- "referencedDeclaration": 33457,
2823
+ "referencedDeclaration": 34058,
2699
2824
  "src": "659:12:55"
2700
2825
  },
2701
- "id": 33209,
2826
+ "id": 33795,
2702
2827
  "nodeType": "InheritanceSpecifier",
2703
2828
  "src": "659:12:55"
2704
2829
  },
2705
2830
  {
2706
2831
  "baseName": {
2707
- "id": 33210,
2832
+ "id": 33796,
2708
2833
  "name": "ICoreSystem",
2709
2834
  "nodeType": "IdentifierPath",
2710
- "referencedDeclaration": 33221,
2835
+ "referencedDeclaration": 33807,
2711
2836
  "src": "675:11:55"
2712
2837
  },
2713
- "id": 33211,
2838
+ "id": 33797,
2714
2839
  "nodeType": "InheritanceSpecifier",
2715
2840
  "src": "675:11:55"
2716
2841
  },
2717
2842
  {
2718
2843
  "baseName": {
2719
- "id": 33212,
2844
+ "id": 33798,
2720
2845
  "name": "IAccessManagementSystem",
2721
2846
  "nodeType": "IdentifierPath",
2722
- "referencedDeclaration": 33190,
2847
+ "referencedDeclaration": 33776,
2723
2848
  "src": "690:23:55"
2724
2849
  },
2725
- "id": 33213,
2850
+ "id": 33799,
2726
2851
  "nodeType": "InheritanceSpecifier",
2727
2852
  "src": "690:23:55"
2728
2853
  },
2729
2854
  {
2730
2855
  "baseName": {
2731
- "id": 33214,
2856
+ "id": 33800,
2732
2857
  "name": "IModuleInstallationSystem",
2733
2858
  "nodeType": "IdentifierPath",
2734
- "referencedDeclaration": 33290,
2859
+ "referencedDeclaration": 33876,
2735
2860
  "src": "717:25:55"
2736
2861
  },
2737
- "id": 33215,
2862
+ "id": 33801,
2738
2863
  "nodeType": "InheritanceSpecifier",
2739
2864
  "src": "717:25:55"
2740
2865
  },
2741
2866
  {
2742
2867
  "baseName": {
2743
- "id": 33216,
2868
+ "id": 33802,
2744
2869
  "name": "IWorldRegistrationSystem",
2745
2870
  "nodeType": "IdentifierPath",
2746
- "referencedDeclaration": 33566,
2871
+ "referencedDeclaration": 34167,
2747
2872
  "src": "746:24:55"
2748
2873
  },
2749
- "id": 33217,
2874
+ "id": 33803,
2750
2875
  "nodeType": "InheritanceSpecifier",
2751
2876
  "src": "746:24:55"
2752
2877
  }
@@ -2755,41 +2880,41 @@
2755
2880
  "contractDependencies": [],
2756
2881
  "contractKind": "interface",
2757
2882
  "documentation": {
2758
- "id": 33205,
2883
+ "id": 33791,
2759
2884
  "nodeType": "StructuredDocumentation",
2760
2885
  "src": "505:117:55",
2761
2886
  "text": " The IBaseWorld interface includes all systems dynamically added to the World\n during the deploy process."
2762
2887
  },
2763
2888
  "fullyImplemented": false,
2764
2889
  "linearizedBaseContracts": [
2765
- 33218,
2766
- 33566,
2767
- 33290,
2768
- 33190,
2769
- 33221,
2770
- 33457,
2771
- 33258,
2772
- 33447,
2773
- 33434,
2774
- 33424,
2775
- 17368,
2776
- 17363,
2777
- 17332,
2778
- 17326,
2779
- 17242
2890
+ 33804,
2891
+ 34167,
2892
+ 33876,
2893
+ 33776,
2894
+ 33807,
2895
+ 34058,
2896
+ 33844,
2897
+ 34048,
2898
+ 34035,
2899
+ 34025,
2900
+ 17641,
2901
+ 17636,
2902
+ 17605,
2903
+ 17599,
2904
+ 17503
2780
2905
  ],
2781
2906
  "name": "IBaseWorld",
2782
2907
  "nameLocation": "633:10:55",
2783
- "scope": 33219,
2908
+ "scope": 33805,
2784
2909
  "usedErrors": [
2785
- 33227,
2786
- 33231,
2787
- 33237,
2788
- 33241,
2789
- 33245,
2790
- 33249,
2791
- 33253,
2792
- 33257
2910
+ 33813,
2911
+ 33817,
2912
+ 33823,
2913
+ 33827,
2914
+ 33831,
2915
+ 33835,
2916
+ 33839,
2917
+ 33843
2793
2918
  ]
2794
2919
  }
2795
2920
  ],