@latticexyz/world 2.2.21 → 2.2.22-03af917786370b8251542adb3d53099aa85e754f
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-6KRKTNJ5.js → chunk-WKPUHKX4.js} +2 -1
- package/dist/{chunk-6KRKTNJ5.js.map → chunk-WKPUHKX4.js.map} +1 -1
- package/dist/internal.js +1 -1
- package/dist/mud.config.js +1 -1
- package/dist/node.js +30 -22
- package/dist/node.js.map +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
- package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.json +1 -1
- package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.json +1 -1
- package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.json +1 -1
- package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.json +1 -1
- package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.json +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
- package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.json +1 -1
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.json +1 -1
- package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.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/BatchCallSystemLib.sol/BatchCallSystemLib.json +1 -1
- package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.json +1 -1
- package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.json +1 -1
- package/out/DelegationControl.sol/DelegationControl.json +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
- package/out/Factories.t.sol/FactoriesTest.json +1 -1
- package/out/IBaseWorld.sol/IBaseWorld.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/InitSystems.t.sol/LimitedCallContextTest.json +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
- package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.json +1 -1
- package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.json +1 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
- package/out/RegistrationSystemLib.sol/RegistrationSystemLib.json +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
- package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.json +1 -1
- package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.json +1 -1
- package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.json +1 -1
- package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.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/Utils.t.sol/UtilsTest.json +1 -1
- package/out/Utils.t.sol/UtilsTestSystem.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/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/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.json +1 -1
- package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.json +1 -1
- package/out/build-info/{6366a746548e984842b93ef762b76b99.json → bf27acd14b2b959864c0abf4ffaa7965.json} +1 -1
- package/package.json +9 -9
- package/src/System.sol +1 -1
@@ -114,6 +114,7 @@ var systemsConfig = defineWorld({
|
|
114
114
|
worldgenDirectory: "interfaces",
|
115
115
|
worldInterfaceName: "IBaseWorld",
|
116
116
|
generateSystemLibraries: true,
|
117
|
+
// generate into experimental dir until these are stable/audited
|
117
118
|
systemLibrariesDirectory: "experimental/systems"
|
118
119
|
},
|
119
120
|
// Keep aligned with src/modules/init/constants.sol
|
@@ -149,4 +150,4 @@ export {
|
|
149
150
|
systemsConfig,
|
150
151
|
mud_config_default
|
151
152
|
};
|
152
|
-
//# sourceMappingURL=chunk-
|
153
|
+
//# sourceMappingURL=chunk-WKPUHKX4.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../mud.config.ts"],"sourcesContent":["import { defineWorld } from \"./ts/config/v2/world\";\n\n// Ideally we'd use a single multi-namespace config here, but we don't want\n// to break imports from this package because the source location changed.\n//\n// Once we have more nuanced control over source paths and codegen for each\n// namespace, then we could probably migrate to multi-namespace config.\n//\n// Or some way to deeply merge multiple configs while retaining strong types.\n\n/** @internal */\nexport const tablesConfig = defineWorld({\n namespace: \"world\",\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});\n\n/** @internal */\nexport const systemsConfig = defineWorld({\n namespace: \"\",\n codegen: {\n worldImportPath: \"./src\",\n worldgenDirectory: \"interfaces\",\n worldInterfaceName: \"IBaseWorld\",\n generateSystemLibraries: true,\n systemLibrariesDirectory: \"experimental/systems\",\n },\n // Keep aligned with src/modules/init/constants.sol\n systems: {\n AccessManagementSystem: {\n name: \"AccessManagement\",\n },\n BalanceTransferSystem: {\n name: \"BalanceTransfer\",\n },\n BatchCallSystem: {\n name: \"BatchCall\",\n },\n RegistrationSystem: {\n name: \"Registration\",\n },\n // abstract systems that are deployed as part of RegistrationSystem\n ModuleInstallationSystem: {\n name: \"Registration\",\n },\n StoreRegistrationSystem: {\n name: \"Registration\",\n },\n WorldRegistrationSystem: {\n name: \"Registration\",\n },\n },\n});\n\nexport default tablesConfig;\n"],"mappings":";;;;;AAWO,IAAM,eAAe,YAAY;AAAA,EACtC,WAAW;AAAA,EACX,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;AACF,CAAC;AAGM,IAAM,gBAAgB,YAAY;AAAA,EACvC,WAAW;AAAA,EACX,SAAS;AAAA,IACP,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,yBAAyB;AAAA,
|
1
|
+
{"version":3,"sources":["../mud.config.ts"],"sourcesContent":["import { defineWorld } from \"./ts/config/v2/world\";\n\n// Ideally we'd use a single multi-namespace config here, but we don't want\n// to break imports from this package because the source location changed.\n//\n// Once we have more nuanced control over source paths and codegen for each\n// namespace, then we could probably migrate to multi-namespace config.\n//\n// Or some way to deeply merge multiple configs while retaining strong types.\n\n/** @internal */\nexport const tablesConfig = defineWorld({\n namespace: \"world\",\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});\n\n/** @internal */\nexport const systemsConfig = defineWorld({\n namespace: \"\",\n codegen: {\n worldImportPath: \"./src\",\n worldgenDirectory: \"interfaces\",\n worldInterfaceName: \"IBaseWorld\",\n generateSystemLibraries: true,\n // generate into experimental dir until these are stable/audited\n systemLibrariesDirectory: \"experimental/systems\",\n },\n // Keep aligned with src/modules/init/constants.sol\n systems: {\n AccessManagementSystem: {\n name: \"AccessManagement\",\n },\n BalanceTransferSystem: {\n name: \"BalanceTransfer\",\n },\n BatchCallSystem: {\n name: \"BatchCall\",\n },\n RegistrationSystem: {\n name: \"Registration\",\n },\n // abstract systems that are deployed as part of RegistrationSystem\n ModuleInstallationSystem: {\n name: \"Registration\",\n },\n StoreRegistrationSystem: {\n name: \"Registration\",\n },\n WorldRegistrationSystem: {\n name: \"Registration\",\n },\n },\n});\n\nexport default tablesConfig;\n"],"mappings":"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","names":[]}
|
package/dist/internal.js
CHANGED
package/dist/mud.config.js
CHANGED
package/dist/node.js
CHANGED
@@ -557,7 +557,7 @@ function renderWorldInterface({
|
|
557
557
|
}
|
558
558
|
|
559
559
|
// ts/node/render-solidity/worldgen.ts
|
560
|
-
import
|
560
|
+
import fs2 from "node:fs/promises";
|
561
561
|
import path4 from "node:path";
|
562
562
|
import { formatAndWriteSolidity, contractToInterface } from "@latticexyz/common/codegen";
|
563
563
|
|
@@ -566,6 +566,7 @@ import { isHex } from "viem";
|
|
566
566
|
|
567
567
|
// ts/node/getSystemContracts.ts
|
568
568
|
import path3 from "node:path";
|
569
|
+
import fs from "node:fs/promises";
|
569
570
|
|
570
571
|
// ts/node/findSolidityFiles.ts
|
571
572
|
import path2 from "node:path";
|
@@ -5274,8 +5275,8 @@ var PathScurryBase = class {
|
|
5274
5275
|
*
|
5275
5276
|
* @internal
|
5276
5277
|
*/
|
5277
|
-
constructor(cwd = process.cwd(), pathImpl, sep2, { nocase, childrenCacheSize = 16 * 1024, fs:
|
5278
|
-
this.#fs = fsFromOption(
|
5278
|
+
constructor(cwd = process.cwd(), pathImpl, sep2, { nocase, childrenCacheSize = 16 * 1024, fs: fs4 = defaultFS } = {}) {
|
5279
|
+
this.#fs = fsFromOption(fs4);
|
5279
5280
|
if (cwd instanceof URL || cwd.startsWith("file://")) {
|
5280
5281
|
cwd = fileURLToPath(cwd);
|
5281
5282
|
}
|
@@ -5833,8 +5834,8 @@ var PathScurryWin32 = class extends PathScurryBase {
|
|
5833
5834
|
/**
|
5834
5835
|
* @internal
|
5835
5836
|
*/
|
5836
|
-
newRoot(
|
5837
|
-
return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs:
|
5837
|
+
newRoot(fs4) {
|
5838
|
+
return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs4 });
|
5838
5839
|
}
|
5839
5840
|
/**
|
5840
5841
|
* Return true if the provided path string is an absolute path
|
@@ -5862,8 +5863,8 @@ var PathScurryPosix = class extends PathScurryBase {
|
|
5862
5863
|
/**
|
5863
5864
|
* @internal
|
5864
5865
|
*/
|
5865
|
-
newRoot(
|
5866
|
-
return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs:
|
5866
|
+
newRoot(fs4) {
|
5867
|
+
return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs4 });
|
5867
5868
|
}
|
5868
5869
|
/**
|
5869
5870
|
* Return true if the provided path string is an absolute path
|
@@ -6951,19 +6952,26 @@ async function findSolidityFiles({ cwd, pattern = "**" }) {
|
|
6951
6952
|
}
|
6952
6953
|
|
6953
6954
|
// ts/node/getSystemContracts.ts
|
6955
|
+
import { parseSystem } from "@latticexyz/common/codegen";
|
6956
|
+
import { isDefined } from "@latticexyz/common/utils";
|
6954
6957
|
async function getSystemContracts({
|
6955
6958
|
rootDir,
|
6956
6959
|
config
|
6957
6960
|
}) {
|
6958
|
-
const
|
6961
|
+
const filePaths = await findSolidityFiles({
|
6959
6962
|
cwd: rootDir,
|
6960
6963
|
pattern: path3.join(config.sourceDirectory, "**")
|
6961
6964
|
});
|
6962
|
-
|
6963
|
-
(file) =>
|
6964
|
-
|
6965
|
-
|
6966
|
-
|
6965
|
+
const files = await Promise.all(
|
6966
|
+
filePaths.map(async (file) => {
|
6967
|
+
console.log("reading source for", file.filename);
|
6968
|
+
const source = await fs.readFile(path3.join(rootDir, file.filename), "utf-8");
|
6969
|
+
return { ...file, source };
|
6970
|
+
})
|
6971
|
+
);
|
6972
|
+
return files.map((file) => {
|
6973
|
+
const parsedSystem = parseSystem(file.source, file.basename);
|
6974
|
+
if (!parsedSystem) return;
|
6967
6975
|
const namespaceLabel = (() => {
|
6968
6976
|
if (!config.multipleNamespaces && config.namespace != null) return config.namespace;
|
6969
6977
|
const relativePath = path3.relative(path3.join(rootDir, config.sourceDirectory), file.filename);
|
@@ -6980,7 +6988,7 @@ async function getSystemContracts({
|
|
6980
6988
|
namespaceLabel,
|
6981
6989
|
systemLabel: file.basename
|
6982
6990
|
};
|
6983
|
-
});
|
6991
|
+
}).filter(isDefined);
|
6984
6992
|
}
|
6985
6993
|
|
6986
6994
|
// ts/node/resolveSystems.ts
|
@@ -7058,8 +7066,8 @@ async function worldgen({
|
|
7058
7066
|
if (clean) {
|
7059
7067
|
const libraryDirs = [...new Set(systems.map(({ libraryPath }) => path4.dirname(libraryPath)))];
|
7060
7068
|
await Promise.all([
|
7061
|
-
|
7062
|
-
...libraryDirs.map((dir) =>
|
7069
|
+
fs2.rm(worldgenOutDir, { recursive: true, force: true }),
|
7070
|
+
...libraryDirs.map((dir) => fs2.rm(dir, { recursive: true, force: true }))
|
7063
7071
|
]);
|
7064
7072
|
}
|
7065
7073
|
const outputPath = path4.join(worldgenOutDir, config.codegen.worldInterfaceName + ".sol");
|
@@ -7073,7 +7081,7 @@ async function worldgen({
|
|
7073
7081
|
const worldImportPath = config.codegen.worldImportPath.startsWith(".") ? "./" + path4.relative(path4.dirname(outputPath), path4.join(rootDir, config.codegen.worldImportPath)) : config.codegen.worldImportPath;
|
7074
7082
|
await Promise.all(
|
7075
7083
|
systems.map(async (system) => {
|
7076
|
-
const source = await
|
7084
|
+
const source = await fs2.readFile(path4.join(rootDir, system.sourcePath), "utf8");
|
7077
7085
|
const { functions, errors, symbolImports } = contractToInterface(source, system.label);
|
7078
7086
|
const interfaceImports = symbolImports.map(
|
7079
7087
|
({ symbol, path: importPath }) => ({
|
@@ -7133,7 +7141,7 @@ async function worldgen({
|
|
7133
7141
|
import path5 from "node:path";
|
7134
7142
|
import { readFile } from "node:fs/promises";
|
7135
7143
|
import { type as type2 } from "arktype";
|
7136
|
-
import { indent, isDefined } from "@latticexyz/common/utils";
|
7144
|
+
import { indent, isDefined as isDefined2 } from "@latticexyz/common/utils";
|
7137
7145
|
import { size, sliceHex } from "viem";
|
7138
7146
|
|
7139
7147
|
// ts/node/common.ts
|
@@ -7211,7 +7219,7 @@ ${indent(artifact.message)}`);
|
|
7211
7219
|
return;
|
7212
7220
|
}
|
7213
7221
|
return artifact;
|
7214
|
-
}).filter(
|
7222
|
+
}).filter(isDefined2).filter(hasMetadata).map((artifact) => {
|
7215
7223
|
artifact;
|
7216
7224
|
const sourcePath = Object.keys(artifact.metadata.settings.compilationTarget)[0];
|
7217
7225
|
const name = artifact.metadata.settings.compilationTarget[sourcePath];
|
@@ -7320,7 +7328,7 @@ async function buildSystemsManifest(opts) {
|
|
7320
7328
|
}
|
7321
7329
|
|
7322
7330
|
// ts/node/loadSystemsManifest.ts
|
7323
|
-
import
|
7331
|
+
import fs3 from "node:fs/promises";
|
7324
7332
|
import path7 from "node:path";
|
7325
7333
|
import { type as type4 } from "arktype";
|
7326
7334
|
import { indent as indent2 } from "@latticexyz/common/utils";
|
@@ -7328,13 +7336,13 @@ var parseManifest = type4("string").pipe.try((s) => JSON.parse(s), SystemsManife
|
|
7328
7336
|
async function loadSystemsManifest(opts) {
|
7329
7337
|
const outFile = path7.join(opts.rootDir, systemsManifestFilename);
|
7330
7338
|
try {
|
7331
|
-
await
|
7339
|
+
await fs3.access(outFile, fs3.constants.F_OK | fs3.constants.R_OK);
|
7332
7340
|
} catch (error2) {
|
7333
7341
|
throw new Error(
|
7334
7342
|
`Systems manifest at "${systemsManifestFilename}" not found or not readable. Run \`mud build\` before trying again.`
|
7335
7343
|
);
|
7336
7344
|
}
|
7337
|
-
const json = await
|
7345
|
+
const json = await fs3.readFile(outFile, "utf8");
|
7338
7346
|
const manifest = parseManifest(json);
|
7339
7347
|
if (manifest instanceof type4.errors) {
|
7340
7348
|
throw new Error(
|