@latticexyz/world 2.2.20-31870811b975d44f4b5d14ae69fd623914237584 → 2.2.20-b774ab28b3de6cefcbfce5e1bb6fcb68b9374abf
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/{chunk-NVV4GS3R.js → chunk-2W4TKC47.js} +2 -2
- package/dist/{chunk-6KRKTNJ5.js → chunk-SGZK356L.js} +22 -42
- package/dist/chunk-SGZK356L.js.map +1 -0
- package/dist/{chunk-6E2JY6MZ.js → chunk-XSBK355I.js} +1 -2
- package/dist/chunk-XSBK355I.js.map +1 -0
- package/dist/{dynamicResolution-Bul4y_B0.d.ts → dynamicResolution-AmVd5Qtd.d.ts} +5 -11
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/internal.d.ts +18 -23
- package/dist/internal.js +7 -7
- package/dist/internal.js.map +1 -1
- package/dist/mud.config.d.ts +131 -242
- package/dist/mud.config.js +7 -9
- package/dist/node.d.ts +1 -1
- package/dist/node.js +19 -21
- package/dist/node.js.map +1 -1
- package/dist/{world-NqdA4pfW.d.ts → world-Nl5BmMma.d.ts} +1 -9
- package/out/AccessControl.t.sol/AccessControlTest.json +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
- package/out/AddressArray.sol/AddressArray.json +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
- package/out/Balances.sol/Balances.json +1 -1
- package/out/BatchCall.t.sol/BatchCallTest.json +1 -1
- package/out/BatchCall.t.sol/TestSystem.json +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
- package/out/Bool.sol/Bool.json +1 -1
- package/out/Create2Factory.sol/Create2Factory.json +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/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +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/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
- 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.json +1 -1
- 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.json +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.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.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.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.json +1 -1
- package/out/WorldBalance.t.sol/WorldBalanceTest.json +1 -1
- package/out/WorldBalance.t.sol/WorldBalanceTestSystem.json +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.json +1 -1
- package/out/WorldResourceId.t.sol/WorldResourceIdTest.json +1 -1
- package/out/build-info/{6366a746548e984842b93ef762b76b99.json → 4a78a1cea15b250410c6bac766ef5562.json} +1 -1
- package/out/test.sol/DSTest.json +1 -1
- package/package.json +9 -9
- package/src/modules/init/implementations/ModuleInstallationSystem.sol +1 -1
- package/src/modules/init/implementations/StoreRegistrationSystem.sol +1 -2
- package/src/modules/init/implementations/WorldRegistrationSystem.sol +1 -1
- package/dist/chunk-6E2JY6MZ.js.map +0 -1
- package/dist/chunk-6KRKTNJ5.js.map +0 -1
- package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.abi.json +0 -7
- package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.abi.json.d.ts +0 -9
- package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.json +0 -1
- package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.abi.json +0 -20
- package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.abi.json.d.ts +0 -22
- package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.json +0 -1
- package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.abi.json +0 -15
- package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.abi.json.d.ts +0 -17
- package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.json +0 -1
- package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.abi.json +0 -20
- package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.abi.json.d.ts +0 -22
- package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.json +0 -1
- package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.abi.json +0 -20
- package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.abi.json.d.ts +0 -22
- package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.json +0 -1
- package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.abi.json +0 -7
- package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.abi.json.d.ts +0 -9
- package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.json +0 -1
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.abi.json +0 -25
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.abi.json.d.ts +0 -27
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.json +0 -1
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.abi.json +0 -25
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.abi.json.d.ts +0 -27
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.json +0 -1
- package/out/BatchCallSystemLib.sol/BatchCallSystemLib.abi.json +0 -7
- package/out/BatchCallSystemLib.sol/BatchCallSystemLib.abi.json.d.ts +0 -9
- package/out/BatchCallSystemLib.sol/BatchCallSystemLib.json +0 -1
- package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.abi.json +0 -32
- package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.abi.json.d.ts +0 -34
- package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.json +0 -1
- package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.abi.json +0 -27
- package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.abi.json.d.ts +0 -29
- package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.json +0 -1
- package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.abi.json +0 -81
- package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.abi.json.d.ts +0 -83
- package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.json +0 -1
- package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.abi.json +0 -7
- package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.abi.json.d.ts +0 -9
- package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.json +0 -1
- package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.abi.json +0 -20
- package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.abi.json.d.ts +0 -22
- package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.json +0 -1
- package/out/RegistrationSystemLib.sol/RegistrationSystemLib.abi.json +0 -7
- package/out/RegistrationSystemLib.sol/RegistrationSystemLib.abi.json.d.ts +0 -9
- package/out/RegistrationSystemLib.sol/RegistrationSystemLib.json +0 -1
- package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.abi.json +0 -7
- package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.abi.json.d.ts +0 -9
- package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.json +0 -1
- package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.abi.json +0 -25
- package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.abi.json.d.ts +0 -27
- package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.json +0 -1
- package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.abi.json +0 -40
- package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.abi.json.d.ts +0 -42
- package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.json +0 -1
- package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.abi.json +0 -20
- package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.abi.json.d.ts +0 -22
- package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.json +0 -1
- package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.abi.json +0 -7
- package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.abi.json.d.ts +0 -9
- package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.json +0 -1
- package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.abi.json +0 -25
- package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.abi.json.d.ts +0 -27
- package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.json +0 -1
- package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.abi.json +0 -20
- package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.abi.json.d.ts +0 -22
- package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.json +0 -1
- package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.abi.json +0 -25
- package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.abi.json.d.ts +0 -27
- package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.json +0 -1
- package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.abi.json +0 -15
- package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.abi.json.d.ts +0 -17
- package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.json +0 -1
- package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.abi.json +0 -25
- package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.abi.json.d.ts +0 -27
- package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.json +0 -1
- package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.abi.json +0 -25
- package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.abi.json.d.ts +0 -27
- package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.json +0 -1
- package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.abi.json +0 -25
- package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.abi.json.d.ts +0 -27
- package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.json +0 -1
- package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.abi.json +0 -15
- package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.abi.json.d.ts +0 -17
- package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.json +0 -1
- package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.abi.json +0 -15
- package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.abi.json.d.ts +0 -17
- package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.json +0 -1
- package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.abi.json +0 -20
- package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.abi.json.d.ts +0 -22
- package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.json +0 -1
- package/src/codegen/experimental/systems/AccessManagementSystemLib.sol +0 -182
- package/src/codegen/experimental/systems/BalanceTransferSystemLib.sol +0 -169
- package/src/codegen/experimental/systems/BatchCallSystemLib.sol +0 -153
- package/src/codegen/experimental/systems/ModuleInstallationSystemLib.sol +0 -107
- package/src/codegen/experimental/systems/RegistrationSystemLib.sol +0 -71
- package/src/codegen/experimental/systems/StoreRegistrationSystemLib.sol +0 -228
- package/src/codegen/experimental/systems/WorldRegistrationSystemLib.sol +0 -471
- package/src/codegen/interfaces/IStoreRegistrationSystem.sol +0 -29
- /package/dist/{chunk-NVV4GS3R.js.map → chunk-2W4TKC47.js.map} +0 -0
@@ -1,228 +0,0 @@
|
|
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;
|
@@ -1,471 +0,0 @@
|
|
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;
|