Skip to content

Commit a681215

Browse files
committed
use system libs
1 parent 35c5ac5 commit a681215

File tree

2 files changed

+18
-80
lines changed

2 files changed

+18
-80
lines changed

packages/world-module-metadata/src/DelegatorContext.sol

Lines changed: 0 additions & 69 deletions
This file was deleted.

packages/world-module-metadata/src/MetadataModule.sol

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ import { ResourceId, WorldResourceIdLib, WorldResourceIdInstance } from "@lattic
88
import { ResourceIds } from "@latticexyz/store/src/codegen/tables/ResourceIds.sol";
99
import { RESOURCE_SYSTEM } from "@latticexyz/world/src/worldResourceTypes.sol";
1010
import { REGISTRATION_SYSTEM_ID } from "@latticexyz/world/src/modules/init/constants.sol";
11+
import { worldRegistrationSystem } from "@latticexyz/world/src/codegen/systems/WorldRegistrationSystemLib.sol";
12+
import { storeRegistrationSystem } from "@latticexyz/world/src/codegen/systems/StoreRegistrationSystemLib.sol";
1113

1214
import { MetadataSystem } from "./MetadataSystem.sol";
1315
import { ResourceTag } from "./codegen/tables/ResourceTag.sol";
14-
import { DelegatorContext, DelegatedRegistrationSystemLib } from "./DelegatorContext.sol";
1516

1617
/**
1718
* @title MetadataModule
@@ -21,22 +22,19 @@ import { DelegatorContext, DelegatedRegistrationSystemLib } from "./DelegatorCon
2122
*/
2223
contract MetadataModule is Module {
2324
using WorldResourceIdInstance for ResourceId;
24-
using DelegatedRegistrationSystemLib for DelegatorContext;
2525

2626
MetadataSystem private immutable metadataSystem = new MetadataSystem();
2727

2828
function install(bytes memory args) public override {
29-
DelegatorContext memory world = DelegatorContext(IBaseWorld(_world()), _msgSender());
30-
3129
ResourceId namespace = ResourceTag._tableId.getNamespaceId();
3230
if (!ResourceIds.getExists(namespace)) {
33-
world.registerNamespace(namespace);
31+
worldRegistrationSystem.callFrom(_msgSender()).registerNamespace(namespace);
3432
}
35-
AccessControl.requireOwner(namespace, world.delegator);
33+
AccessControl.requireOwner(namespace, _msgSender());
3634

3735
if (!ResourceIds.getExists(ResourceTag._tableId)) {
3836
// TODO: add a `ResourceTag.getTableDef()` that returns a struct that can be used to register?
39-
world.registerTable(
37+
storeRegistrationSystem.callFrom(_msgSender()).registerTable(
4038
ResourceTag._tableId,
4139
ResourceTag._fieldLayout,
4240
ResourceTag._keySchema,
@@ -53,10 +51,19 @@ contract MetadataModule is Module {
5351
);
5452
// TODO: add support for upgrading system and registering new function selectors
5553
if (!ResourceIds.getExists(metadataSystemId)) {
56-
world.registerSystem(metadataSystemId, metadataSystem, true);
57-
world.registerFunctionSelector(metadataSystemId, "getResourceTag(bytes32,bytes32)");
58-
world.registerFunctionSelector(metadataSystemId, "setResourceTag(bytes32,bytes32,bytes)");
59-
world.registerFunctionSelector(metadataSystemId, "deleteResourceTag(bytes32,bytes32)");
54+
worldRegistrationSystem.callFrom(_msgSender()).registerSystem(metadataSystemId, metadataSystem, true);
55+
worldRegistrationSystem.callFrom(_msgSender()).registerFunctionSelector(
56+
metadataSystemId,
57+
"getResourceTag(bytes32,bytes32)"
58+
);
59+
worldRegistrationSystem.callFrom(_msgSender()).registerFunctionSelector(
60+
metadataSystemId,
61+
"setResourceTag(bytes32,bytes32,bytes)"
62+
);
63+
worldRegistrationSystem.callFrom(_msgSender()).registerFunctionSelector(
64+
metadataSystemId,
65+
"deleteResourceTag(bytes32,bytes32)"
66+
);
6067
}
6168
}
6269
}

0 commit comments

Comments
 (0)