@latticexyz/world 2.2.20-306707570ec5fd27877d674502aa381d7fd89662 → 2.2.20-31870811b975d44f4b5d14ae69fd623914237584
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.
- package/dist/{System.abi-ENBBMWQJ.js → System.abi-QE5PR27M.js} +2 -2
- package/dist/{System.abi-ENBBMWQJ.js.map → System.abi-QE5PR27M.js.map} +1 -1
- package/dist/{chunk-XSBK355I.js → chunk-6E2JY6MZ.js} +2 -1
- package/dist/chunk-6E2JY6MZ.js.map +1 -0
- package/dist/{chunk-SGZK356L.js → chunk-6KRKTNJ5.js} +42 -22
- package/dist/chunk-6KRKTNJ5.js.map +1 -0
- package/dist/{chunk-2W4TKC47.js → chunk-NVV4GS3R.js} +2 -2
- package/dist/{dynamicResolution-AmVd5Qtd.d.ts → dynamicResolution-Bul4y_B0.d.ts} +11 -5
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/internal.d.ts +23 -18
- package/dist/internal.js +7 -7
- package/dist/internal.js.map +1 -1
- package/dist/mud.config.d.ts +242 -131
- package/dist/mud.config.js +9 -7
- package/dist/node.d.ts +1 -1
- package/dist/node.js +22 -20
- package/dist/node.js.map +1 -1
- package/dist/{world-Nl5BmMma.d.ts → world-NqdA4pfW.d.ts} +9 -1
- package/out/AccessControl.t.sol/AccessControlTest.json +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json.d.ts +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
- package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.abi.json +7 -0
- package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.abi.json.d.ts +9 -0
- package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.json +1 -0
- package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.abi.json +20 -0
- package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.abi.json.d.ts +22 -0
- package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.json +1 -0
- package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.abi.json +15 -0
- package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.abi.json.d.ts +17 -0
- package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.json +1 -0
- package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.abi.json +20 -0
- package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.abi.json.d.ts +22 -0
- package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.json +1 -0
- package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.abi.json +20 -0
- package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.abi.json.d.ts +22 -0
- package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.json +1 -0
- package/out/AddressArray.sol/AddressArray.json +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json.d.ts +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
- package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.abi.json +7 -0
- package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.abi.json.d.ts +9 -0
- package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.json +1 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.abi.json +25 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.abi.json.d.ts +27 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.json +1 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.abi.json +25 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.abi.json.d.ts +27 -0
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.json +1 -0
- package/out/Balances.sol/Balances.json +1 -1
- package/out/BatchCall.t.sol/BatchCallTest.json +1 -1
- package/out/BatchCall.t.sol/TestSystem.abi.json +1 -1
- package/out/BatchCall.t.sol/TestSystem.abi.json.d.ts +1 -1
- package/out/BatchCall.t.sol/TestSystem.json +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.abi.json +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.abi.json.d.ts +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
- package/out/BatchCallSystemLib.sol/BatchCallSystemLib.abi.json +7 -0
- package/out/BatchCallSystemLib.sol/BatchCallSystemLib.abi.json.d.ts +9 -0
- package/out/BatchCallSystemLib.sol/BatchCallSystemLib.json +1 -0
- package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.abi.json +32 -0
- package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.abi.json.d.ts +34 -0
- package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.json +1 -0
- package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.abi.json +27 -0
- package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.abi.json.d.ts +29 -0
- package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.json +1 -0
- package/out/Bool.sol/Bool.json +1 -1
- package/out/Create2Factory.sol/Create2Factory.json +1 -1
- package/out/Delegation.sol/Delegation.json +1 -1
- package/out/DelegationControl.sol/DelegationControl.abi.json +1 -1
- package/out/DelegationControl.sol/DelegationControl.abi.json.d.ts +1 -1
- package/out/DelegationControl.sol/DelegationControl.json +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.abi.json +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.abi.json.d.ts +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
- package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
- package/out/Factories.t.sol/FactoriesTest.json +1 -1
- package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
- package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
- package/out/GasReporter.sol/GasReporter.json +1 -1
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
- package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
- package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
- package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
- package/out/IRegistrationSystem.sol/IRegistrationSystem.json +1 -1
- package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.abi.json +81 -0
- package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.abi.json.d.ts +83 -0
- package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.json +1 -0
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
- package/out/InitModule.sol/InitModule.abi.json +1 -1
- package/out/InitModule.sol/InitModule.abi.json.d.ts +1 -1
- package/out/InitModule.sol/InitModule.json +1 -1
- package/out/InitModule.t.sol/InitModuleTest.json +1 -1
- package/out/InitModule.t.sol/WorldMock.json +1 -1
- package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
- package/out/InitSystems.t.sol/LimitedCallContextTest.json +1 -1
- package/out/InstalledModules.sol/InstalledModules.json +1 -1
- package/out/LimitedCallContext.sol/LimitedCallContext.json +1 -1
- package/out/Module.sol/Module.abi.json +1 -1
- package/out/Module.sol/Module.abi.json.d.ts +1 -1
- package/out/Module.sol/Module.json +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json.d.ts +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
- package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.abi.json +7 -0
- package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.abi.json.d.ts +9 -0
- package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.json +1 -0
- package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.abi.json +20 -0
- package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.abi.json.d.ts +22 -0
- package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.json +1 -0
- package/out/MudTest.t.sol/MudTest.json +1 -1
- package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
- package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.abi.json +1 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts +1 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
- package/out/RegistrationSystemLib.sol/RegistrationSystemLib.abi.json +7 -0
- package/out/RegistrationSystemLib.sol/RegistrationSystemLib.abi.json.d.ts +9 -0
- package/out/RegistrationSystemLib.sol/RegistrationSystemLib.json +1 -0
- package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
- package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
- package/out/RevertWithBytes.t.sol/RevertWithBytesTest.json +1 -1
- package/out/StdError.sol/stdError.json +1 -1
- package/out/StoreMock.sol/StoreMock.json +1 -1
- package/out/StoreRead.sol/StoreRead.json +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
- package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.abi.json +7 -0
- package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.abi.json.d.ts +9 -0
- package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.json +1 -0
- package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.abi.json +25 -0
- package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.abi.json.d.ts +27 -0
- package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.json +1 -0
- package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.abi.json +40 -0
- package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.abi.json.d.ts +42 -0
- package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.json +1 -0
- package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.abi.json +20 -0
- package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.abi.json.d.ts +22 -0
- package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.json +1 -0
- package/out/System.sol/System.abi.json +1 -1
- package/out/System.sol/System.abi.json.d.ts +1 -1
- package/out/System.sol/System.json +1 -1
- package/out/System.t.sol/SystemTest.json +1 -1
- package/out/System.t.sol/TestSystem.abi.json +1 -1
- package/out/System.t.sol/TestSystem.abi.json.d.ts +1 -1
- package/out/System.t.sol/TestSystem.json +1 -1
- package/out/SystemCall.sol/SystemCall.json +1 -1
- package/out/SystemHook.t.sol/SystemHookTest.json +1 -1
- package/out/SystemHooks.sol/SystemHooks.json +1 -1
- package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
- package/out/Systems.sol/Systems.json +1 -1
- package/out/TwoFields.sol/TwoFields.json +1 -1
- package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
- package/out/Utils.t.sol/UtilsTest.json +1 -1
- package/out/Utils.t.sol/UtilsTestSystem.abi.json +1 -1
- package/out/Utils.t.sol/UtilsTestSystem.abi.json.d.ts +1 -1
- package/out/Utils.t.sol/UtilsTestSystem.json +1 -1
- package/out/World.sol/World.json +1 -1
- package/out/World.t.sol/EchoSystemHook.json +1 -1
- package/out/World.t.sol/IWorldTestSystem.json +1 -1
- package/out/World.t.sol/PayableFallbackSystem.abi.json +1 -1
- package/out/World.t.sol/PayableFallbackSystem.abi.json.d.ts +1 -1
- package/out/World.t.sol/PayableFallbackSystem.json +1 -1
- package/out/World.t.sol/RevertSystemHook.json +1 -1
- package/out/World.t.sol/WorldTest.json +1 -1
- package/out/World.t.sol/WorldTestSystem.abi.json +1 -1
- package/out/World.t.sol/WorldTestSystem.abi.json.d.ts +1 -1
- package/out/World.t.sol/WorldTestSystem.json +1 -1
- package/out/WorldBalance.t.sol/WorldBalanceTest.json +1 -1
- package/out/WorldBalance.t.sol/WorldBalanceTestSystem.abi.json +1 -1
- package/out/WorldBalance.t.sol/WorldBalanceTestSystem.abi.json.d.ts +1 -1
- package/out/WorldBalance.t.sol/WorldBalanceTestSystem.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumer.abi.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumer.abi.json.d.ts +1 -1
- package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
- package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
- package/out/WorldContext.t.sol/TestContextConsumer.abi.json +1 -1
- package/out/WorldContext.t.sol/TestContextConsumer.abi.json.d.ts +1 -1
- package/out/WorldContext.t.sol/TestContextConsumer.json +1 -1
- package/out/WorldContext.t.sol/WorldContextTest.json +1 -1
- package/out/WorldDynamicUpdate.t.sol/UpdateInDynamicFieldTest.json +1 -1
- package/out/WorldFactory.sol/WorldFactory.json +1 -1
- package/out/WorldProxy.sol/WorldProxy.json +1 -1
- package/out/WorldProxy.t.sol/WorldProxyTest.json +1 -1
- package/out/WorldProxyFactory.sol/WorldProxyFactory.json +1 -1
- package/out/WorldProxyFactory.t.sol/WorldProxyFactoryTest.json +1 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json +1 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json.d.ts +1 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.abi.json +7 -0
- package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.abi.json.d.ts +9 -0
- package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.abi.json +25 -0
- package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.abi.json.d.ts +27 -0
- package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.abi.json +20 -0
- package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.abi.json.d.ts +22 -0
- package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.abi.json +25 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.abi.json.d.ts +27 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.abi.json +15 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.abi.json.d.ts +17 -0
- package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.abi.json +25 -0
- package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.abi.json.d.ts +27 -0
- package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.abi.json +25 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.abi.json.d.ts +27 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.abi.json +25 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.abi.json.d.ts +27 -0
- package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.abi.json +15 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.abi.json.d.ts +17 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.abi.json +15 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.abi.json.d.ts +17 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.json +1 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.abi.json +20 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.abi.json.d.ts +22 -0
- package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.json +1 -0
- package/out/WorldResourceId.t.sol/WorldResourceIdTest.json +1 -1
- package/out/build-info/{43a8dd5c87606a54984bccbb9ca78a38.json → 6366a746548e984842b93ef762b76b99.json} +1 -1
- package/out/test.sol/DSTest.json +1 -1
- package/package.json +9 -9
- package/src/WorldContext.sol +1 -1
- package/src/codegen/experimental/systems/AccessManagementSystemLib.sol +182 -0
- package/src/codegen/experimental/systems/BalanceTransferSystemLib.sol +169 -0
- package/src/codegen/experimental/systems/BatchCallSystemLib.sol +153 -0
- package/src/codegen/experimental/systems/ModuleInstallationSystemLib.sol +107 -0
- package/src/codegen/experimental/systems/RegistrationSystemLib.sol +71 -0
- package/src/codegen/experimental/systems/StoreRegistrationSystemLib.sol +228 -0
- package/src/codegen/experimental/systems/WorldRegistrationSystemLib.sol +471 -0
- package/src/codegen/interfaces/IStoreRegistrationSystem.sol +29 -0
- package/src/modules/init/implementations/ModuleInstallationSystem.sol +1 -1
- package/src/modules/init/implementations/StoreRegistrationSystem.sol +2 -1
- package/src/modules/init/implementations/WorldRegistrationSystem.sol +1 -1
- package/dist/chunk-SGZK356L.js.map +0 -1
- package/dist/chunk-XSBK355I.js.map +0 -1
- /package/dist/{chunk-2W4TKC47.js.map → chunk-NVV4GS3R.js.map} +0 -0
@@ -0,0 +1,471 @@
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
2
|
+
pragma solidity >=0.8.24;
|
3
|
+
|
4
|
+
/* Autogenerated file. Do not edit manually. */
|
5
|
+
|
6
|
+
import { WorldRegistrationSystem } from "../../../modules/init/implementations/WorldRegistrationSystem.sol";
|
7
|
+
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
8
|
+
import { ISystemHook } from "../../../ISystemHook.sol";
|
9
|
+
import { System } from "../../../System.sol";
|
10
|
+
import { revertWithBytes } from "../../../revertWithBytes.sol";
|
11
|
+
import { IWorldCall } from "../../../IWorldKernel.sol";
|
12
|
+
import { SystemCall } from "../../../SystemCall.sol";
|
13
|
+
import { WorldContextConsumerLib } from "../../../WorldContext.sol";
|
14
|
+
import { Systems } from "../../../codegen/tables/Systems.sol";
|
15
|
+
import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
|
16
|
+
|
17
|
+
type WorldRegistrationSystemType is bytes32;
|
18
|
+
|
19
|
+
// equivalent to WorldResourceIdLib.encode({ typeId: RESOURCE_SYSTEM, namespace: "", name: "Registration" }))
|
20
|
+
WorldRegistrationSystemType constant worldRegistrationSystem = WorldRegistrationSystemType.wrap(
|
21
|
+
0x73790000000000000000000000000000526567697374726174696f6e00000000
|
22
|
+
);
|
23
|
+
|
24
|
+
struct CallWrapper {
|
25
|
+
ResourceId systemId;
|
26
|
+
address from;
|
27
|
+
}
|
28
|
+
|
29
|
+
struct RootCallWrapper {
|
30
|
+
ResourceId systemId;
|
31
|
+
address from;
|
32
|
+
}
|
33
|
+
|
34
|
+
/**
|
35
|
+
* @title WorldRegistrationSystemLib
|
36
|
+
* @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
|
37
|
+
* @dev This library is automatically generated from the corresponding system contract. Do not edit manually.
|
38
|
+
*/
|
39
|
+
library WorldRegistrationSystemLib {
|
40
|
+
error WorldRegistrationSystemLib_CallingFromRootSystem();
|
41
|
+
|
42
|
+
function registerNamespace(WorldRegistrationSystemType self, ResourceId namespaceId) internal {
|
43
|
+
return CallWrapper(self.toResourceId(), address(0)).registerNamespace(namespaceId);
|
44
|
+
}
|
45
|
+
|
46
|
+
function registerSystemHook(
|
47
|
+
WorldRegistrationSystemType self,
|
48
|
+
ResourceId systemId,
|
49
|
+
ISystemHook hookAddress,
|
50
|
+
uint8 enabledHooksBitmap
|
51
|
+
) internal {
|
52
|
+
return CallWrapper(self.toResourceId(), address(0)).registerSystemHook(systemId, hookAddress, enabledHooksBitmap);
|
53
|
+
}
|
54
|
+
|
55
|
+
function unregisterSystemHook(
|
56
|
+
WorldRegistrationSystemType self,
|
57
|
+
ResourceId systemId,
|
58
|
+
ISystemHook hookAddress
|
59
|
+
) internal {
|
60
|
+
return CallWrapper(self.toResourceId(), address(0)).unregisterSystemHook(systemId, hookAddress);
|
61
|
+
}
|
62
|
+
|
63
|
+
function registerSystem(
|
64
|
+
WorldRegistrationSystemType self,
|
65
|
+
ResourceId systemId,
|
66
|
+
System system,
|
67
|
+
bool publicAccess
|
68
|
+
) internal {
|
69
|
+
return CallWrapper(self.toResourceId(), address(0)).registerSystem(systemId, system, publicAccess);
|
70
|
+
}
|
71
|
+
|
72
|
+
function registerFunctionSelector(
|
73
|
+
WorldRegistrationSystemType self,
|
74
|
+
ResourceId systemId,
|
75
|
+
string memory systemFunctionSignature
|
76
|
+
) internal returns (bytes4 worldFunctionSelector) {
|
77
|
+
return CallWrapper(self.toResourceId(), address(0)).registerFunctionSelector(systemId, systemFunctionSignature);
|
78
|
+
}
|
79
|
+
|
80
|
+
function registerRootFunctionSelector(
|
81
|
+
WorldRegistrationSystemType self,
|
82
|
+
ResourceId systemId,
|
83
|
+
string memory worldFunctionSignature,
|
84
|
+
string memory systemFunctionSignature
|
85
|
+
) internal returns (bytes4 worldFunctionSelector) {
|
86
|
+
return
|
87
|
+
CallWrapper(self.toResourceId(), address(0)).registerRootFunctionSelector(
|
88
|
+
systemId,
|
89
|
+
worldFunctionSignature,
|
90
|
+
systemFunctionSignature
|
91
|
+
);
|
92
|
+
}
|
93
|
+
|
94
|
+
function registerDelegation(
|
95
|
+
WorldRegistrationSystemType self,
|
96
|
+
address delegatee,
|
97
|
+
ResourceId delegationControlId,
|
98
|
+
bytes memory initCallData
|
99
|
+
) internal {
|
100
|
+
return
|
101
|
+
CallWrapper(self.toResourceId(), address(0)).registerDelegation(delegatee, delegationControlId, initCallData);
|
102
|
+
}
|
103
|
+
|
104
|
+
function unregisterDelegation(WorldRegistrationSystemType self, address delegatee) internal {
|
105
|
+
return CallWrapper(self.toResourceId(), address(0)).unregisterDelegation(delegatee);
|
106
|
+
}
|
107
|
+
|
108
|
+
function registerNamespaceDelegation(
|
109
|
+
WorldRegistrationSystemType self,
|
110
|
+
ResourceId namespaceId,
|
111
|
+
ResourceId delegationControlId,
|
112
|
+
bytes memory initCallData
|
113
|
+
) internal {
|
114
|
+
return
|
115
|
+
CallWrapper(self.toResourceId(), address(0)).registerNamespaceDelegation(
|
116
|
+
namespaceId,
|
117
|
+
delegationControlId,
|
118
|
+
initCallData
|
119
|
+
);
|
120
|
+
}
|
121
|
+
|
122
|
+
function unregisterNamespaceDelegation(WorldRegistrationSystemType self, ResourceId namespaceId) internal {
|
123
|
+
return CallWrapper(self.toResourceId(), address(0)).unregisterNamespaceDelegation(namespaceId);
|
124
|
+
}
|
125
|
+
|
126
|
+
function registerNamespace(CallWrapper memory self, ResourceId namespaceId) internal {
|
127
|
+
// if the contract calling this function is a root system, it should use `callAsRoot`
|
128
|
+
if (address(_world()) == address(this)) revert WorldRegistrationSystemLib_CallingFromRootSystem();
|
129
|
+
|
130
|
+
bytes memory systemCall = abi.encodeCall(_registerNamespace_ResourceId.registerNamespace, (namespaceId));
|
131
|
+
self.from == address(0)
|
132
|
+
? _world().call(self.systemId, systemCall)
|
133
|
+
: _world().callFrom(self.from, self.systemId, systemCall);
|
134
|
+
}
|
135
|
+
|
136
|
+
function registerSystemHook(
|
137
|
+
CallWrapper memory self,
|
138
|
+
ResourceId systemId,
|
139
|
+
ISystemHook hookAddress,
|
140
|
+
uint8 enabledHooksBitmap
|
141
|
+
) internal {
|
142
|
+
// if the contract calling this function is a root system, it should use `callAsRoot`
|
143
|
+
if (address(_world()) == address(this)) revert WorldRegistrationSystemLib_CallingFromRootSystem();
|
144
|
+
|
145
|
+
bytes memory systemCall = abi.encodeCall(
|
146
|
+
_registerSystemHook_ResourceId_ISystemHook_uint8.registerSystemHook,
|
147
|
+
(systemId, hookAddress, enabledHooksBitmap)
|
148
|
+
);
|
149
|
+
self.from == address(0)
|
150
|
+
? _world().call(self.systemId, systemCall)
|
151
|
+
: _world().callFrom(self.from, self.systemId, systemCall);
|
152
|
+
}
|
153
|
+
|
154
|
+
function unregisterSystemHook(CallWrapper memory self, ResourceId systemId, ISystemHook hookAddress) internal {
|
155
|
+
// if the contract calling this function is a root system, it should use `callAsRoot`
|
156
|
+
if (address(_world()) == address(this)) revert WorldRegistrationSystemLib_CallingFromRootSystem();
|
157
|
+
|
158
|
+
bytes memory systemCall = abi.encodeCall(
|
159
|
+
_unregisterSystemHook_ResourceId_ISystemHook.unregisterSystemHook,
|
160
|
+
(systemId, hookAddress)
|
161
|
+
);
|
162
|
+
self.from == address(0)
|
163
|
+
? _world().call(self.systemId, systemCall)
|
164
|
+
: _world().callFrom(self.from, self.systemId, systemCall);
|
165
|
+
}
|
166
|
+
|
167
|
+
function registerSystem(CallWrapper memory self, ResourceId systemId, System system, bool publicAccess) internal {
|
168
|
+
// if the contract calling this function is a root system, it should use `callAsRoot`
|
169
|
+
if (address(_world()) == address(this)) revert WorldRegistrationSystemLib_CallingFromRootSystem();
|
170
|
+
|
171
|
+
bytes memory systemCall = abi.encodeCall(
|
172
|
+
_registerSystem_ResourceId_System_bool.registerSystem,
|
173
|
+
(systemId, system, publicAccess)
|
174
|
+
);
|
175
|
+
self.from == address(0)
|
176
|
+
? _world().call(self.systemId, systemCall)
|
177
|
+
: _world().callFrom(self.from, self.systemId, systemCall);
|
178
|
+
}
|
179
|
+
|
180
|
+
function registerFunctionSelector(
|
181
|
+
CallWrapper memory self,
|
182
|
+
ResourceId systemId,
|
183
|
+
string memory systemFunctionSignature
|
184
|
+
) internal returns (bytes4 worldFunctionSelector) {
|
185
|
+
// if the contract calling this function is a root system, it should use `callAsRoot`
|
186
|
+
if (address(_world()) == address(this)) revert WorldRegistrationSystemLib_CallingFromRootSystem();
|
187
|
+
|
188
|
+
bytes memory systemCall = abi.encodeCall(
|
189
|
+
_registerFunctionSelector_ResourceId_string.registerFunctionSelector,
|
190
|
+
(systemId, systemFunctionSignature)
|
191
|
+
);
|
192
|
+
|
193
|
+
bytes memory result = self.from == address(0)
|
194
|
+
? _world().call(self.systemId, systemCall)
|
195
|
+
: _world().callFrom(self.from, self.systemId, systemCall);
|
196
|
+
return abi.decode(result, (bytes4));
|
197
|
+
}
|
198
|
+
|
199
|
+
function registerRootFunctionSelector(
|
200
|
+
CallWrapper memory self,
|
201
|
+
ResourceId systemId,
|
202
|
+
string memory worldFunctionSignature,
|
203
|
+
string memory systemFunctionSignature
|
204
|
+
) internal returns (bytes4 worldFunctionSelector) {
|
205
|
+
// if the contract calling this function is a root system, it should use `callAsRoot`
|
206
|
+
if (address(_world()) == address(this)) revert WorldRegistrationSystemLib_CallingFromRootSystem();
|
207
|
+
|
208
|
+
bytes memory systemCall = abi.encodeCall(
|
209
|
+
_registerRootFunctionSelector_ResourceId_string_string.registerRootFunctionSelector,
|
210
|
+
(systemId, worldFunctionSignature, systemFunctionSignature)
|
211
|
+
);
|
212
|
+
|
213
|
+
bytes memory result = self.from == address(0)
|
214
|
+
? _world().call(self.systemId, systemCall)
|
215
|
+
: _world().callFrom(self.from, self.systemId, systemCall);
|
216
|
+
return abi.decode(result, (bytes4));
|
217
|
+
}
|
218
|
+
|
219
|
+
function registerDelegation(
|
220
|
+
CallWrapper memory self,
|
221
|
+
address delegatee,
|
222
|
+
ResourceId delegationControlId,
|
223
|
+
bytes memory initCallData
|
224
|
+
) internal {
|
225
|
+
// if the contract calling this function is a root system, it should use `callAsRoot`
|
226
|
+
if (address(_world()) == address(this)) revert WorldRegistrationSystemLib_CallingFromRootSystem();
|
227
|
+
|
228
|
+
bytes memory systemCall = abi.encodeCall(
|
229
|
+
_registerDelegation_address_ResourceId_bytes.registerDelegation,
|
230
|
+
(delegatee, delegationControlId, initCallData)
|
231
|
+
);
|
232
|
+
self.from == address(0)
|
233
|
+
? _world().call(self.systemId, systemCall)
|
234
|
+
: _world().callFrom(self.from, self.systemId, systemCall);
|
235
|
+
}
|
236
|
+
|
237
|
+
function unregisterDelegation(CallWrapper memory self, address delegatee) internal {
|
238
|
+
// if the contract calling this function is a root system, it should use `callAsRoot`
|
239
|
+
if (address(_world()) == address(this)) revert WorldRegistrationSystemLib_CallingFromRootSystem();
|
240
|
+
|
241
|
+
bytes memory systemCall = abi.encodeCall(_unregisterDelegation_address.unregisterDelegation, (delegatee));
|
242
|
+
self.from == address(0)
|
243
|
+
? _world().call(self.systemId, systemCall)
|
244
|
+
: _world().callFrom(self.from, self.systemId, systemCall);
|
245
|
+
}
|
246
|
+
|
247
|
+
function registerNamespaceDelegation(
|
248
|
+
CallWrapper memory self,
|
249
|
+
ResourceId namespaceId,
|
250
|
+
ResourceId delegationControlId,
|
251
|
+
bytes memory initCallData
|
252
|
+
) internal {
|
253
|
+
// if the contract calling this function is a root system, it should use `callAsRoot`
|
254
|
+
if (address(_world()) == address(this)) revert WorldRegistrationSystemLib_CallingFromRootSystem();
|
255
|
+
|
256
|
+
bytes memory systemCall = abi.encodeCall(
|
257
|
+
_registerNamespaceDelegation_ResourceId_ResourceId_bytes.registerNamespaceDelegation,
|
258
|
+
(namespaceId, delegationControlId, initCallData)
|
259
|
+
);
|
260
|
+
self.from == address(0)
|
261
|
+
? _world().call(self.systemId, systemCall)
|
262
|
+
: _world().callFrom(self.from, self.systemId, systemCall);
|
263
|
+
}
|
264
|
+
|
265
|
+
function unregisterNamespaceDelegation(CallWrapper memory self, ResourceId namespaceId) internal {
|
266
|
+
// if the contract calling this function is a root system, it should use `callAsRoot`
|
267
|
+
if (address(_world()) == address(this)) revert WorldRegistrationSystemLib_CallingFromRootSystem();
|
268
|
+
|
269
|
+
bytes memory systemCall = abi.encodeCall(
|
270
|
+
_unregisterNamespaceDelegation_ResourceId.unregisterNamespaceDelegation,
|
271
|
+
(namespaceId)
|
272
|
+
);
|
273
|
+
self.from == address(0)
|
274
|
+
? _world().call(self.systemId, systemCall)
|
275
|
+
: _world().callFrom(self.from, self.systemId, systemCall);
|
276
|
+
}
|
277
|
+
|
278
|
+
function registerNamespace(RootCallWrapper memory self, ResourceId namespaceId) internal {
|
279
|
+
bytes memory systemCall = abi.encodeCall(_registerNamespace_ResourceId.registerNamespace, (namespaceId));
|
280
|
+
SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
|
281
|
+
}
|
282
|
+
|
283
|
+
function registerSystemHook(
|
284
|
+
RootCallWrapper memory self,
|
285
|
+
ResourceId systemId,
|
286
|
+
ISystemHook hookAddress,
|
287
|
+
uint8 enabledHooksBitmap
|
288
|
+
) internal {
|
289
|
+
bytes memory systemCall = abi.encodeCall(
|
290
|
+
_registerSystemHook_ResourceId_ISystemHook_uint8.registerSystemHook,
|
291
|
+
(systemId, hookAddress, enabledHooksBitmap)
|
292
|
+
);
|
293
|
+
SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
|
294
|
+
}
|
295
|
+
|
296
|
+
function unregisterSystemHook(RootCallWrapper memory self, ResourceId systemId, ISystemHook hookAddress) internal {
|
297
|
+
bytes memory systemCall = abi.encodeCall(
|
298
|
+
_unregisterSystemHook_ResourceId_ISystemHook.unregisterSystemHook,
|
299
|
+
(systemId, hookAddress)
|
300
|
+
);
|
301
|
+
SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
|
302
|
+
}
|
303
|
+
|
304
|
+
function registerSystem(RootCallWrapper memory self, ResourceId systemId, System system, bool publicAccess) internal {
|
305
|
+
bytes memory systemCall = abi.encodeCall(
|
306
|
+
_registerSystem_ResourceId_System_bool.registerSystem,
|
307
|
+
(systemId, system, publicAccess)
|
308
|
+
);
|
309
|
+
SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
|
310
|
+
}
|
311
|
+
|
312
|
+
function registerFunctionSelector(
|
313
|
+
RootCallWrapper memory self,
|
314
|
+
ResourceId systemId,
|
315
|
+
string memory systemFunctionSignature
|
316
|
+
) internal returns (bytes4 worldFunctionSelector) {
|
317
|
+
bytes memory systemCall = abi.encodeCall(
|
318
|
+
_registerFunctionSelector_ResourceId_string.registerFunctionSelector,
|
319
|
+
(systemId, systemFunctionSignature)
|
320
|
+
);
|
321
|
+
|
322
|
+
bytes memory result = SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
|
323
|
+
return abi.decode(result, (bytes4));
|
324
|
+
}
|
325
|
+
|
326
|
+
function registerRootFunctionSelector(
|
327
|
+
RootCallWrapper memory self,
|
328
|
+
ResourceId systemId,
|
329
|
+
string memory worldFunctionSignature,
|
330
|
+
string memory systemFunctionSignature
|
331
|
+
) internal returns (bytes4 worldFunctionSelector) {
|
332
|
+
bytes memory systemCall = abi.encodeCall(
|
333
|
+
_registerRootFunctionSelector_ResourceId_string_string.registerRootFunctionSelector,
|
334
|
+
(systemId, worldFunctionSignature, systemFunctionSignature)
|
335
|
+
);
|
336
|
+
|
337
|
+
bytes memory result = SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
|
338
|
+
return abi.decode(result, (bytes4));
|
339
|
+
}
|
340
|
+
|
341
|
+
function registerDelegation(
|
342
|
+
RootCallWrapper memory self,
|
343
|
+
address delegatee,
|
344
|
+
ResourceId delegationControlId,
|
345
|
+
bytes memory initCallData
|
346
|
+
) internal {
|
347
|
+
bytes memory systemCall = abi.encodeCall(
|
348
|
+
_registerDelegation_address_ResourceId_bytes.registerDelegation,
|
349
|
+
(delegatee, delegationControlId, initCallData)
|
350
|
+
);
|
351
|
+
SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
|
352
|
+
}
|
353
|
+
|
354
|
+
function unregisterDelegation(RootCallWrapper memory self, address delegatee) internal {
|
355
|
+
bytes memory systemCall = abi.encodeCall(_unregisterDelegation_address.unregisterDelegation, (delegatee));
|
356
|
+
SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
|
357
|
+
}
|
358
|
+
|
359
|
+
function registerNamespaceDelegation(
|
360
|
+
RootCallWrapper memory self,
|
361
|
+
ResourceId namespaceId,
|
362
|
+
ResourceId delegationControlId,
|
363
|
+
bytes memory initCallData
|
364
|
+
) internal {
|
365
|
+
bytes memory systemCall = abi.encodeCall(
|
366
|
+
_registerNamespaceDelegation_ResourceId_ResourceId_bytes.registerNamespaceDelegation,
|
367
|
+
(namespaceId, delegationControlId, initCallData)
|
368
|
+
);
|
369
|
+
SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
|
370
|
+
}
|
371
|
+
|
372
|
+
function unregisterNamespaceDelegation(RootCallWrapper memory self, ResourceId namespaceId) internal {
|
373
|
+
bytes memory systemCall = abi.encodeCall(
|
374
|
+
_unregisterNamespaceDelegation_ResourceId.unregisterNamespaceDelegation,
|
375
|
+
(namespaceId)
|
376
|
+
);
|
377
|
+
SystemCall.callWithHooksOrRevert(self.from, self.systemId, systemCall, msg.value);
|
378
|
+
}
|
379
|
+
|
380
|
+
function callFrom(WorldRegistrationSystemType self, address from) internal pure returns (CallWrapper memory) {
|
381
|
+
return CallWrapper(self.toResourceId(), from);
|
382
|
+
}
|
383
|
+
|
384
|
+
function callAsRoot(WorldRegistrationSystemType self) internal view returns (RootCallWrapper memory) {
|
385
|
+
return RootCallWrapper(self.toResourceId(), WorldContextConsumerLib._msgSender());
|
386
|
+
}
|
387
|
+
|
388
|
+
function callAsRootFrom(
|
389
|
+
WorldRegistrationSystemType self,
|
390
|
+
address from
|
391
|
+
) internal pure returns (RootCallWrapper memory) {
|
392
|
+
return RootCallWrapper(self.toResourceId(), from);
|
393
|
+
}
|
394
|
+
|
395
|
+
function toResourceId(WorldRegistrationSystemType self) internal pure returns (ResourceId) {
|
396
|
+
return ResourceId.wrap(WorldRegistrationSystemType.unwrap(self));
|
397
|
+
}
|
398
|
+
|
399
|
+
function fromResourceId(ResourceId resourceId) internal pure returns (WorldRegistrationSystemType) {
|
400
|
+
return WorldRegistrationSystemType.wrap(resourceId.unwrap());
|
401
|
+
}
|
402
|
+
|
403
|
+
function getAddress(WorldRegistrationSystemType self) internal view returns (address) {
|
404
|
+
return Systems.getSystem(self.toResourceId());
|
405
|
+
}
|
406
|
+
|
407
|
+
function _world() private view returns (IWorldCall) {
|
408
|
+
return IWorldCall(StoreSwitch.getStoreAddress());
|
409
|
+
}
|
410
|
+
}
|
411
|
+
|
412
|
+
/**
|
413
|
+
* System Function Interfaces
|
414
|
+
*
|
415
|
+
* We generate an interface for each system function, which is then used for encoding system calls.
|
416
|
+
* This is necessary to handle function overloading correctly (which abi.encodeCall cannot).
|
417
|
+
*
|
418
|
+
* Each interface is uniquely named based on the function name and parameters to prevent collisions.
|
419
|
+
*/
|
420
|
+
|
421
|
+
interface _registerNamespace_ResourceId {
|
422
|
+
function registerNamespace(ResourceId namespaceId) external;
|
423
|
+
}
|
424
|
+
|
425
|
+
interface _registerSystemHook_ResourceId_ISystemHook_uint8 {
|
426
|
+
function registerSystemHook(ResourceId systemId, ISystemHook hookAddress, uint8 enabledHooksBitmap) external;
|
427
|
+
}
|
428
|
+
|
429
|
+
interface _unregisterSystemHook_ResourceId_ISystemHook {
|
430
|
+
function unregisterSystemHook(ResourceId systemId, ISystemHook hookAddress) external;
|
431
|
+
}
|
432
|
+
|
433
|
+
interface _registerSystem_ResourceId_System_bool {
|
434
|
+
function registerSystem(ResourceId systemId, System system, bool publicAccess) external;
|
435
|
+
}
|
436
|
+
|
437
|
+
interface _registerFunctionSelector_ResourceId_string {
|
438
|
+
function registerFunctionSelector(ResourceId systemId, string memory systemFunctionSignature) external;
|
439
|
+
}
|
440
|
+
|
441
|
+
interface _registerRootFunctionSelector_ResourceId_string_string {
|
442
|
+
function registerRootFunctionSelector(
|
443
|
+
ResourceId systemId,
|
444
|
+
string memory worldFunctionSignature,
|
445
|
+
string memory systemFunctionSignature
|
446
|
+
) external;
|
447
|
+
}
|
448
|
+
|
449
|
+
interface _registerDelegation_address_ResourceId_bytes {
|
450
|
+
function registerDelegation(address delegatee, ResourceId delegationControlId, bytes memory initCallData) external;
|
451
|
+
}
|
452
|
+
|
453
|
+
interface _unregisterDelegation_address {
|
454
|
+
function unregisterDelegation(address delegatee) external;
|
455
|
+
}
|
456
|
+
|
457
|
+
interface _registerNamespaceDelegation_ResourceId_ResourceId_bytes {
|
458
|
+
function registerNamespaceDelegation(
|
459
|
+
ResourceId namespaceId,
|
460
|
+
ResourceId delegationControlId,
|
461
|
+
bytes memory initCallData
|
462
|
+
) external;
|
463
|
+
}
|
464
|
+
|
465
|
+
interface _unregisterNamespaceDelegation_ResourceId {
|
466
|
+
function unregisterNamespaceDelegation(ResourceId namespaceId) external;
|
467
|
+
}
|
468
|
+
|
469
|
+
using WorldRegistrationSystemLib for WorldRegistrationSystemType global;
|
470
|
+
using WorldRegistrationSystemLib for CallWrapper global;
|
471
|
+
using WorldRegistrationSystemLib for RootCallWrapper global;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
2
|
+
pragma solidity >=0.8.24;
|
3
|
+
|
4
|
+
/* Autogenerated file. Do not edit manually. */
|
5
|
+
|
6
|
+
import { ResourceId } from "../../WorldResourceId.sol";
|
7
|
+
import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
|
8
|
+
import { Schema } from "@latticexyz/store/src/Schema.sol";
|
9
|
+
import { IStoreHook } from "@latticexyz/store/src/IStoreHook.sol";
|
10
|
+
|
11
|
+
/**
|
12
|
+
* @title IStoreRegistrationSystem
|
13
|
+
* @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
|
14
|
+
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
|
15
|
+
*/
|
16
|
+
interface IStoreRegistrationSystem {
|
17
|
+
function registerTable(
|
18
|
+
ResourceId tableId,
|
19
|
+
FieldLayout fieldLayout,
|
20
|
+
Schema keySchema,
|
21
|
+
Schema valueSchema,
|
22
|
+
string[] calldata keyNames,
|
23
|
+
string[] calldata fieldNames
|
24
|
+
) external;
|
25
|
+
|
26
|
+
function registerStoreHook(ResourceId tableId, IStoreHook hookAddress, uint8 enabledHooksBitmap) external;
|
27
|
+
|
28
|
+
function unregisterStoreHook(ResourceId tableId, IStoreHook hookAddress) external;
|
29
|
+
}
|
@@ -14,7 +14,7 @@ import { LimitedCallContext } from "../LimitedCallContext.sol";
|
|
14
14
|
* @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
|
15
15
|
* @dev A system contract to handle the installation of (non-root) modules in the World.
|
16
16
|
*/
|
17
|
-
contract ModuleInstallationSystem is System, LimitedCallContext {
|
17
|
+
abstract contract ModuleInstallationSystem is System, LimitedCallContext {
|
18
18
|
/**
|
19
19
|
* @notice Installs a module into the World under a specified namespace.
|
20
20
|
* @dev Validates the given module against the IModule interface and delegates the installation process.
|
@@ -3,6 +3,7 @@ pragma solidity >=0.8.24;
|
|
3
3
|
|
4
4
|
import { IStoreHook } from "@latticexyz/store/src/IStoreHook.sol";
|
5
5
|
import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
|
6
|
+
import { IStoreRegistration } from "@latticexyz/store/src/IStoreRegistration.sol";
|
6
7
|
import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
|
7
8
|
import { Schema } from "@latticexyz/store/src/Schema.sol";
|
8
9
|
|
@@ -25,7 +26,7 @@ import { WorldRegistrationSystem } from "./WorldRegistrationSystem.sol";
|
|
25
26
|
* @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
|
26
27
|
* @dev This contract provides functionality for the registration of store-related resources within the World framework.
|
27
28
|
*/
|
28
|
-
contract StoreRegistrationSystem is System, IWorldErrors, LimitedCallContext {
|
29
|
+
abstract contract StoreRegistrationSystem is System, IWorldErrors, IStoreRegistration, LimitedCallContext {
|
29
30
|
using WorldResourceIdInstance for ResourceId;
|
30
31
|
|
31
32
|
/**
|
@@ -38,7 +38,7 @@ import { createDelegation } from "./createDelegation.sol";
|
|
38
38
|
* @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
|
39
39
|
* @dev This contract provides functions related to registering resources other than tables in the World.
|
40
40
|
*/
|
41
|
-
contract WorldRegistrationSystem is System, IWorldErrors, LimitedCallContext {
|
41
|
+
abstract contract WorldRegistrationSystem is System, IWorldErrors, LimitedCallContext {
|
42
42
|
using WorldResourceIdInstance for ResourceId;
|
43
43
|
|
44
44
|
/**
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../mud.config.ts"],"sourcesContent":["import { defineWorld } from \"./ts/config/v2/world\";\n\n/**\n * @internal\n */\nexport const configInput = {\n namespace: \"world\", // NOTE: this namespace is only used for tables, the core system is deployed in the root namespace.\n codegen: {\n worldImportPath: \"./src\",\n worldgenDirectory: \"interfaces\",\n worldInterfaceName: \"IBaseWorld\",\n },\n userTypes: {\n ResourceId: { filePath: \"@latticexyz/store/src/ResourceId.sol\", type: \"bytes32\" },\n },\n tables: {\n NamespaceOwner: {\n schema: {\n namespaceId: \"ResourceId\",\n owner: \"address\",\n },\n key: [\"namespaceId\"],\n },\n ResourceAccess: {\n schema: {\n resourceId: \"ResourceId\",\n caller: \"address\",\n access: \"bool\",\n },\n key: [\"resourceId\", \"caller\"],\n },\n InstalledModules: {\n schema: {\n moduleAddress: \"address\",\n argumentsHash: \"bytes32\", // Hash of the params passed to the `install` function\n isInstalled: \"bool\",\n },\n key: [\"moduleAddress\", \"argumentsHash\"],\n },\n UserDelegationControl: {\n schema: {\n delegator: \"address\",\n delegatee: \"address\",\n delegationControlId: \"ResourceId\",\n },\n key: [\"delegator\", \"delegatee\"],\n },\n NamespaceDelegationControl: {\n schema: {\n namespaceId: \"ResourceId\",\n delegationControlId: \"ResourceId\",\n },\n key: [\"namespaceId\"],\n },\n Balances: {\n schema: {\n namespaceId: \"ResourceId\",\n balance: \"uint256\",\n },\n key: [\"namespaceId\"],\n },\n Systems: {\n schema: {\n systemId: \"ResourceId\",\n system: \"address\",\n publicAccess: \"bool\",\n },\n key: [\"systemId\"],\n codegen: {\n dataStruct: false,\n },\n },\n SystemRegistry: {\n schema: {\n system: \"address\",\n systemId: \"ResourceId\",\n },\n key: [\"system\"],\n },\n SystemHooks: {\n schema: {\n systemId: \"ResourceId\",\n value: \"bytes21[]\",\n },\n key: [\"systemId\"],\n },\n FunctionSelectors: {\n schema: {\n worldFunctionSelector: \"bytes4\",\n systemId: \"ResourceId\",\n systemFunctionSelector: \"bytes4\",\n },\n key: [\"worldFunctionSelector\"],\n codegen: {\n dataStruct: false,\n },\n },\n FunctionSignatures: {\n type: \"offchainTable\",\n schema: {\n functionSelector: \"bytes4\",\n functionSignature: \"string\",\n },\n key: [\"functionSelector\"],\n },\n InitModuleAddress: {\n schema: {\n value: \"address\",\n },\n key: [],\n },\n },\n excludeSystems: [\n // Worldgen currently does not support systems inheriting logic\n // from other contracts, so all parts of RegistrationSystem are named\n // System too to be included in the IBaseWorld interface.\n // However, IStoreRegistrationSystem overlaps with IStore if\n // included in IBaseWorld, so it needs to be excluded from worldgen.\n // TODO: add support for inheritance to worldgen\n // (see: https://github.com/latticexyz/mud/issues/631)\n \"StoreRegistrationSystem\",\n ],\n} as const;\n\nexport default defineWorld(configInput);\n"],"mappings":";;;;;AAKO,IAAM,cAAc;AAAA,EACzB,WAAW;AAAA;AAAA,EACX,SAAS;AAAA,IACP,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,EACtB;AAAA,EACA,WAAW;AAAA,IACT,YAAY,EAAE,UAAU,wCAAwC,MAAM,UAAU;AAAA,EAClF;AAAA,EACA,QAAQ;AAAA,IACN,gBAAgB;AAAA,MACd,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,MACA,KAAK,CAAC,aAAa;AAAA,IACrB;AAAA,IACA,gBAAgB;AAAA,MACd,QAAQ;AAAA,QACN,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,KAAK,CAAC,cAAc,QAAQ;AAAA,IAC9B;AAAA,IACA,kBAAkB;AAAA,MAChB,QAAQ;AAAA,QACN,eAAe;AAAA,QACf,eAAe;AAAA;AAAA,QACf,aAAa;AAAA,MACf;AAAA,MACA,KAAK,CAAC,iBAAiB,eAAe;AAAA,IACxC;AAAA,IACA,uBAAuB;AAAA,MACrB,QAAQ;AAAA,QACN,WAAW;AAAA,QACX,WAAW;AAAA,QACX,qBAAqB;AAAA,MACvB;AAAA,MACA,KAAK,CAAC,aAAa,WAAW;AAAA,IAChC;AAAA,IACA,4BAA4B;AAAA,MAC1B,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,qBAAqB;AAAA,MACvB;AAAA,MACA,KAAK,CAAC,aAAa;AAAA,IACrB;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,KAAK,CAAC,aAAa;AAAA,IACrB;AAAA,IACA,SAAS;AAAA,MACP,QAAQ;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,cAAc;AAAA,MAChB;AAAA,MACA,KAAK,CAAC,UAAU;AAAA,MAChB,SAAS;AAAA,QACP,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,UAAU;AAAA,MACZ;AAAA,MACA,KAAK,CAAC,QAAQ;AAAA,IAChB;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,QACN,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,MACA,KAAK,CAAC,UAAU;AAAA,IAClB;AAAA,IACA,mBAAmB;AAAA,MACjB,QAAQ;AAAA,QACN,uBAAuB;AAAA,QACvB,UAAU;AAAA,QACV,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,CAAC,uBAAuB;AAAA,MAC7B,SAAS;AAAA,QACP,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,QAAQ;AAAA,QACN,kBAAkB;AAAA,QAClB,mBAAmB;AAAA,MACrB;AAAA,MACA,KAAK,CAAC,kBAAkB;AAAA,IAC1B;AAAA,IACA,mBAAmB;AAAA,MACjB,QAAQ;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA,KAAK,CAAC;AAAA,IACR;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQd;AAAA,EACF;AACF;AAEA,IAAO,qBAAQ,YAAY,WAAW;","names":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../ts/config/v2/defaults.ts","../ts/config/v2/system.ts","../ts/config/v2/systems.ts","../ts/config/v2/namespace.ts"],"sourcesContent":["import { CodegenInput, DeployInput, ModuleInput, SystemDeployInput, SystemInput, WorldInput } from \"./input\";\n\nexport const SYSTEM_DEPLOY_DEFAULTS = {\n disabled: false,\n registerWorldFunctions: true,\n} as const satisfies Required<SystemDeployInput>;\n\nexport type SYSTEM_DEPLOY_DEFAULTS = typeof SYSTEM_DEPLOY_DEFAULTS;\n\nexport const SYSTEM_DEFAULTS = {\n namespaceLabel: \"\",\n openAccess: true,\n accessList: [],\n} as const satisfies Omit<Required<SystemInput>, \"label\" | \"namespace\" | \"name\" | \"deploy\">;\n\nexport type SYSTEM_DEFAULTS = typeof SYSTEM_DEFAULTS;\n\nexport const MODULE_DEFAULTS = {\n root: false,\n args: [],\n artifactPath: undefined,\n} as const satisfies Pick<ModuleInput, \"root\" | \"args\" | \"artifactPath\">;\n\nexport type MODULE_DEFAULTS = typeof MODULE_DEFAULTS;\n\nexport const CODEGEN_DEFAULTS = {\n worldInterfaceName: \"IWorld\",\n worldgenDirectory: \"world\",\n systemLibrariesDirectory: \"systems\",\n generateSystemLibraries: false,\n worldImportPath: \"@latticexyz/world/src\",\n} as const satisfies CodegenInput;\n\nexport type CODEGEN_DEFAULTS = typeof CODEGEN_DEFAULTS;\n\nexport const DEPLOY_DEFAULTS = {\n postDeployScript: \"PostDeploy\",\n deploysDirectory: \"./deploys\",\n worldsFile: \"./worlds.json\",\n upgradeableWorldImplementation: false,\n} as const satisfies DeployInput;\n\nexport type DEPLOY_DEFAULTS = typeof DEPLOY_DEFAULTS;\n\nexport const CONFIG_DEFAULTS = {\n systems: {},\n tables: {},\n excludeSystems: [],\n modules: [],\n codegen: CODEGEN_DEFAULTS,\n deploy: DEPLOY_DEFAULTS,\n} as const satisfies WorldInput;\n\nexport type CONFIG_DEFAULTS = typeof CONFIG_DEFAULTS;\n","import { SYSTEM_DEFAULTS, SYSTEM_DEPLOY_DEFAULTS } from \"./defaults\";\nimport { SystemInput } from \"./input\";\nimport { hasOwnKey, mergeIfUndefined } from \"@latticexyz/store/internal\";\nimport { ErrorMessage, narrow, requiredKeyOf, show } from \"@ark/util\";\nimport { Hex } from \"viem\";\nimport { resourceToHex } from \"@latticexyz/common\";\n\nexport type ValidateSystemOptions = { readonly inNamespace?: true };\n\nexport type requiredSystemKey<inNamespace extends true | undefined> = Exclude<\n requiredKeyOf<SystemInput>,\n inNamespace extends true ? \"label\" | \"namespaceLabel\" | \"namespace\" : never\n>;\n\nexport type validateSystem<input, options extends ValidateSystemOptions = {}> = {\n [key in keyof input | requiredSystemKey<options[\"inNamespace\"]>]: key extends keyof SystemInput\n ? key extends \"label\" | \"namespaceLabel\" | \"namespace\"\n ? options[\"inNamespace\"] extends true\n ? ErrorMessage<\"Overrides of `label`, `namespaceLabel`, and `namespace` are not allowed for systems in this context.\">\n : key extends keyof input\n ? narrow<input[key]>\n : never\n : SystemInput[key]\n : ErrorMessage<`Key \\`${key & string}\\` does not exist in SystemInput`>;\n};\n\nexport function validateSystem<input>(\n input: input,\n options: ValidateSystemOptions = {},\n): asserts input is SystemInput & input {\n if (typeof input !== \"object\" || input == null) {\n throw new Error(`Expected full system config, got \\`${JSON.stringify(input)}\\``);\n }\n\n if (\n options.inNamespace &&\n (hasOwnKey(input, \"label\") || hasOwnKey(input, \"namespaceLabel\") || hasOwnKey(input, \"namespace\"))\n ) {\n throw new Error(\n \"Overrides of `label`, `namespaceLabel`, and `namespace` are not allowed for systems in this context.\",\n );\n }\n\n if (\n hasOwnKey(input, \"namespaceLabel\") &&\n typeof input.namespaceLabel === \"string\" &&\n (!hasOwnKey(input, \"namespace\") || typeof input.namespace !== \"string\") &&\n input.namespaceLabel.length > 14\n ) {\n throw new Error(\n `System \\`namespace\\` defaults to \\`namespaceLabel\\`, but must fit into a \\`bytes14\\` and \"${input.namespaceLabel}\" is too long. Provide explicit \\`namespace\\` override.`,\n );\n }\n\n if (hasOwnKey(input, \"namespace\") && typeof input.namespace === \"string\" && input.namespace.length > 14) {\n throw new Error(`System \\`namespace\\` must fit into a \\`bytes14\\`, but \"${input.namespace}\" is too long.`);\n }\n if (hasOwnKey(input, \"name\") && typeof input.name === \"string\" && input.name.length > 16) {\n throw new Error(`System \\`name\\` must fit into a \\`bytes16\\`, but \"${input.name}\" is too long.`);\n }\n}\n\nexport type resolveSystem<input> = input extends SystemInput\n ? {\n readonly label: input[\"label\"];\n readonly namespaceLabel: undefined extends input[\"namespaceLabel\"]\n ? typeof SYSTEM_DEFAULTS.namespaceLabel\n : input[\"namespaceLabel\"];\n readonly namespace: string;\n readonly name: string;\n readonly systemId: Hex;\n readonly openAccess: undefined extends input[\"openAccess\"] ? SYSTEM_DEFAULTS[\"openAccess\"] : input[\"openAccess\"];\n readonly accessList: undefined extends input[\"accessList\"] ? SYSTEM_DEFAULTS[\"accessList\"] : input[\"accessList\"];\n readonly deploy: show<\n mergeIfUndefined<undefined extends input[\"deploy\"] ? {} : input[\"deploy\"], SYSTEM_DEPLOY_DEFAULTS>\n >;\n }\n : never;\n\nexport function resolveSystem<input extends SystemInput>(input: input): resolveSystem<input> {\n const namespaceLabel = input.namespaceLabel ?? SYSTEM_DEFAULTS.namespaceLabel;\n // validate ensures this is length constrained\n const namespace = input.namespace ?? namespaceLabel;\n\n const label = input.label;\n const name = input.name ?? label.slice(0, 16);\n const systemId = resourceToHex({ type: \"system\", namespace, name });\n\n return mergeIfUndefined(\n {\n ...input,\n label,\n namespaceLabel,\n namespace,\n name,\n systemId,\n deploy: mergeIfUndefined(input.deploy ?? {}, SYSTEM_DEPLOY_DEFAULTS),\n },\n SYSTEM_DEFAULTS,\n ) as never;\n}\n\nexport function defineSystem<input>(input: validateSystem<input>): resolveSystem<input> {\n validateSystem(input);\n return resolveSystem(input) as never;\n}\n","import { ErrorMessage } from \"@ark/util\";\nimport { isObject } from \"@latticexyz/store/internal\";\nimport { SystemsInput } from \"./input\";\nimport { resolveSystem, validateSystem } from \"./system\";\n\n// TODO: add nuance between \"in namespace\" (namespace provided in context) and \"in systems\" (label provided in context)\n\nexport type validateSystems<input> = {\n [label in keyof input]: input[label] extends object\n ? validateSystem<input[label], { inNamespace: true }>\n : ErrorMessage<`Expected a system config for ${label & string}.`>;\n};\n\nexport function validateSystems(input: unknown): asserts input is SystemsInput {\n if (isObject(input)) {\n for (const system of Object.values(input)) {\n validateSystem(system, { inNamespace: true });\n }\n return;\n }\n throw new Error(`Expected system config, received ${JSON.stringify(input)}`);\n}\n\nexport type resolveSystems<systems extends SystemsInput, namespaceLabel extends string> = {\n [label in keyof systems]: resolveSystem<\n systems[label] & { label: label; namespaceLabel: namespaceLabel; namespace: string }\n >;\n};\n\nexport function resolveSystems<systems extends SystemsInput, namespaceLabel extends string>(\n systems: systems,\n namespaceLabel: namespaceLabel,\n namespace: string,\n): resolveSystems<systems, namespaceLabel> {\n return Object.fromEntries(\n Object.entries(systems).map(([label, system]) => {\n return [label, resolveSystem({ ...system, label, namespaceLabel, namespace })];\n }),\n ) as never;\n}\n","import { NamespaceInput, SystemsInput } from \"./input\";\nimport {\n hasOwnKey,\n validateNamespace as validateStoreNamespace,\n resolveNamespace as resolveStoreNamespace,\n Scope,\n AbiTypeScope,\n} from \"@latticexyz/store/internal\";\nimport { resolveSystems, validateSystems } from \"./systems\";\nimport { show } from \"@ark/util\";\n\nexport type validateNamespace<input, scope extends Scope = AbiTypeScope> = {\n [key in keyof input]: key extends \"systems\" ? validateSystems<input[key]> : validateStoreNamespace<input, scope>[key];\n};\n\nexport function validateNamespace<scope extends Scope = AbiTypeScope>(\n input: unknown,\n scope: scope,\n): asserts input is NamespaceInput {\n if (hasOwnKey(input, \"systems\")) {\n validateSystems(input.systems);\n }\n validateStoreNamespace(input, scope);\n}\n\nexport type resolveNamespace<input, scope extends Scope = AbiTypeScope> = input extends NamespaceInput\n ? show<\n resolveStoreNamespace<input, scope> & {\n readonly systems: input[\"systems\"] extends SystemsInput\n ? show<resolveSystems<input[\"systems\"], resolveStoreNamespace<input, scope>[\"label\"]>>\n : {};\n }\n >\n : never;\n\nexport function resolveNamespace<const input extends NamespaceInput, scope extends Scope = AbiTypeScope>(\n input: input,\n scope: scope = AbiTypeScope as never,\n): resolveNamespace<input, scope> {\n const namespace = resolveStoreNamespace(input, scope);\n const systems = resolveSystems(input.systems ?? {}, namespace.label, namespace.namespace);\n return {\n ...namespace,\n systems,\n } as never;\n}\n"],"mappings":"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","names":["hasOwnKey","hasOwnKey"]}
|
File without changes
|