@latticexyz/world 2.2.19 → 2.2.20-06e48e0239a5c7994ce73b4d2752860743fec4b0

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 (236) hide show
  1. package/dist/{System.abi-ENBBMWQJ.js → System.abi-QE5PR27M.js} +2 -2
  2. package/dist/{System.abi-ENBBMWQJ.js.map → System.abi-QE5PR27M.js.map} +1 -1
  3. package/dist/{chunk-SGZK356L.js → chunk-PZKG3J66.js} +40 -21
  4. package/dist/chunk-PZKG3J66.js.map +1 -0
  5. package/dist/internal.js +1 -1
  6. package/dist/mud.config.d.ts +242 -131
  7. package/dist/mud.config.js +7 -5
  8. package/dist/node.js +21 -19
  9. package/dist/node.js.map +1 -1
  10. package/out/AccessControl.t.sol/AccessControlTest.json +1 -1
  11. package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json +1 -1
  12. package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json.d.ts +1 -1
  13. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  14. package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.abi.json +7 -0
  15. package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.abi.json.d.ts +9 -0
  16. package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.json +1 -0
  17. package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.abi.json +20 -0
  18. package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.abi.json.d.ts +22 -0
  19. package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.json +1 -0
  20. package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.abi.json +15 -0
  21. package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.abi.json.d.ts +17 -0
  22. package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.json +1 -0
  23. package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.abi.json +20 -0
  24. package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.abi.json.d.ts +22 -0
  25. package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.json +1 -0
  26. package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.abi.json +20 -0
  27. package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.abi.json.d.ts +22 -0
  28. package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.json +1 -0
  29. package/out/AddressArray.sol/AddressArray.json +1 -1
  30. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json +1 -1
  31. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json.d.ts +1 -1
  32. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  33. package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.abi.json +7 -0
  34. package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.abi.json.d.ts +9 -0
  35. package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.json +1 -0
  36. package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.abi.json +25 -0
  37. package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.abi.json.d.ts +27 -0
  38. package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.json +1 -0
  39. package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.abi.json +25 -0
  40. package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.abi.json.d.ts +27 -0
  41. package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.json +1 -0
  42. package/out/Balances.sol/Balances.json +1 -1
  43. package/out/BatchCall.t.sol/BatchCallTest.json +1 -1
  44. package/out/BatchCall.t.sol/TestSystem.abi.json +1 -1
  45. package/out/BatchCall.t.sol/TestSystem.abi.json.d.ts +1 -1
  46. package/out/BatchCall.t.sol/TestSystem.json +1 -1
  47. package/out/BatchCallSystem.sol/BatchCallSystem.abi.json +1 -1
  48. package/out/BatchCallSystem.sol/BatchCallSystem.abi.json.d.ts +1 -1
  49. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  50. package/out/BatchCallSystemLib.sol/BatchCallSystemLib.abi.json +7 -0
  51. package/out/BatchCallSystemLib.sol/BatchCallSystemLib.abi.json.d.ts +9 -0
  52. package/out/BatchCallSystemLib.sol/BatchCallSystemLib.json +1 -0
  53. package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.abi.json +32 -0
  54. package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.abi.json.d.ts +34 -0
  55. package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.json +1 -0
  56. package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.abi.json +27 -0
  57. package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.abi.json.d.ts +29 -0
  58. package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.json +1 -0
  59. package/out/Bool.sol/Bool.json +1 -1
  60. package/out/Create2Factory.sol/Create2Factory.json +1 -1
  61. package/out/Delegation.sol/Delegation.json +1 -1
  62. package/out/DelegationControl.sol/DelegationControl.abi.json +1 -1
  63. package/out/DelegationControl.sol/DelegationControl.abi.json.d.ts +1 -1
  64. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  65. package/out/DelegationControlMock.sol/DelegationControlMock.abi.json +1 -1
  66. package/out/DelegationControlMock.sol/DelegationControlMock.abi.json.d.ts +1 -1
  67. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  68. package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
  69. package/out/Factories.t.sol/FactoriesTest.json +1 -1
  70. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  71. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  72. package/out/GasReporter.sol/GasReporter.json +1 -1
  73. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
  74. package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
  75. package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
  76. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
  77. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
  78. package/out/IRegistrationSystem.sol/IRegistrationSystem.json +1 -1
  79. package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.abi.json +81 -0
  80. package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.abi.json.d.ts +83 -0
  81. package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.json +1 -0
  82. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  83. package/out/InitModule.sol/InitModule.abi.json +3 -3
  84. package/out/InitModule.sol/InitModule.abi.json.d.ts +3 -3
  85. package/out/InitModule.sol/InitModule.json +1 -1
  86. package/out/InitModule.t.sol/InitModuleTest.json +1 -1
  87. package/out/InitModule.t.sol/WorldMock.json +1 -1
  88. package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
  89. package/out/InitSystems.t.sol/LimitedCallContextTest.json +1 -1
  90. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  91. package/out/LimitedCallContext.sol/LimitedCallContext.json +1 -1
  92. package/out/Module.sol/Module.abi.json +1 -1
  93. package/out/Module.sol/Module.abi.json.d.ts +1 -1
  94. package/out/Module.sol/Module.json +1 -1
  95. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json +1 -1
  96. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json.d.ts +1 -1
  97. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  98. package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.abi.json +7 -0
  99. package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.abi.json.d.ts +9 -0
  100. package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.json +1 -0
  101. package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.abi.json +20 -0
  102. package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.abi.json.d.ts +22 -0
  103. package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.json +1 -0
  104. package/out/MudTest.t.sol/MudTest.json +1 -1
  105. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  106. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  107. package/out/RegistrationSystem.sol/RegistrationSystem.abi.json +1 -1
  108. package/out/RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts +1 -1
  109. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  110. package/out/RegistrationSystemLib.sol/RegistrationSystemLib.abi.json +7 -0
  111. package/out/RegistrationSystemLib.sol/RegistrationSystemLib.abi.json.d.ts +9 -0
  112. package/out/RegistrationSystemLib.sol/RegistrationSystemLib.json +1 -0
  113. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  114. package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
  115. package/out/RevertWithBytes.t.sol/RevertWithBytesTest.json +1 -1
  116. package/out/StdError.sol/stdError.json +1 -1
  117. package/out/StoreMock.sol/StoreMock.json +1 -1
  118. package/out/StoreRead.sol/StoreRead.json +1 -1
  119. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +1 -1
  120. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +1 -1
  121. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  122. package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.abi.json +7 -0
  123. package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.abi.json.d.ts +9 -0
  124. package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.json +1 -0
  125. package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.abi.json +25 -0
  126. package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.abi.json.d.ts +27 -0
  127. package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.json +1 -0
  128. package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.abi.json +40 -0
  129. package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.abi.json.d.ts +42 -0
  130. package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.json +1 -0
  131. package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.abi.json +20 -0
  132. package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.abi.json.d.ts +22 -0
  133. package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.json +1 -0
  134. package/out/System.sol/System.abi.json +1 -1
  135. package/out/System.sol/System.abi.json.d.ts +1 -1
  136. package/out/System.sol/System.json +1 -1
  137. package/out/System.t.sol/SystemTest.json +1 -1
  138. package/out/System.t.sol/TestSystem.abi.json +1 -1
  139. package/out/System.t.sol/TestSystem.abi.json.d.ts +1 -1
  140. package/out/System.t.sol/TestSystem.json +1 -1
  141. package/out/SystemCall.sol/SystemCall.json +1 -1
  142. package/out/SystemHook.t.sol/SystemHookTest.json +1 -1
  143. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  144. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  145. package/out/Systems.sol/Systems.json +1 -1
  146. package/out/TwoFields.sol/TwoFields.json +1 -1
  147. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  148. package/out/Utils.t.sol/UtilsTest.json +1 -1
  149. package/out/Utils.t.sol/UtilsTestSystem.abi.json +1 -1
  150. package/out/Utils.t.sol/UtilsTestSystem.abi.json.d.ts +1 -1
  151. package/out/Utils.t.sol/UtilsTestSystem.json +1 -1
  152. package/out/World.sol/World.json +1 -1
  153. package/out/World.t.sol/EchoSystemHook.json +1 -1
  154. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  155. package/out/World.t.sol/PayableFallbackSystem.abi.json +1 -1
  156. package/out/World.t.sol/PayableFallbackSystem.abi.json.d.ts +1 -1
  157. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  158. package/out/World.t.sol/RevertSystemHook.json +1 -1
  159. package/out/World.t.sol/WorldTest.json +1 -1
  160. package/out/World.t.sol/WorldTestSystem.abi.json +1 -1
  161. package/out/World.t.sol/WorldTestSystem.abi.json.d.ts +1 -1
  162. package/out/World.t.sol/WorldTestSystem.json +1 -1
  163. package/out/WorldBalance.t.sol/WorldBalanceTest.json +1 -1
  164. package/out/WorldBalance.t.sol/WorldBalanceTestSystem.abi.json +1 -1
  165. package/out/WorldBalance.t.sol/WorldBalanceTestSystem.abi.json.d.ts +1 -1
  166. package/out/WorldBalance.t.sol/WorldBalanceTestSystem.json +1 -1
  167. package/out/WorldContext.sol/WorldContextConsumer.abi.json +1 -1
  168. package/out/WorldContext.sol/WorldContextConsumer.abi.json.d.ts +1 -1
  169. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  170. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  171. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  172. package/out/WorldContext.t.sol/TestContextConsumer.abi.json +1 -1
  173. package/out/WorldContext.t.sol/TestContextConsumer.abi.json.d.ts +1 -1
  174. package/out/WorldContext.t.sol/TestContextConsumer.json +1 -1
  175. package/out/WorldContext.t.sol/WorldContextTest.json +1 -1
  176. package/out/WorldDynamicUpdate.t.sol/UpdateInDynamicFieldTest.json +1 -1
  177. package/out/WorldFactory.sol/WorldFactory.json +1 -1
  178. package/out/WorldProxy.sol/WorldProxy.json +1 -1
  179. package/out/WorldProxy.t.sol/WorldProxyTest.json +1 -1
  180. package/out/WorldProxyFactory.sol/WorldProxyFactory.json +1 -1
  181. package/out/WorldProxyFactory.t.sol/WorldProxyFactoryTest.json +1 -1
  182. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json +1 -1
  183. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json.d.ts +1 -1
  184. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  185. package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.abi.json +7 -0
  186. package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.abi.json.d.ts +9 -0
  187. package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.json +1 -0
  188. package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.abi.json +25 -0
  189. package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.abi.json.d.ts +27 -0
  190. package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.json +1 -0
  191. package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.abi.json +20 -0
  192. package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.abi.json.d.ts +22 -0
  193. package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.json +1 -0
  194. package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.abi.json +25 -0
  195. package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.abi.json.d.ts +27 -0
  196. package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.json +1 -0
  197. package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.abi.json +15 -0
  198. package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.abi.json.d.ts +17 -0
  199. package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.json +1 -0
  200. package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.abi.json +25 -0
  201. package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.abi.json.d.ts +27 -0
  202. package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.json +1 -0
  203. package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.abi.json +25 -0
  204. package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.abi.json.d.ts +27 -0
  205. package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.json +1 -0
  206. package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.abi.json +25 -0
  207. package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.abi.json.d.ts +27 -0
  208. package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.json +1 -0
  209. package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.abi.json +15 -0
  210. package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.abi.json.d.ts +17 -0
  211. package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.json +1 -0
  212. package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.abi.json +15 -0
  213. package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.abi.json.d.ts +17 -0
  214. package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.json +1 -0
  215. package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.abi.json +20 -0
  216. package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.abi.json.d.ts +22 -0
  217. package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.json +1 -0
  218. package/out/WorldResourceId.t.sol/WorldResourceIdTest.json +1 -1
  219. package/out/build-info/{27bef2dac23cc424daa40171c98ac387.json → 6366a746548e984842b93ef762b76b99.json} +1 -1
  220. package/out/test.sol/DSTest.json +1 -1
  221. package/package.json +9 -9
  222. package/src/Module.sol +21 -0
  223. package/src/WorldContext.sol +1 -1
  224. package/src/codegen/experimental/systems/AccessManagementSystemLib.sol +182 -0
  225. package/src/codegen/experimental/systems/BalanceTransferSystemLib.sol +169 -0
  226. package/src/codegen/experimental/systems/BatchCallSystemLib.sol +153 -0
  227. package/src/codegen/experimental/systems/ModuleInstallationSystemLib.sol +107 -0
  228. package/src/codegen/experimental/systems/RegistrationSystemLib.sol +71 -0
  229. package/src/codegen/experimental/systems/StoreRegistrationSystemLib.sol +228 -0
  230. package/src/codegen/experimental/systems/WorldRegistrationSystemLib.sol +471 -0
  231. package/src/codegen/interfaces/IStoreRegistrationSystem.sol +29 -0
  232. package/src/modules/init/InitModule.sol +0 -8
  233. package/src/modules/init/implementations/ModuleInstallationSystem.sol +1 -1
  234. package/src/modules/init/implementations/StoreRegistrationSystem.sol +2 -1
  235. package/src/modules/init/implementations/WorldRegistrationSystem.sol +1 -1
  236. package/dist/chunk-SGZK356L.js.map +0 -1
@@ -0,0 +1,153 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity >=0.8.24;
3
+
4
+ /* Autogenerated file. Do not edit manually. */
5
+
6
+ import { BatchCallSystem } from "../../../modules/init/implementations/BatchCallSystem.sol";
7
+ import { SystemCallData, SystemCallFromData } from "../../../modules/init/types.sol";
8
+ import { revertWithBytes } from "../../../revertWithBytes.sol";
9
+ import { IWorldCall } from "../../../IWorldKernel.sol";
10
+ import { SystemCall } from "../../../SystemCall.sol";
11
+ import { WorldContextConsumerLib } from "../../../WorldContext.sol";
12
+ import { Systems } from "../../../codegen/tables/Systems.sol";
13
+ import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
14
+ import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
15
+
16
+ type BatchCallSystemType is bytes32;
17
+
18
+ // equivalent to WorldResourceIdLib.encode({ typeId: RESOURCE_SYSTEM, namespace: "", name: "BatchCall" }))
19
+ BatchCallSystemType constant batchCallSystem = BatchCallSystemType.wrap(
20
+ 0x73790000000000000000000000000000426174636843616c6c00000000000000
21
+ );
22
+
23
+ struct CallWrapper {
24
+ ResourceId systemId;
25
+ address from;
26
+ }
27
+
28
+ struct RootCallWrapper {
29
+ ResourceId systemId;
30
+ address from;
31
+ }
32
+
33
+ /**
34
+ * @title BatchCallSystemLib
35
+ * @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
36
+ * @dev This library is automatically generated from the corresponding system contract. Do not edit manually.
37
+ */
38
+ library BatchCallSystemLib {
39
+ error BatchCallSystemLib_CallingFromRootSystem();
40
+
41
+ function batchCall(
42
+ BatchCallSystemType self,
43
+ SystemCallData[] memory systemCalls
44
+ ) internal returns (bytes[] memory returnDatas) {
45
+ return CallWrapper(self.toResourceId(), address(0)).batchCall(systemCalls);
46
+ }
47
+
48
+ function batchCallFrom(
49
+ BatchCallSystemType self,
50
+ SystemCallFromData[] memory systemCalls
51
+ ) internal returns (bytes[] memory returnDatas) {
52
+ return CallWrapper(self.toResourceId(), address(0)).batchCallFrom(systemCalls);
53
+ }
54
+
55
+ function batchCall(
56
+ CallWrapper memory self,
57
+ SystemCallData[] memory systemCalls
58
+ ) internal returns (bytes[] memory returnDatas) {
59
+ // if the contract calling this function is a root system, it should use `callAsRoot`
60
+ if (address(_world()) == address(this)) revert BatchCallSystemLib_CallingFromRootSystem();
61
+
62
+ bytes memory systemCall = abi.encodeCall(_batchCall_SystemCallDataArray.batchCall, (systemCalls));
63
+
64
+ bytes memory result = self.from == address(0)
65
+ ? _world().call(self.systemId, systemCall)
66
+ : _world().callFrom(self.from, self.systemId, systemCall);
67
+ return abi.decode(result, (bytes[]));
68
+ }
69
+
70
+ function batchCallFrom(
71
+ CallWrapper memory self,
72
+ SystemCallFromData[] memory systemCalls
73
+ ) internal returns (bytes[] memory returnDatas) {
74
+ // if the contract calling this function is a root system, it should use `callAsRoot`
75
+ if (address(_world()) == address(this)) revert BatchCallSystemLib_CallingFromRootSystem();
76
+
77
+ bytes memory systemCall = abi.encodeCall(_batchCallFrom_SystemCallFromDataArray.batchCallFrom, (systemCalls));
78
+
79
+ bytes memory result = self.from == address(0)
80
+ ? _world().call(self.systemId, systemCall)
81
+ : _world().callFrom(self.from, self.systemId, systemCall);
82
+ return abi.decode(result, (bytes[]));
83
+ }
84
+
85
+ function batchCall(
86
+ RootCallWrapper memory self,
87
+ SystemCallData[] memory systemCalls
88
+ ) internal returns (bytes[] memory returnDatas) {
89
+ bytes memory systemCall = abi.encodeCall(_batchCall_SystemCallDataArray.batchCall, (systemCalls));
90
+
91
+ bytes memory result = SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
92
+ return abi.decode(result, (bytes[]));
93
+ }
94
+
95
+ function batchCallFrom(
96
+ RootCallWrapper memory self,
97
+ SystemCallFromData[] memory systemCalls
98
+ ) internal returns (bytes[] memory returnDatas) {
99
+ bytes memory systemCall = abi.encodeCall(_batchCallFrom_SystemCallFromDataArray.batchCallFrom, (systemCalls));
100
+
101
+ bytes memory result = SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
102
+ return abi.decode(result, (bytes[]));
103
+ }
104
+
105
+ function callFrom(BatchCallSystemType self, address from) internal pure returns (CallWrapper memory) {
106
+ return CallWrapper(self.toResourceId(), from);
107
+ }
108
+
109
+ function callAsRoot(BatchCallSystemType self) internal view returns (RootCallWrapper memory) {
110
+ return RootCallWrapper(self.toResourceId(), WorldContextConsumerLib._msgSender());
111
+ }
112
+
113
+ function callAsRootFrom(BatchCallSystemType self, address from) internal pure returns (RootCallWrapper memory) {
114
+ return RootCallWrapper(self.toResourceId(), from);
115
+ }
116
+
117
+ function toResourceId(BatchCallSystemType self) internal pure returns (ResourceId) {
118
+ return ResourceId.wrap(BatchCallSystemType.unwrap(self));
119
+ }
120
+
121
+ function fromResourceId(ResourceId resourceId) internal pure returns (BatchCallSystemType) {
122
+ return BatchCallSystemType.wrap(resourceId.unwrap());
123
+ }
124
+
125
+ function getAddress(BatchCallSystemType self) internal view returns (address) {
126
+ return Systems.getSystem(self.toResourceId());
127
+ }
128
+
129
+ function _world() private view returns (IWorldCall) {
130
+ return IWorldCall(StoreSwitch.getStoreAddress());
131
+ }
132
+ }
133
+
134
+ /**
135
+ * System Function Interfaces
136
+ *
137
+ * We generate an interface for each system function, which is then used for encoding system calls.
138
+ * This is necessary to handle function overloading correctly (which abi.encodeCall cannot).
139
+ *
140
+ * Each interface is uniquely named based on the function name and parameters to prevent collisions.
141
+ */
142
+
143
+ interface _batchCall_SystemCallDataArray {
144
+ function batchCall(SystemCallData[] memory systemCalls) external;
145
+ }
146
+
147
+ interface _batchCallFrom_SystemCallFromDataArray {
148
+ function batchCallFrom(SystemCallFromData[] memory systemCalls) external;
149
+ }
150
+
151
+ using BatchCallSystemLib for BatchCallSystemType global;
152
+ using BatchCallSystemLib for CallWrapper global;
153
+ using BatchCallSystemLib for RootCallWrapper global;
@@ -0,0 +1,107 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity >=0.8.24;
3
+
4
+ /* Autogenerated file. Do not edit manually. */
5
+
6
+ import { ModuleInstallationSystem } from "../../../modules/init/implementations/ModuleInstallationSystem.sol";
7
+ import { IModule } from "../../../IModule.sol";
8
+ import { revertWithBytes } from "../../../revertWithBytes.sol";
9
+ import { IWorldCall } from "../../../IWorldKernel.sol";
10
+ import { SystemCall } from "../../../SystemCall.sol";
11
+ import { WorldContextConsumerLib } from "../../../WorldContext.sol";
12
+ import { Systems } from "../../../codegen/tables/Systems.sol";
13
+ import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
14
+ import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
15
+
16
+ type ModuleInstallationSystemType is bytes32;
17
+
18
+ // equivalent to WorldResourceIdLib.encode({ typeId: RESOURCE_SYSTEM, namespace: "", name: "Registration" }))
19
+ ModuleInstallationSystemType constant moduleInstallationSystem = ModuleInstallationSystemType.wrap(
20
+ 0x73790000000000000000000000000000526567697374726174696f6e00000000
21
+ );
22
+
23
+ struct CallWrapper {
24
+ ResourceId systemId;
25
+ address from;
26
+ }
27
+
28
+ struct RootCallWrapper {
29
+ ResourceId systemId;
30
+ address from;
31
+ }
32
+
33
+ /**
34
+ * @title ModuleInstallationSystemLib
35
+ * @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
36
+ * @dev This library is automatically generated from the corresponding system contract. Do not edit manually.
37
+ */
38
+ library ModuleInstallationSystemLib {
39
+ error ModuleInstallationSystemLib_CallingFromRootSystem();
40
+
41
+ function installModule(ModuleInstallationSystemType self, IModule module, bytes memory encodedArgs) internal {
42
+ return CallWrapper(self.toResourceId(), address(0)).installModule(module, encodedArgs);
43
+ }
44
+
45
+ function installModule(CallWrapper memory self, IModule module, bytes memory encodedArgs) internal {
46
+ // if the contract calling this function is a root system, it should use `callAsRoot`
47
+ if (address(_world()) == address(this)) revert ModuleInstallationSystemLib_CallingFromRootSystem();
48
+
49
+ bytes memory systemCall = abi.encodeCall(_installModule_IModule_bytes.installModule, (module, encodedArgs));
50
+ self.from == address(0)
51
+ ? _world().call(self.systemId, systemCall)
52
+ : _world().callFrom(self.from, self.systemId, systemCall);
53
+ }
54
+
55
+ function installModule(RootCallWrapper memory self, IModule module, bytes memory encodedArgs) internal {
56
+ bytes memory systemCall = abi.encodeCall(_installModule_IModule_bytes.installModule, (module, encodedArgs));
57
+ SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
58
+ }
59
+
60
+ function callFrom(ModuleInstallationSystemType self, address from) internal pure returns (CallWrapper memory) {
61
+ return CallWrapper(self.toResourceId(), from);
62
+ }
63
+
64
+ function callAsRoot(ModuleInstallationSystemType self) internal view returns (RootCallWrapper memory) {
65
+ return RootCallWrapper(self.toResourceId(), WorldContextConsumerLib._msgSender());
66
+ }
67
+
68
+ function callAsRootFrom(
69
+ ModuleInstallationSystemType self,
70
+ address from
71
+ ) internal pure returns (RootCallWrapper memory) {
72
+ return RootCallWrapper(self.toResourceId(), from);
73
+ }
74
+
75
+ function toResourceId(ModuleInstallationSystemType self) internal pure returns (ResourceId) {
76
+ return ResourceId.wrap(ModuleInstallationSystemType.unwrap(self));
77
+ }
78
+
79
+ function fromResourceId(ResourceId resourceId) internal pure returns (ModuleInstallationSystemType) {
80
+ return ModuleInstallationSystemType.wrap(resourceId.unwrap());
81
+ }
82
+
83
+ function getAddress(ModuleInstallationSystemType self) internal view returns (address) {
84
+ return Systems.getSystem(self.toResourceId());
85
+ }
86
+
87
+ function _world() private view returns (IWorldCall) {
88
+ return IWorldCall(StoreSwitch.getStoreAddress());
89
+ }
90
+ }
91
+
92
+ /**
93
+ * System Function Interfaces
94
+ *
95
+ * We generate an interface for each system function, which is then used for encoding system calls.
96
+ * This is necessary to handle function overloading correctly (which abi.encodeCall cannot).
97
+ *
98
+ * Each interface is uniquely named based on the function name and parameters to prevent collisions.
99
+ */
100
+
101
+ interface _installModule_IModule_bytes {
102
+ function installModule(IModule module, bytes memory encodedArgs) external;
103
+ }
104
+
105
+ using ModuleInstallationSystemLib for ModuleInstallationSystemType global;
106
+ using ModuleInstallationSystemLib for CallWrapper global;
107
+ using ModuleInstallationSystemLib for RootCallWrapper global;
@@ -0,0 +1,71 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity >=0.8.24;
3
+
4
+ /* Autogenerated file. Do not edit manually. */
5
+
6
+ import { RegistrationSystem } from "../../../modules/init/RegistrationSystem.sol";
7
+ import { revertWithBytes } from "../../../revertWithBytes.sol";
8
+ import { IWorldCall } from "../../../IWorldKernel.sol";
9
+ import { SystemCall } from "../../../SystemCall.sol";
10
+ import { WorldContextConsumerLib } from "../../../WorldContext.sol";
11
+ import { Systems } from "../../../codegen/tables/Systems.sol";
12
+ import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
13
+ import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
14
+
15
+ type RegistrationSystemType is bytes32;
16
+
17
+ // equivalent to WorldResourceIdLib.encode({ typeId: RESOURCE_SYSTEM, namespace: "", name: "Registration" }))
18
+ RegistrationSystemType constant registrationSystem = RegistrationSystemType.wrap(
19
+ 0x73790000000000000000000000000000526567697374726174696f6e00000000
20
+ );
21
+
22
+ struct CallWrapper {
23
+ ResourceId systemId;
24
+ address from;
25
+ }
26
+
27
+ struct RootCallWrapper {
28
+ ResourceId systemId;
29
+ address from;
30
+ }
31
+
32
+ /**
33
+ * @title RegistrationSystemLib
34
+ * @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
35
+ * @dev This library is automatically generated from the corresponding system contract. Do not edit manually.
36
+ */
37
+ library RegistrationSystemLib {
38
+ error RegistrationSystemLib_CallingFromRootSystem();
39
+
40
+ function callFrom(RegistrationSystemType self, address from) internal pure returns (CallWrapper memory) {
41
+ return CallWrapper(self.toResourceId(), from);
42
+ }
43
+
44
+ function callAsRoot(RegistrationSystemType self) internal view returns (RootCallWrapper memory) {
45
+ return RootCallWrapper(self.toResourceId(), WorldContextConsumerLib._msgSender());
46
+ }
47
+
48
+ function callAsRootFrom(RegistrationSystemType self, address from) internal pure returns (RootCallWrapper memory) {
49
+ return RootCallWrapper(self.toResourceId(), from);
50
+ }
51
+
52
+ function toResourceId(RegistrationSystemType self) internal pure returns (ResourceId) {
53
+ return ResourceId.wrap(RegistrationSystemType.unwrap(self));
54
+ }
55
+
56
+ function fromResourceId(ResourceId resourceId) internal pure returns (RegistrationSystemType) {
57
+ return RegistrationSystemType.wrap(resourceId.unwrap());
58
+ }
59
+
60
+ function getAddress(RegistrationSystemType self) internal view returns (address) {
61
+ return Systems.getSystem(self.toResourceId());
62
+ }
63
+
64
+ function _world() private view returns (IWorldCall) {
65
+ return IWorldCall(StoreSwitch.getStoreAddress());
66
+ }
67
+ }
68
+
69
+ using RegistrationSystemLib for RegistrationSystemType global;
70
+ using RegistrationSystemLib for CallWrapper global;
71
+ using RegistrationSystemLib for RootCallWrapper global;
@@ -0,0 +1,228 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity >=0.8.24;
3
+
4
+ /* Autogenerated file. Do not edit manually. */
5
+
6
+ import { StoreRegistrationSystem } from "../../../modules/init/implementations/StoreRegistrationSystem.sol";
7
+ import { ResourceId } from "../../../WorldResourceId.sol";
8
+ import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
9
+ import { Schema } from "@latticexyz/store/src/Schema.sol";
10
+ import { IStoreHook } from "@latticexyz/store/src/IStoreHook.sol";
11
+ import { revertWithBytes } from "../../../revertWithBytes.sol";
12
+ import { IWorldCall } from "../../../IWorldKernel.sol";
13
+ import { SystemCall } from "../../../SystemCall.sol";
14
+ import { WorldContextConsumerLib } from "../../../WorldContext.sol";
15
+ import { Systems } from "../../../codegen/tables/Systems.sol";
16
+ import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
17
+ import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
18
+
19
+ type StoreRegistrationSystemType is bytes32;
20
+
21
+ // equivalent to WorldResourceIdLib.encode({ typeId: RESOURCE_SYSTEM, namespace: "", name: "Registration" }))
22
+ StoreRegistrationSystemType constant storeRegistrationSystem = StoreRegistrationSystemType.wrap(
23
+ 0x73790000000000000000000000000000526567697374726174696f6e00000000
24
+ );
25
+
26
+ struct CallWrapper {
27
+ ResourceId systemId;
28
+ address from;
29
+ }
30
+
31
+ struct RootCallWrapper {
32
+ ResourceId systemId;
33
+ address from;
34
+ }
35
+
36
+ /**
37
+ * @title StoreRegistrationSystemLib
38
+ * @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
39
+ * @dev This library is automatically generated from the corresponding system contract. Do not edit manually.
40
+ */
41
+ library StoreRegistrationSystemLib {
42
+ error StoreRegistrationSystemLib_CallingFromRootSystem();
43
+
44
+ function registerTable(
45
+ StoreRegistrationSystemType self,
46
+ ResourceId tableId,
47
+ FieldLayout fieldLayout,
48
+ Schema keySchema,
49
+ Schema valueSchema,
50
+ string[] memory keyNames,
51
+ string[] memory fieldNames
52
+ ) internal {
53
+ return
54
+ CallWrapper(self.toResourceId(), address(0)).registerTable(
55
+ tableId,
56
+ fieldLayout,
57
+ keySchema,
58
+ valueSchema,
59
+ keyNames,
60
+ fieldNames
61
+ );
62
+ }
63
+
64
+ function registerStoreHook(
65
+ StoreRegistrationSystemType self,
66
+ ResourceId tableId,
67
+ IStoreHook hookAddress,
68
+ uint8 enabledHooksBitmap
69
+ ) internal {
70
+ return CallWrapper(self.toResourceId(), address(0)).registerStoreHook(tableId, hookAddress, enabledHooksBitmap);
71
+ }
72
+
73
+ function unregisterStoreHook(StoreRegistrationSystemType self, ResourceId tableId, IStoreHook hookAddress) internal {
74
+ return CallWrapper(self.toResourceId(), address(0)).unregisterStoreHook(tableId, hookAddress);
75
+ }
76
+
77
+ function registerTable(
78
+ CallWrapper memory self,
79
+ ResourceId tableId,
80
+ FieldLayout fieldLayout,
81
+ Schema keySchema,
82
+ Schema valueSchema,
83
+ string[] memory keyNames,
84
+ string[] memory fieldNames
85
+ ) internal {
86
+ // if the contract calling this function is a root system, it should use `callAsRoot`
87
+ if (address(_world()) == address(this)) revert StoreRegistrationSystemLib_CallingFromRootSystem();
88
+
89
+ bytes memory systemCall = abi.encodeCall(
90
+ _registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.registerTable,
91
+ (tableId, fieldLayout, keySchema, valueSchema, keyNames, fieldNames)
92
+ );
93
+ self.from == address(0)
94
+ ? _world().call(self.systemId, systemCall)
95
+ : _world().callFrom(self.from, self.systemId, systemCall);
96
+ }
97
+
98
+ function registerStoreHook(
99
+ CallWrapper memory self,
100
+ ResourceId tableId,
101
+ IStoreHook hookAddress,
102
+ uint8 enabledHooksBitmap
103
+ ) internal {
104
+ // if the contract calling this function is a root system, it should use `callAsRoot`
105
+ if (address(_world()) == address(this)) revert StoreRegistrationSystemLib_CallingFromRootSystem();
106
+
107
+ bytes memory systemCall = abi.encodeCall(
108
+ _registerStoreHook_ResourceId_IStoreHook_uint8.registerStoreHook,
109
+ (tableId, hookAddress, enabledHooksBitmap)
110
+ );
111
+ self.from == address(0)
112
+ ? _world().call(self.systemId, systemCall)
113
+ : _world().callFrom(self.from, self.systemId, systemCall);
114
+ }
115
+
116
+ function unregisterStoreHook(CallWrapper memory self, ResourceId tableId, IStoreHook hookAddress) internal {
117
+ // if the contract calling this function is a root system, it should use `callAsRoot`
118
+ if (address(_world()) == address(this)) revert StoreRegistrationSystemLib_CallingFromRootSystem();
119
+
120
+ bytes memory systemCall = abi.encodeCall(
121
+ _unregisterStoreHook_ResourceId_IStoreHook.unregisterStoreHook,
122
+ (tableId, hookAddress)
123
+ );
124
+ self.from == address(0)
125
+ ? _world().call(self.systemId, systemCall)
126
+ : _world().callFrom(self.from, self.systemId, systemCall);
127
+ }
128
+
129
+ function registerTable(
130
+ RootCallWrapper memory self,
131
+ ResourceId tableId,
132
+ FieldLayout fieldLayout,
133
+ Schema keySchema,
134
+ Schema valueSchema,
135
+ string[] memory keyNames,
136
+ string[] memory fieldNames
137
+ ) internal {
138
+ bytes memory systemCall = abi.encodeCall(
139
+ _registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.registerTable,
140
+ (tableId, fieldLayout, keySchema, valueSchema, keyNames, fieldNames)
141
+ );
142
+ SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
143
+ }
144
+
145
+ function registerStoreHook(
146
+ RootCallWrapper memory self,
147
+ ResourceId tableId,
148
+ IStoreHook hookAddress,
149
+ uint8 enabledHooksBitmap
150
+ ) internal {
151
+ bytes memory systemCall = abi.encodeCall(
152
+ _registerStoreHook_ResourceId_IStoreHook_uint8.registerStoreHook,
153
+ (tableId, hookAddress, enabledHooksBitmap)
154
+ );
155
+ SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
156
+ }
157
+
158
+ function unregisterStoreHook(RootCallWrapper memory self, ResourceId tableId, IStoreHook hookAddress) internal {
159
+ bytes memory systemCall = abi.encodeCall(
160
+ _unregisterStoreHook_ResourceId_IStoreHook.unregisterStoreHook,
161
+ (tableId, hookAddress)
162
+ );
163
+ SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
164
+ }
165
+
166
+ function callFrom(StoreRegistrationSystemType self, address from) internal pure returns (CallWrapper memory) {
167
+ return CallWrapper(self.toResourceId(), from);
168
+ }
169
+
170
+ function callAsRoot(StoreRegistrationSystemType self) internal view returns (RootCallWrapper memory) {
171
+ return RootCallWrapper(self.toResourceId(), WorldContextConsumerLib._msgSender());
172
+ }
173
+
174
+ function callAsRootFrom(
175
+ StoreRegistrationSystemType self,
176
+ address from
177
+ ) internal pure returns (RootCallWrapper memory) {
178
+ return RootCallWrapper(self.toResourceId(), from);
179
+ }
180
+
181
+ function toResourceId(StoreRegistrationSystemType self) internal pure returns (ResourceId) {
182
+ return ResourceId.wrap(StoreRegistrationSystemType.unwrap(self));
183
+ }
184
+
185
+ function fromResourceId(ResourceId resourceId) internal pure returns (StoreRegistrationSystemType) {
186
+ return StoreRegistrationSystemType.wrap(resourceId.unwrap());
187
+ }
188
+
189
+ function getAddress(StoreRegistrationSystemType self) internal view returns (address) {
190
+ return Systems.getSystem(self.toResourceId());
191
+ }
192
+
193
+ function _world() private view returns (IWorldCall) {
194
+ return IWorldCall(StoreSwitch.getStoreAddress());
195
+ }
196
+ }
197
+
198
+ /**
199
+ * System Function Interfaces
200
+ *
201
+ * We generate an interface for each system function, which is then used for encoding system calls.
202
+ * This is necessary to handle function overloading correctly (which abi.encodeCall cannot).
203
+ *
204
+ * Each interface is uniquely named based on the function name and parameters to prevent collisions.
205
+ */
206
+
207
+ interface _registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray {
208
+ function registerTable(
209
+ ResourceId tableId,
210
+ FieldLayout fieldLayout,
211
+ Schema keySchema,
212
+ Schema valueSchema,
213
+ string[] memory keyNames,
214
+ string[] memory fieldNames
215
+ ) external;
216
+ }
217
+
218
+ interface _registerStoreHook_ResourceId_IStoreHook_uint8 {
219
+ function registerStoreHook(ResourceId tableId, IStoreHook hookAddress, uint8 enabledHooksBitmap) external;
220
+ }
221
+
222
+ interface _unregisterStoreHook_ResourceId_IStoreHook {
223
+ function unregisterStoreHook(ResourceId tableId, IStoreHook hookAddress) external;
224
+ }
225
+
226
+ using StoreRegistrationSystemLib for StoreRegistrationSystemType global;
227
+ using StoreRegistrationSystemLib for CallWrapper global;
228
+ using StoreRegistrationSystemLib for RootCallWrapper global;