@latticexyz/world 2.2.18-90aac1d4acce19ac592d47a090732dd11c1c3e7a → 2.2.18-9fa07c8489f1fbf167d0db01cd9aaa645a29c8e2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/IBaseWorld.abi-S745M2QE.js +2015 -0
  2. package/dist/{IBaseWorld.abi-SGUPOG6A.js.map → IBaseWorld.abi-S745M2QE.js.map} +1 -1
  3. package/dist/System.abi-UHI2DJK6.js +67 -0
  4. package/dist/{System.abi-D2D3OAI5.js.map → System.abi-UHI2DJK6.js.map} +1 -1
  5. package/dist/chunk-AAKXFFCU.js +158 -0
  6. package/dist/chunk-AAKXFFCU.js.map +1 -0
  7. package/dist/chunk-AAWFTQHP.js +35 -0
  8. package/dist/chunk-S5LARYWY.js +136 -0
  9. package/dist/{chunk-AJUHOWGE.js.map → chunk-S5LARYWY.js.map} +1 -1
  10. package/dist/chunk-TL2M3LZH.js +119 -0
  11. package/dist/{chunk-DIHBEOC2.js.map → chunk-TL2M3LZH.js.map} +1 -1
  12. package/dist/dynamicResolution-AmVd5Qtd.d.cts +161 -0
  13. package/dist/index.cjs +241 -0
  14. package/dist/index.cjs.map +1 -0
  15. package/dist/index.d.cts +11 -0
  16. package/dist/index.js +20 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/internal.cjs +656 -0
  19. package/dist/internal.cjs.map +1 -0
  20. package/dist/internal.d.cts +169 -0
  21. package/dist/internal.js +318 -3
  22. package/dist/internal.js.map +1 -1
  23. package/dist/mud.config.cjs +357 -0
  24. package/dist/mud.config.cjs.map +1 -0
  25. package/dist/mud.config.d.cts +869 -0
  26. package/dist/mud.config.js +11 -1
  27. package/dist/node.cjs +9599 -0
  28. package/dist/node.cjs.map +1 -0
  29. package/dist/node.d.cts +131 -0
  30. package/dist/node.js +7328 -102
  31. package/dist/node.js.map +1 -1
  32. package/dist/world-DUniZQxy.d.cts +266 -0
  33. package/package.json +49 -14
  34. package/dist/IBaseWorld.abi-SGUPOG6A.js +0 -2
  35. package/dist/System.abi-D2D3OAI5.js +0 -2
  36. package/dist/chunk-AJUHOWGE.js +0 -2
  37. package/dist/chunk-CGF3NYHC.js +0 -2
  38. package/dist/chunk-CGF3NYHC.js.map +0 -1
  39. package/dist/chunk-DIHBEOC2.js +0 -2
  40. package/dist/chunk-FW4363Y4.js +0 -2
  41. /package/dist/{chunk-FW4363Y4.js.map → chunk-AAWFTQHP.js.map} +0 -0
@@ -0,0 +1,266 @@
1
+ import { requiredKeyOf, ErrorMessage, narrow, show, conform, withJsDoc } from '@ark/util';
2
+ import { NamespaceInput as NamespaceInput$1, StoreInput, mergeIfUndefined, Scope, AbiTypeScope, validateNamespace as validateNamespace$1, resolveNamespace as resolveNamespace$1, extendedScope, validateStore, CONFIG_DEFAULTS as CONFIG_DEFAULTS$1, resolveStore, flattenNamespacedTables } from '@latticexyz/store/internal';
3
+ import { S as SystemDeploy, V as ValueWithType, D as DynamicResolution, C as Codegen, W as World } from './dynamicResolution-AmVd5Qtd.cjs';
4
+ import { Hex } from 'viem';
5
+ import { StoreInput as StoreInput$1 } from '@latticexyz/store';
6
+
7
+ type SystemDeployInput = Partial<SystemDeploy>;
8
+ type SystemInput = {
9
+ /**
10
+ * Human-readable system label. Used as config keys, interface names, and filenames.
11
+ * Labels are not length constrained like resource names, but special characters should be avoided to be compatible with the filesystem, Solidity compiler, etc.
12
+ */
13
+ readonly label: string;
14
+ /**
15
+ * Human-readable label for this system's namespace. Used for namespace config keys and directory names.
16
+ * Defaults to the nearest namespace in the config or root namespace if not set.
17
+ */
18
+ readonly namespaceLabel?: string;
19
+ /**
20
+ * System namespace used in systems's resource ID and determines access control.
21
+ * Defaults to the nearest namespace in the config or root namespace if not set.
22
+ */
23
+ readonly namespace?: string;
24
+ /**
25
+ * System name used in systems's resource ID.
26
+ * Defaults to the first 16 characters of `label` if not set.
27
+ */
28
+ readonly name?: string;
29
+ /** If openAccess is true, any address can call the system */
30
+ readonly openAccess?: boolean;
31
+ /** An array of addresses or system names that can access the system */
32
+ readonly accessList?: readonly string[];
33
+ readonly deploy?: SystemDeployInput;
34
+ };
35
+ type SystemsInput = {
36
+ readonly [label: string]: Omit<SystemInput, "label" | "namespaceLabel" | "namespace">;
37
+ };
38
+ type NamespaceInput = NamespaceInput$1 & {
39
+ readonly systems?: SystemsInput;
40
+ };
41
+ type NamespacesInput = {
42
+ readonly [label: string]: Omit<NamespaceInput, "label">;
43
+ };
44
+ type ModuleInputArtifactPath = {
45
+ /**
46
+ * Import path to module's forge/solc JSON artifact with the module's compiled bytecode. This is used to create consistent, deterministic deploys for already-built modules
47
+ * like those installed and imported from npm.
48
+ *
49
+ * This path is resolved using node's module resolution, so this supports both relative file paths (`../path/to/MyModule.json`) as well as JS import paths
50
+ * (`@latticexyz/world-modules/out/CallWithSignatureModule.sol/CallWithSignatureModule.json`).
51
+ */
52
+ readonly artifactPath: string;
53
+ readonly name?: never;
54
+ } | {
55
+ /**
56
+ * The name of the module, used to construct the import path relative to the project directory.
57
+ * @deprecated Use `artifactPath` instead.
58
+ */
59
+ readonly name: string;
60
+ readonly artifactPath?: never;
61
+ };
62
+ type ModuleInput = ModuleInputArtifactPath & {
63
+ /**
64
+ * Should this module be installed as a root module?
65
+ * @default false
66
+ */
67
+ readonly root?: boolean;
68
+ /** Arguments to be passed to the module's install method */
69
+ readonly args?: readonly (ValueWithType | DynamicResolution)[];
70
+ };
71
+ type DeployInput = {
72
+ /**
73
+ * Script to execute after the deployment is complete (Default "PostDeploy").
74
+ * Script must be placed in the forge scripts directory (see foundry.toml) and have a ".s.sol" extension.
75
+ */
76
+ readonly postDeployScript?: string;
77
+ /** Directory to write the deployment info to (Default "./deploys") */
78
+ readonly deploysDirectory?: string;
79
+ /** JSON file to write to with chain -> latest world deploy address (Default "./worlds.json") */
80
+ readonly worldsFile?: string;
81
+ /** Deploy the World as an upgradeable proxy */
82
+ readonly upgradeableWorldImplementation?: boolean;
83
+ /**
84
+ * Deploy the World using a custom implementation. This world must implement the same interface as `World.sol` so that it can initialize core modules, etc.
85
+ * If you want to extend the world with new functions or override existing registered functions, we recommend using [root systems](https://mud.dev/world/systems#root-systems).
86
+ * However, there are rare cases where this may not be enough to modify the native/internal World behavior.
87
+ * Note that deploying a custom World opts out of the world factory, deterministic world deploys, and upgradeable implementation proxy.
88
+ */
89
+ readonly customWorld?: {
90
+ /** Path to custom world source file relative to project root dir. */
91
+ sourcePath: string;
92
+ /** Contract name in custom world source file. */
93
+ name: string;
94
+ };
95
+ };
96
+ type CodegenInput = Partial<Codegen>;
97
+ type WorldInput = Omit<StoreInput, "namespaces"> & {
98
+ readonly namespaces?: NamespacesInput;
99
+ /**
100
+ * Contracts named *System will be deployed by default
101
+ * as public systems at `namespace/ContractName`, unless overridden
102
+ *
103
+ * The key is the system name (capitalized).
104
+ * The value is a SystemConfig object.
105
+ */
106
+ readonly systems?: SystemsInput;
107
+ /** System names to exclude from codegen and deployment */
108
+ readonly excludeSystems?: readonly string[];
109
+ /** Modules to install in the World */
110
+ readonly modules?: readonly ModuleInput[];
111
+ /** Deploy config */
112
+ readonly deploy?: DeployInput;
113
+ /** Codegen config */
114
+ readonly codegen?: CodegenInput;
115
+ };
116
+
117
+ declare const SYSTEM_DEPLOY_DEFAULTS: {
118
+ readonly disabled: false;
119
+ readonly registerWorldFunctions: true;
120
+ };
121
+ type SYSTEM_DEPLOY_DEFAULTS = typeof SYSTEM_DEPLOY_DEFAULTS;
122
+ declare const SYSTEM_DEFAULTS: {
123
+ readonly namespaceLabel: "";
124
+ readonly openAccess: true;
125
+ readonly accessList: readonly [];
126
+ };
127
+ type SYSTEM_DEFAULTS = typeof SYSTEM_DEFAULTS;
128
+ declare const MODULE_DEFAULTS: {
129
+ readonly root: false;
130
+ readonly args: readonly [];
131
+ readonly artifactPath: undefined;
132
+ };
133
+ type MODULE_DEFAULTS = typeof MODULE_DEFAULTS;
134
+ declare const CODEGEN_DEFAULTS: {
135
+ readonly worldInterfaceName: "IWorld";
136
+ readonly worldgenDirectory: "world";
137
+ readonly systemLibrariesDirectory: "systems";
138
+ readonly generateSystemLibraries: false;
139
+ readonly worldImportPath: "@latticexyz/world/src";
140
+ };
141
+ type CODEGEN_DEFAULTS = typeof CODEGEN_DEFAULTS;
142
+ declare const DEPLOY_DEFAULTS: {
143
+ readonly postDeployScript: "PostDeploy";
144
+ readonly deploysDirectory: "./deploys";
145
+ readonly worldsFile: "./worlds.json";
146
+ readonly upgradeableWorldImplementation: false;
147
+ };
148
+ type DEPLOY_DEFAULTS = typeof DEPLOY_DEFAULTS;
149
+ declare const CONFIG_DEFAULTS: {
150
+ readonly systems: {};
151
+ readonly tables: {};
152
+ readonly excludeSystems: readonly [];
153
+ readonly modules: readonly [];
154
+ readonly codegen: {
155
+ readonly worldInterfaceName: "IWorld";
156
+ readonly worldgenDirectory: "world";
157
+ readonly systemLibrariesDirectory: "systems";
158
+ readonly generateSystemLibraries: false;
159
+ readonly worldImportPath: "@latticexyz/world/src";
160
+ };
161
+ readonly deploy: {
162
+ readonly postDeployScript: "PostDeploy";
163
+ readonly deploysDirectory: "./deploys";
164
+ readonly worldsFile: "./worlds.json";
165
+ readonly upgradeableWorldImplementation: false;
166
+ };
167
+ };
168
+ type CONFIG_DEFAULTS = typeof CONFIG_DEFAULTS;
169
+
170
+ type ValidateSystemOptions = {
171
+ readonly inNamespace?: true;
172
+ };
173
+ type requiredSystemKey<inNamespace extends true | undefined> = Exclude<requiredKeyOf<SystemInput>, inNamespace extends true ? "label" | "namespaceLabel" | "namespace" : never>;
174
+ type validateSystem<input, options extends ValidateSystemOptions = {}> = {
175
+ [key in keyof input | requiredSystemKey<options["inNamespace"]>]: key extends keyof SystemInput ? key extends "label" | "namespaceLabel" | "namespace" ? options["inNamespace"] extends true ? ErrorMessage<"Overrides of `label`, `namespaceLabel`, and `namespace` are not allowed for systems in this context."> : key extends keyof input ? narrow<input[key]> : never : SystemInput[key] : ErrorMessage<`Key \`${key & string}\` does not exist in SystemInput`>;
176
+ };
177
+ declare function validateSystem<input>(input: input, options?: ValidateSystemOptions): asserts input is SystemInput & input;
178
+ type resolveSystem<input> = input extends SystemInput ? {
179
+ readonly label: input["label"];
180
+ readonly namespaceLabel: undefined extends input["namespaceLabel"] ? typeof SYSTEM_DEFAULTS.namespaceLabel : input["namespaceLabel"];
181
+ readonly namespace: string;
182
+ readonly name: string;
183
+ readonly systemId: Hex;
184
+ readonly openAccess: undefined extends input["openAccess"] ? SYSTEM_DEFAULTS["openAccess"] : input["openAccess"];
185
+ readonly accessList: undefined extends input["accessList"] ? SYSTEM_DEFAULTS["accessList"] : input["accessList"];
186
+ readonly deploy: show<mergeIfUndefined<undefined extends input["deploy"] ? {} : input["deploy"], SYSTEM_DEPLOY_DEFAULTS>>;
187
+ } : never;
188
+ declare function resolveSystem<input extends SystemInput>(input: input): resolveSystem<input>;
189
+ declare function defineSystem<input>(input: validateSystem<input>): resolveSystem<input>;
190
+
191
+ type validateSystems<input> = {
192
+ [label in keyof input]: input[label] extends object ? validateSystem<input[label], {
193
+ inNamespace: true;
194
+ }> : ErrorMessage<`Expected a system config for ${label & string}.`>;
195
+ };
196
+ declare function validateSystems(input: unknown): asserts input is SystemsInput;
197
+ type resolveSystems<systems extends SystemsInput, namespaceLabel extends string> = {
198
+ [label in keyof systems]: resolveSystem<systems[label] & {
199
+ label: label;
200
+ namespaceLabel: namespaceLabel;
201
+ namespace: string;
202
+ }>;
203
+ };
204
+ declare function resolveSystems<systems extends SystemsInput, namespaceLabel extends string>(systems: systems, namespaceLabel: namespaceLabel, namespace: string): resolveSystems<systems, namespaceLabel>;
205
+
206
+ type validateNamespace<input, scope extends Scope = AbiTypeScope> = {
207
+ [key in keyof input]: key extends "systems" ? validateSystems<input[key]> : validateNamespace$1<input, scope>[key];
208
+ };
209
+ declare function validateNamespace<scope extends Scope = AbiTypeScope>(input: unknown, scope: scope): asserts input is NamespaceInput;
210
+ type resolveNamespace<input, scope extends Scope = AbiTypeScope> = input extends NamespaceInput ? show<resolveNamespace$1<input, scope> & {
211
+ readonly systems: input["systems"] extends SystemsInput ? show<resolveSystems<input["systems"], resolveNamespace$1<input, scope>["label"]>> : {};
212
+ }> : never;
213
+ declare function resolveNamespace<const input extends NamespaceInput, scope extends Scope = AbiTypeScope>(input: input, scope?: scope): resolveNamespace<input, scope>;
214
+
215
+ type validateNamespaces<namespaces, scope extends Scope = AbiTypeScope> = {
216
+ [label in keyof namespaces]: validateNamespace<namespaces[label], scope>;
217
+ };
218
+ declare function validateNamespaces<scope extends Scope = AbiTypeScope>(namespaces: unknown, scope: scope): asserts namespaces is NamespacesInput;
219
+ type resolveNamespaces<namespaces, scope extends Scope = AbiTypeScope> = {
220
+ readonly [label in keyof namespaces]: resolveNamespace<mergeIfUndefined<namespaces[label], {
221
+ label: label;
222
+ }>, scope>;
223
+ };
224
+ declare function resolveNamespaces<input extends NamespacesInput, scope extends Scope = AbiTypeScope>(input: input, scope: scope): resolveNamespaces<input, scope>;
225
+ declare function defineNamespaces<input, scope extends Scope = AbiTypeScope>(input: validateNamespaces<input, scope>, scope?: scope): show<resolveNamespaces<input, scope>>;
226
+
227
+ type resolveCodegen<codegen> = codegen extends {} ? mergeIfUndefined<codegen, CODEGEN_DEFAULTS> : CODEGEN_DEFAULTS;
228
+ declare function resolveCodegen<codegen>(codegen: codegen): resolveCodegen<codegen>;
229
+
230
+ type resolveDeploy<deploy> = deploy extends {} ? mergeIfUndefined<deploy, DEPLOY_DEFAULTS> : DEPLOY_DEFAULTS;
231
+ declare function resolveDeploy<deploy>(deploy: deploy): resolveDeploy<deploy>;
232
+
233
+ type validateWorld<input> = {
234
+ readonly [key in keyof input]: key extends "namespaces" ? input extends {
235
+ namespace?: unknown;
236
+ tables?: unknown;
237
+ systems?: unknown;
238
+ } ? ErrorMessage<"Cannot use `namespaces` with `namespace`, `tables`, or `systems` keys."> : validateNamespaces<input[key], extendedScope<input>> : key extends "systems" ? validateSystems<input[key]> : key extends "codegen" ? conform<input[key], WorldInput[key] & StoreInput$1[key]> : key extends keyof StoreInput$1 ? validateStore<input>[key] : key extends keyof WorldInput ? conform<input[key], WorldInput[key]> : ErrorMessage<`\`${key & string}\` is not a valid World config option.`>;
239
+ };
240
+ declare function validateWorld(input: unknown): asserts input is WorldInput;
241
+ type resolveNamespaceMode<input> = "namespaces" extends keyof input ? {
242
+ readonly multipleNamespaces: true;
243
+ readonly namespace: null;
244
+ readonly namespaces: show<resolveNamespaces<input["namespaces"], extendedScope<input>>>;
245
+ } : {
246
+ readonly multipleNamespaces: false;
247
+ readonly namespace: string;
248
+ readonly namespaces: show<resolveNamespaces<{
249
+ readonly [label in "namespace" extends keyof input ? input["namespace"] extends string ? input["namespace"] : CONFIG_DEFAULTS$1["namespace"] : CONFIG_DEFAULTS$1["namespace"]]: input;
250
+ }, extendedScope<input>>>;
251
+ };
252
+ type resolveModules<input> = {
253
+ [key in keyof input]: mergeIfUndefined<input[key], MODULE_DEFAULTS>;
254
+ };
255
+ type resolveWorld<input> = resolveNamespaceMode<input> & Omit<resolveStore<input>, "multipleNamespaces" | "namespace" | "namespaces" | "tables"> & {
256
+ readonly tables: flattenNamespacedTables<resolveNamespaceMode<input>>;
257
+ readonly systems: "systems" extends keyof input ? input["systems"] extends SystemsInput ? resolveNamespaceMode<input>["namespace"] extends string ? show<resolveSystems<input["systems"], resolveNamespaceMode<input>["namespace"]>> : {} : {} : {};
258
+ readonly excludeSystems: "excludeSystems" extends keyof input ? input["excludeSystems"] : CONFIG_DEFAULTS["excludeSystems"];
259
+ readonly modules: "modules" extends keyof input ? resolveModules<input["modules"]> : CONFIG_DEFAULTS["modules"];
260
+ readonly codegen: show<resolveCodegen<"codegen" extends keyof input ? input["codegen"] : {}>>;
261
+ readonly deploy: show<resolveDeploy<"deploy" extends keyof input ? input["deploy"] : {}>>;
262
+ };
263
+ declare function resolveWorld<const input extends WorldInput>(input: input): resolveWorld<input>;
264
+ declare function defineWorld<const input>(input: validateWorld<input>): withJsDoc<resolveWorld<input>, World>;
265
+
266
+ export { CODEGEN_DEFAULTS as C, DEPLOY_DEFAULTS as D, MODULE_DEFAULTS as M, type NamespaceInput as N, SYSTEM_DEPLOY_DEFAULTS as S, type ValidateSystemOptions as V, type WorldInput as W, SYSTEM_DEFAULTS as a, CONFIG_DEFAULTS as b, resolveDeploy as c, defineWorld as d, type SystemDeployInput as e, type SystemInput as f, type SystemsInput as g, type NamespacesInput as h, type ModuleInput as i, type DeployInput as j, type CodegenInput as k, resolveNamespace as l, validateNamespaces as m, resolveNamespaces as n, defineNamespaces as o, type requiredSystemKey as p, validateSystem as q, resolveCodegen as r, resolveSystem as s, defineSystem as t, validateSystems as u, validateNamespace as v, resolveSystems as w, validateWorld as x, type resolveNamespaceMode as y, resolveWorld as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@latticexyz/world",
3
- "version": "2.2.18-90aac1d4acce19ac592d47a090732dd11c1c3e7a",
3
+ "version": "2.2.18-9fa07c8489f1fbf167d0db01cd9aaa645a29c8e2",
4
4
  "description": "World framework",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,10 +10,46 @@
10
10
  "license": "MIT",
11
11
  "type": "module",
12
12
  "exports": {
13
- ".": "./dist/index.js",
14
- "./internal": "./dist/internal.js",
15
- "./mud.config": "./dist/mud.config.js",
16
- "./node": "./dist/node.js",
13
+ ".": {
14
+ "import": {
15
+ "import": "./dist/index.js",
16
+ "types": "./dist/index.d.ts"
17
+ },
18
+ "require": {
19
+ "require": "./dist/index.cjs",
20
+ "types": "./dist/index.d.cts"
21
+ }
22
+ },
23
+ "./internal": {
24
+ "import": {
25
+ "import": "./dist/internal.js",
26
+ "types": "./dist/internal.d.ts"
27
+ },
28
+ "require": {
29
+ "require": "./dist/internal.cjs",
30
+ "types": "./dist/internal.d.cts"
31
+ }
32
+ },
33
+ "./mud.config": {
34
+ "import": {
35
+ "import": "./dist/mud.config.js",
36
+ "types": "./dist/mud.config.d.ts"
37
+ },
38
+ "require": {
39
+ "require": "./dist/mud.config.cjs",
40
+ "types": "./dist/mud.config.d.cts"
41
+ }
42
+ },
43
+ "./node": {
44
+ "import": {
45
+ "import": "./dist/node.js",
46
+ "types": "./dist/node.d.ts"
47
+ },
48
+ "require": {
49
+ "require": "./dist/node.cjs",
50
+ "types": "./dist/node.d.cts"
51
+ }
52
+ },
17
53
  "./out/*": "./out/*"
18
54
  },
19
55
  "typesVersions": {
@@ -43,12 +79,12 @@
43
79
  "abitype": "1.0.6",
44
80
  "arktype": "2.0.0-beta.6",
45
81
  "debug": "^4.3.4",
46
- "@latticexyz/block-logs-stream": "2.2.18-90aac1d4acce19ac592d47a090732dd11c1c3e7a",
47
- "@latticexyz/common": "2.2.18-90aac1d4acce19ac592d47a090732dd11c1c3e7a",
48
- "@latticexyz/config": "2.2.18-90aac1d4acce19ac592d47a090732dd11c1c3e7a",
49
- "@latticexyz/protocol-parser": "2.2.18-90aac1d4acce19ac592d47a090732dd11c1c3e7a",
50
- "@latticexyz/schema-type": "2.2.18-90aac1d4acce19ac592d47a090732dd11c1c3e7a",
51
- "@latticexyz/store": "2.2.18-90aac1d4acce19ac592d47a090732dd11c1c3e7a"
82
+ "@latticexyz/block-logs-stream": "2.2.18-9fa07c8489f1fbf167d0db01cd9aaa645a29c8e2",
83
+ "@latticexyz/common": "2.2.18-9fa07c8489f1fbf167d0db01cd9aaa645a29c8e2",
84
+ "@latticexyz/config": "2.2.18-9fa07c8489f1fbf167d0db01cd9aaa645a29c8e2",
85
+ "@latticexyz/protocol-parser": "2.2.18-9fa07c8489f1fbf167d0db01cd9aaa645a29c8e2",
86
+ "@latticexyz/schema-type": "2.2.18-9fa07c8489f1fbf167d0db01cd9aaa645a29c8e2",
87
+ "@latticexyz/store": "2.2.18-9fa07c8489f1fbf167d0db01cd9aaa645a29c8e2"
52
88
  },
53
89
  "devDependencies": {
54
90
  "@types/debug": "^4.1.7",
@@ -59,9 +95,8 @@
59
95
  "glob": "^10.4.2",
60
96
  "solhint": "^3.3.7",
61
97
  "viem": "2.21.19",
62
- "vitest": "0.34.6",
63
- "@latticexyz/abi-ts": "2.2.18-90aac1d4acce19ac592d47a090732dd11c1c3e7a",
64
- "@latticexyz/gas-report": "2.2.18-90aac1d4acce19ac592d47a090732dd11c1c3e7a"
98
+ "@latticexyz/abi-ts": "2.2.18-9fa07c8489f1fbf167d0db01cd9aaa645a29c8e2",
99
+ "@latticexyz/gas-report": "2.2.18-9fa07c8489f1fbf167d0db01cd9aaa645a29c8e2"
65
100
  },
66
101
  "peerDependencies": {
67
102
  "viem": "2.x"
@@ -1,2 +0,0 @@
1
- import"./chunk-FW4363Y4.js";var n=[{type:"function",name:"batchCall",inputs:[{name:"systemCalls",type:"tuple[]",internalType:"struct SystemCallData[]",components:[{name:"systemId",type:"bytes32",internalType:"ResourceId"},{name:"callData",type:"bytes",internalType:"bytes"}]}],outputs:[{name:"returnDatas",type:"bytes[]",internalType:"bytes[]"}],stateMutability:"nonpayable"},{type:"function",name:"batchCallFrom",inputs:[{name:"systemCalls",type:"tuple[]",internalType:"struct SystemCallFromData[]",components:[{name:"from",type:"address",internalType:"address"},{name:"systemId",type:"bytes32",internalType:"ResourceId"},{name:"callData",type:"bytes",internalType:"bytes"}]}],outputs:[{name:"returnDatas",type:"bytes[]",internalType:"bytes[]"}],stateMutability:"nonpayable"},{type:"function",name:"call",inputs:[{name:"systemId",type:"bytes32",internalType:"ResourceId"},{name:"callData",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"payable"},{type:"function",name:"callFrom",inputs:[{name:"delegator",type:"address",internalType:"address"},{name:"systemId",type:"bytes32",internalType:"ResourceId"},{name:"callData",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"payable"},{type:"function",name:"creator",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"deleteRecord",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"getDynamicField",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"dynamicFieldIndex",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{type:"function",name:"getDynamicFieldLength",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"dynamicFieldIndex",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getDynamicFieldSlice",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"dynamicFieldIndex",type:"uint8",internalType:"uint8"},{name:"start",type:"uint256",internalType:"uint256"},{name:"end",type:"uint256",internalType:"uint256"}],outputs:[{name:"data",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{type:"function",name:"getField",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"fieldIndex",type:"uint8",internalType:"uint8"},{name:"fieldLayout",type:"bytes32",internalType:"FieldLayout"}],outputs:[{name:"data",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{type:"function",name:"getField",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"fieldIndex",type:"uint8",internalType:"uint8"}],outputs:[{name:"data",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{type:"function",name:"getFieldLayout",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"}],outputs:[{name:"fieldLayout",type:"bytes32",internalType:"FieldLayout"}],stateMutability:"view"},{type:"function",name:"getFieldLength",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"fieldIndex",type:"uint8",internalType:"uint8"},{name:"fieldLayout",type:"bytes32",internalType:"FieldLayout"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getFieldLength",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"fieldIndex",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getKeySchema",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"}],outputs:[{name:"keySchema",type:"bytes32",internalType:"Schema"}],stateMutability:"view"},{type:"function",name:"getRecord",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"fieldLayout",type:"bytes32",internalType:"FieldLayout"}],outputs:[{name:"staticData",type:"bytes",internalType:"bytes"},{name:"encodedLengths",type:"bytes32",internalType:"EncodedLengths"},{name:"dynamicData",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{type:"function",name:"getRecord",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"}],outputs:[{name:"staticData",type:"bytes",internalType:"bytes"},{name:"encodedLengths",type:"bytes32",internalType:"EncodedLengths"},{name:"dynamicData",type:"bytes",internalType:"bytes"}],stateMutability:"view"},{type:"function",name:"getStaticField",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"fieldIndex",type:"uint8",internalType:"uint8"},{name:"fieldLayout",type:"bytes32",internalType:"FieldLayout"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"getValueSchema",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"}],outputs:[{name:"valueSchema",type:"bytes32",internalType:"Schema"}],stateMutability:"view"},{type:"function",name:"grantAccess",inputs:[{name:"resourceId",type:"bytes32",internalType:"ResourceId"},{name:"grantee",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"initialize",inputs:[{name:"initModule",type:"address",internalType:"contract IModule"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"installModule",inputs:[{name:"module",type:"address",internalType:"contract IModule"},{name:"encodedArgs",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"installRootModule",inputs:[{name:"module",type:"address",internalType:"contract IModule"},{name:"encodedArgs",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"popFromDynamicField",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"dynamicFieldIndex",type:"uint8",internalType:"uint8"},{name:"byteLengthToPop",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"pushToDynamicField",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"dynamicFieldIndex",type:"uint8",internalType:"uint8"},{name:"dataToPush",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"registerDelegation",inputs:[{name:"delegatee",type:"address",internalType:"address"},{name:"delegationControlId",type:"bytes32",internalType:"ResourceId"},{name:"initCallData",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"registerFunctionSelector",inputs:[{name:"systemId",type:"bytes32",internalType:"ResourceId"},{name:"systemFunctionSignature",type:"string",internalType:"string"}],outputs:[{name:"worldFunctionSelector",type:"bytes4",internalType:"bytes4"}],stateMutability:"nonpayable"},{type:"function",name:"registerNamespace",inputs:[{name:"namespaceId",type:"bytes32",internalType:"ResourceId"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"registerNamespaceDelegation",inputs:[{name:"namespaceId",type:"bytes32",internalType:"ResourceId"},{name:"delegationControlId",type:"bytes32",internalType:"ResourceId"},{name:"initCallData",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"registerRootFunctionSelector",inputs:[{name:"systemId",type:"bytes32",internalType:"ResourceId"},{name:"worldFunctionSignature",type:"string",internalType:"string"},{name:"systemFunctionSignature",type:"string",internalType:"string"}],outputs:[{name:"worldFunctionSelector",type:"bytes4",internalType:"bytes4"}],stateMutability:"nonpayable"},{type:"function",name:"registerStoreHook",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"hookAddress",type:"address",internalType:"contract IStoreHook"},{name:"enabledHooksBitmap",type:"uint8",internalType:"uint8"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"registerSystem",inputs:[{name:"systemId",type:"bytes32",internalType:"ResourceId"},{name:"system",type:"address",internalType:"contract System"},{name:"publicAccess",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"registerSystemHook",inputs:[{name:"systemId",type:"bytes32",internalType:"ResourceId"},{name:"hookAddress",type:"address",internalType:"contract ISystemHook"},{name:"enabledHooksBitmap",type:"uint8",internalType:"uint8"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"registerTable",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"fieldLayout",type:"bytes32",internalType:"FieldLayout"},{name:"keySchema",type:"bytes32",internalType:"Schema"},{name:"valueSchema",type:"bytes32",internalType:"Schema"},{name:"keyNames",type:"string[]",internalType:"string[]"},{name:"fieldNames",type:"string[]",internalType:"string[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"renounceOwnership",inputs:[{name:"namespaceId",type:"bytes32",internalType:"ResourceId"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"revokeAccess",inputs:[{name:"resourceId",type:"bytes32",internalType:"ResourceId"},{name:"grantee",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setDynamicField",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"dynamicFieldIndex",type:"uint8",internalType:"uint8"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setField",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"fieldIndex",type:"uint8",internalType:"uint8"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setField",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"fieldIndex",type:"uint8",internalType:"uint8"},{name:"data",type:"bytes",internalType:"bytes"},{name:"fieldLayout",type:"bytes32",internalType:"FieldLayout"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setRecord",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"staticData",type:"bytes",internalType:"bytes"},{name:"encodedLengths",type:"bytes32",internalType:"EncodedLengths"},{name:"dynamicData",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setStaticField",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"fieldIndex",type:"uint8",internalType:"uint8"},{name:"data",type:"bytes",internalType:"bytes"},{name:"fieldLayout",type:"bytes32",internalType:"FieldLayout"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"spliceDynamicData",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"dynamicFieldIndex",type:"uint8",internalType:"uint8"},{name:"startWithinField",type:"uint40",internalType:"uint40"},{name:"deleteCount",type:"uint40",internalType:"uint40"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"spliceStaticData",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",internalType:"bytes32[]"},{name:"start",type:"uint48",internalType:"uint48"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"storeVersion",inputs:[],outputs:[{name:"version",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"transferBalanceToAddress",inputs:[{name:"fromNamespaceId",type:"bytes32",internalType:"ResourceId"},{name:"toAddress",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"transferBalanceToNamespace",inputs:[{name:"fromNamespaceId",type:"bytes32",internalType:"ResourceId"},{name:"toNamespaceId",type:"bytes32",internalType:"ResourceId"},{name:"amount",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"transferOwnership",inputs:[{name:"namespaceId",type:"bytes32",internalType:"ResourceId"},{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unregisterDelegation",inputs:[{name:"delegatee",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unregisterNamespaceDelegation",inputs:[{name:"namespaceId",type:"bytes32",internalType:"ResourceId"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unregisterStoreHook",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"hookAddress",type:"address",internalType:"contract IStoreHook"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unregisterSystemHook",inputs:[{name:"systemId",type:"bytes32",internalType:"ResourceId"},{name:"hookAddress",type:"address",internalType:"contract ISystemHook"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"worldVersion",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"event",name:"HelloStore",inputs:[{name:"storeVersion",type:"bytes32",indexed:!0,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"HelloWorld",inputs:[{name:"worldVersion",type:"bytes32",indexed:!0,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"Store_DeleteRecord",inputs:[{name:"tableId",type:"bytes32",indexed:!0,internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",indexed:!1,internalType:"bytes32[]"}],anonymous:!1},{type:"event",name:"Store_SetRecord",inputs:[{name:"tableId",type:"bytes32",indexed:!0,internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",indexed:!1,internalType:"bytes32[]"},{name:"staticData",type:"bytes",indexed:!1,internalType:"bytes"},{name:"encodedLengths",type:"bytes32",indexed:!1,internalType:"EncodedLengths"},{name:"dynamicData",type:"bytes",indexed:!1,internalType:"bytes"}],anonymous:!1},{type:"event",name:"Store_SpliceDynamicData",inputs:[{name:"tableId",type:"bytes32",indexed:!0,internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",indexed:!1,internalType:"bytes32[]"},{name:"dynamicFieldIndex",type:"uint8",indexed:!1,internalType:"uint8"},{name:"start",type:"uint48",indexed:!1,internalType:"uint48"},{name:"deleteCount",type:"uint40",indexed:!1,internalType:"uint40"},{name:"encodedLengths",type:"bytes32",indexed:!1,internalType:"EncodedLengths"},{name:"data",type:"bytes",indexed:!1,internalType:"bytes"}],anonymous:!1},{type:"event",name:"Store_SpliceStaticData",inputs:[{name:"tableId",type:"bytes32",indexed:!0,internalType:"ResourceId"},{name:"keyTuple",type:"bytes32[]",indexed:!1,internalType:"bytes32[]"},{name:"start",type:"uint48",indexed:!1,internalType:"uint48"},{name:"data",type:"bytes",indexed:!1,internalType:"bytes"}],anonymous:!1},{type:"error",name:"EncodedLengths_InvalidLength",inputs:[{name:"length",type:"uint256",internalType:"uint256"}]},{type:"error",name:"FieldLayout_Empty",inputs:[]},{type:"error",name:"FieldLayout_InvalidStaticDataLength",inputs:[{name:"staticDataLength",type:"uint256",internalType:"uint256"},{name:"computedStaticDataLength",type:"uint256",internalType:"uint256"}]},{type:"error",name:"FieldLayout_StaticLengthDoesNotFitInAWord",inputs:[{name:"index",type:"uint256",internalType:"uint256"}]},{type:"error",name:"FieldLayout_StaticLengthIsNotZero",inputs:[{name:"index",type:"uint256",internalType:"uint256"}]},{type:"error",name:"FieldLayout_StaticLengthIsZero",inputs:[{name:"index",type:"uint256",internalType:"uint256"}]},{type:"error",name:"FieldLayout_TooManyDynamicFields",inputs:[{name:"numFields",type:"uint256",internalType:"uint256"},{name:"maxFields",type:"uint256",internalType:"uint256"}]},{type:"error",name:"FieldLayout_TooManyFields",inputs:[{name:"numFields",type:"uint256",internalType:"uint256"},{name:"maxFields",type:"uint256",internalType:"uint256"}]},{type:"error",name:"Module_AlreadyInstalled",inputs:[]},{type:"error",name:"Module_MissingDependency",inputs:[{name:"dependency",type:"address",internalType:"address"}]},{type:"error",name:"Module_NonRootInstallNotSupported",inputs:[]},{type:"error",name:"Module_RootInstallNotSupported",inputs:[]},{type:"error",name:"Schema_InvalidLength",inputs:[{name:"length",type:"uint256",internalType:"uint256"}]},{type:"error",name:"Schema_StaticTypeAfterDynamicType",inputs:[]},{type:"error",name:"Slice_OutOfBounds",inputs:[{name:"data",type:"bytes",internalType:"bytes"},{name:"start",type:"uint256",internalType:"uint256"},{name:"end",type:"uint256",internalType:"uint256"}]},{type:"error",name:"Store_IndexOutOfBounds",inputs:[{name:"length",type:"uint256",internalType:"uint256"},{name:"accessedIndex",type:"uint256",internalType:"uint256"}]},{type:"error",name:"Store_InvalidBounds",inputs:[{name:"start",type:"uint256",internalType:"uint256"},{name:"end",type:"uint256",internalType:"uint256"}]},{type:"error",name:"Store_InvalidFieldNamesLength",inputs:[{name:"expected",type:"uint256",internalType:"uint256"},{name:"received",type:"uint256",internalType:"uint256"}]},{type:"error",name:"Store_InvalidKeyNamesLength",inputs:[{name:"expected",type:"uint256",internalType:"uint256"},{name:"received",type:"uint256",internalType:"uint256"}]},{type:"error",name:"Store_InvalidResourceType",inputs:[{name:"expected",type:"bytes2",internalType:"bytes2"},{name:"resourceId",type:"bytes32",internalType:"ResourceId"},{name:"resourceIdString",type:"string",internalType:"string"}]},{type:"error",name:"Store_InvalidSplice",inputs:[{name:"startWithinField",type:"uint40",internalType:"uint40"},{name:"deleteCount",type:"uint40",internalType:"uint40"},{name:"fieldLength",type:"uint40",internalType:"uint40"}]},{type:"error",name:"Store_InvalidStaticDataLength",inputs:[{name:"expected",type:"uint256",internalType:"uint256"},{name:"received",type:"uint256",internalType:"uint256"}]},{type:"error",name:"Store_InvalidValueSchemaDynamicLength",inputs:[{name:"expected",type:"uint256",internalType:"uint256"},{name:"received",type:"uint256",internalType:"uint256"}]},{type:"error",name:"Store_InvalidValueSchemaLength",inputs:[{name:"expected",type:"uint256",internalType:"uint256"},{name:"received",type:"uint256",internalType:"uint256"}]},{type:"error",name:"Store_InvalidValueSchemaStaticLength",inputs:[{name:"expected",type:"uint256",internalType:"uint256"},{name:"received",type:"uint256",internalType:"uint256"}]},{type:"error",name:"Store_TableAlreadyExists",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"tableIdString",type:"string",internalType:"string"}]},{type:"error",name:"Store_TableNotFound",inputs:[{name:"tableId",type:"bytes32",internalType:"ResourceId"},{name:"tableIdString",type:"string",internalType:"string"}]},{type:"error",name:"World_AccessDenied",inputs:[{name:"resource",type:"string",internalType:"string"},{name:"caller",type:"address",internalType:"address"}]},{type:"error",name:"World_AlreadyInitialized",inputs:[]},{type:"error",name:"World_CallbackNotAllowed",inputs:[{name:"functionSelector",type:"bytes4",internalType:"bytes4"}]},{type:"error",name:"World_DelegationNotFound",inputs:[{name:"delegator",type:"address",internalType:"address"},{name:"delegatee",type:"address",internalType:"address"}]},{type:"error",name:"World_FunctionSelectorAlreadyExists",inputs:[{name:"functionSelector",type:"bytes4",internalType:"bytes4"}]},{type:"error",name:"World_FunctionSelectorNotFound",inputs:[{name:"functionSelector",type:"bytes4",internalType:"bytes4"}]},{type:"error",name:"World_InsufficientBalance",inputs:[{name:"balance",type:"uint256",internalType:"uint256"},{name:"amount",type:"uint256",internalType:"uint256"}]},{type:"error",name:"World_InterfaceNotSupported",inputs:[{name:"contractAddress",type:"address",internalType:"address"},{name:"interfaceId",type:"bytes4",internalType:"bytes4"}]},{type:"error",name:"World_InvalidNamespace",inputs:[{name:"namespace",type:"bytes14",internalType:"bytes14"}]},{type:"error",name:"World_InvalidResourceId",inputs:[{name:"resourceId",type:"bytes32",internalType:"ResourceId"},{name:"resourceIdString",type:"string",internalType:"string"}]},{type:"error",name:"World_InvalidResourceType",inputs:[{name:"expected",type:"bytes2",internalType:"bytes2"},{name:"resourceId",type:"bytes32",internalType:"ResourceId"},{name:"resourceIdString",type:"string",internalType:"string"}]},{type:"error",name:"World_ResourceAlreadyExists",inputs:[{name:"resourceId",type:"bytes32",internalType:"ResourceId"},{name:"resourceIdString",type:"string",internalType:"string"}]},{type:"error",name:"World_ResourceNotFound",inputs:[{name:"resourceId",type:"bytes32",internalType:"ResourceId"},{name:"resourceIdString",type:"string",internalType:"string"}]},{type:"error",name:"World_SystemAlreadyExists",inputs:[{name:"system",type:"address",internalType:"address"}]},{type:"error",name:"World_UnlimitedDelegationNotAllowed",inputs:[]}];export{n as default};
2
- //# sourceMappingURL=IBaseWorld.abi-SGUPOG6A.js.map
@@ -1,2 +0,0 @@
1
- import"./chunk-FW4363Y4.js";var n=[{type:"function",name:"_msgSender",inputs:[],outputs:[{name:"sender",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"_msgValue",inputs:[],outputs:[{name:"value",type:"uint256",internalType:"uint256"}],stateMutability:"pure"},{type:"function",name:"_world",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"supportsInterface",inputs:[{name:"interfaceId",type:"bytes4",internalType:"bytes4"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"pure"}];export{n as default};
2
- //# sourceMappingURL=System.abi-D2D3OAI5.js.map
@@ -1,2 +0,0 @@
1
- import{h as e}from"./chunk-DIHBEOC2.js";var s={namespace:"world",codegen:{worldImportPath:"./src",worldgenDirectory:"interfaces",worldInterfaceName:"IBaseWorld"},userTypes:{ResourceId:{filePath:"@latticexyz/store/src/ResourceId.sol",type:"bytes32"}},tables:{NamespaceOwner:{schema:{namespaceId:"ResourceId",owner:"address"},key:["namespaceId"]},ResourceAccess:{schema:{resourceId:"ResourceId",caller:"address",access:"bool"},key:["resourceId","caller"]},InstalledModules:{schema:{moduleAddress:"address",argumentsHash:"bytes32",isInstalled:"bool"},key:["moduleAddress","argumentsHash"]},UserDelegationControl:{schema:{delegator:"address",delegatee:"address",delegationControlId:"ResourceId"},key:["delegator","delegatee"]},NamespaceDelegationControl:{schema:{namespaceId:"ResourceId",delegationControlId:"ResourceId"},key:["namespaceId"]},Balances:{schema:{namespaceId:"ResourceId",balance:"uint256"},key:["namespaceId"]},Systems:{schema:{systemId:"ResourceId",system:"address",publicAccess:"bool"},key:["systemId"],codegen:{dataStruct:!1}},SystemRegistry:{schema:{system:"address",systemId:"ResourceId"},key:["system"]},SystemHooks:{schema:{systemId:"ResourceId",value:"bytes21[]"},key:["systemId"]},FunctionSelectors:{schema:{worldFunctionSelector:"bytes4",systemId:"ResourceId",systemFunctionSelector:"bytes4"},key:["worldFunctionSelector"],codegen:{dataStruct:!1}},FunctionSignatures:{type:"offchainTable",schema:{functionSelector:"bytes4",functionSignature:"string"},key:["functionSelector"]},InitModuleAddress:{schema:{value:"address"},key:[]}},excludeSystems:["StoreRegistrationSystem"]},a=e(s);export{s as a,a as b};
2
- //# sourceMappingURL=chunk-AJUHOWGE.js.map
@@ -1,2 +0,0 @@
1
- var i={disabled:!1,registerWorldFunctions:!0},r={namespaceLabel:"",openAccess:!0,accessList:[]},D={root:!1,args:[],artifactPath:void 0},S={worldInterfaceName:"IWorld",worldgenDirectory:"world",systemLibrariesDirectory:"systems",generateSystemLibraries:!1,worldImportPath:"@latticexyz/world/src"},u={postDeployScript:"PostDeploy",deploysDirectory:"./deploys",worldsFile:"./worlds.json",upgradeableWorldImplementation:!1},T={systems:{},tables:{},excludeSystems:[],modules:[],codegen:S,deploy:u};import{hasOwnKey as n,mergeIfUndefined as c}from"@latticexyz/store/internal";import{resourceToHex as f}from"@latticexyz/common";function p(e,s={}){if(typeof e!="object"||e==null)throw new Error(`Expected full system config, got \`${JSON.stringify(e)}\``);if(s.inNamespace&&(n(e,"label")||n(e,"namespaceLabel")||n(e,"namespace")))throw new Error("Overrides of `label`, `namespaceLabel`, and `namespace` are not allowed for systems in this context.");if(n(e,"namespaceLabel")&&typeof e.namespaceLabel=="string"&&(!n(e,"namespace")||typeof e.namespace!="string")&&e.namespaceLabel.length>14)throw new Error(`System \`namespace\` defaults to \`namespaceLabel\`, but must fit into a \`bytes14\` and "${e.namespaceLabel}" is too long. Provide explicit \`namespace\` override.`);if(n(e,"namespace")&&typeof e.namespace=="string"&&e.namespace.length>14)throw new Error(`System \`namespace\` must fit into a \`bytes14\`, but "${e.namespace}" is too long.`);if(n(e,"name")&&typeof e.name=="string"&&e.name.length>16)throw new Error(`System \`name\` must fit into a \`bytes16\`, but "${e.name}" is too long.`)}function m(e){let s=e.namespaceLabel??r.namespaceLabel,t=e.namespace??s,a=e.label,o=e.name??a.slice(0,16),d=f({type:"system",namespace:t,name:o});return c({...e,label:a,namespaceLabel:s,namespace:t,name:o,systemId:d,deploy:c(e.deploy??{},i)},r)}function O(e){return p(e),m(e)}import{isObject as E}from"@latticexyz/store/internal";function l(e){if(E(e)){for(let s of Object.values(e))p(s,{inNamespace:!0});return}throw new Error(`Expected system config, received ${JSON.stringify(e)}`)}function y(e,s,t){return Object.fromEntries(Object.entries(e).map(([a,o])=>[a,m({...o,label:a,namespaceLabel:s,namespace:t})]))}import{hasOwnKey as x,validateNamespace as L,resolveNamespace as b,AbiTypeScope as v}from"@latticexyz/store/internal";function Y(e,s){x(e,"systems")&&l(e.systems),L(e,s)}function P(e,s=v){let t=b(e,s),a=y(e.systems??{},t.label,t.namespace);return{...t,systems:a}}export{i as a,r as b,D as c,S as d,u as e,T as f,p as g,m as h,O as i,l as j,y as k,Y as l,P as m};
2
- //# sourceMappingURL=chunk-CGF3NYHC.js.map
@@ -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":"AAEO,IAAMA,EAAyB,CACpC,SAAU,GACV,uBAAwB,EAC1B,EAIaC,EAAkB,CAC7B,eAAgB,GAChB,WAAY,GACZ,WAAY,CAAC,CACf,EAIaC,EAAkB,CAC7B,KAAM,GACN,KAAM,CAAC,EACP,aAAc,MAChB,EAIaC,EAAmB,CAC9B,mBAAoB,SACpB,kBAAmB,QACnB,yBAA0B,UAC1B,wBAAyB,GACzB,gBAAiB,uBACnB,EAIaC,EAAkB,CAC7B,iBAAkB,aAClB,iBAAkB,YAClB,WAAY,gBACZ,+BAAgC,EAClC,EAIaC,EAAkB,CAC7B,QAAS,CAAC,EACV,OAAQ,CAAC,EACT,eAAgB,CAAC,EACjB,QAAS,CAAC,EACV,QAASF,EACT,OAAQC,CACV,ECjDA,OAAS,aAAAE,EAAW,oBAAAC,MAAwB,6BAG5C,OAAS,iBAAAC,MAAqB,qBAqBvB,SAASC,EACdC,EACAC,EAAiC,CAAC,EACI,CACtC,GAAI,OAAOD,GAAU,UAAYA,GAAS,KACxC,MAAM,IAAI,MAAM,sCAAsC,KAAK,UAAUA,CAAK,CAAC,IAAI,EAGjF,GACEC,EAAQ,cACPL,EAAUI,EAAO,OAAO,GAAKJ,EAAUI,EAAO,gBAAgB,GAAKJ,EAAUI,EAAO,WAAW,GAEhG,MAAM,IAAI,MACR,sGACF,EAGF,GACEJ,EAAUI,EAAO,gBAAgB,GACjC,OAAOA,EAAM,gBAAmB,WAC/B,CAACJ,EAAUI,EAAO,WAAW,GAAK,OAAOA,EAAM,WAAc,WAC9DA,EAAM,eAAe,OAAS,GAE9B,MAAM,IAAI,MACR,6FAA6FA,EAAM,cAAc,yDACnH,EAGF,GAAIJ,EAAUI,EAAO,WAAW,GAAK,OAAOA,EAAM,WAAc,UAAYA,EAAM,UAAU,OAAS,GACnG,MAAM,IAAI,MAAM,0DAA0DA,EAAM,SAAS,gBAAgB,EAE3G,GAAIJ,EAAUI,EAAO,MAAM,GAAK,OAAOA,EAAM,MAAS,UAAYA,EAAM,KAAK,OAAS,GACpF,MAAM,IAAI,MAAM,qDAAqDA,EAAM,IAAI,gBAAgB,CAEnG,CAmBO,SAASE,EAAyCF,EAAoC,CAC3F,IAAMG,EAAiBH,EAAM,gBAAkBI,EAAgB,eAEzDC,EAAYL,EAAM,WAAaG,EAE/BG,EAAQN,EAAM,MACdO,EAAOP,EAAM,MAAQM,EAAM,MAAM,EAAG,EAAE,EACtCE,EAAWV,EAAc,CAAE,KAAM,SAAU,UAAAO,EAAW,KAAAE,CAAK,CAAC,EAElE,OAAOV,EACL,CACE,GAAGG,EACH,MAAAM,EACA,eAAAH,EACA,UAAAE,EACA,KAAAE,EACA,SAAAC,EACA,OAAQX,EAAiBG,EAAM,QAAU,CAAC,EAAGS,CAAsB,CACrE,EACAL,CACF,CACF,CAEO,SAASM,EAAoBV,EAAoD,CACtF,OAAAD,EAAeC,CAAK,EACbE,EAAcF,CAAK,CAC5B,CCxGA,OAAS,YAAAW,MAAgB,6BAYlB,SAASC,EAAgBC,EAA+C,CAC7E,GAAIC,EAASD,CAAK,EAAG,CACnB,QAAWE,KAAU,OAAO,OAAOF,CAAK,EACtCG,EAAeD,EAAQ,CAAE,YAAa,EAAK,CAAC,EAE9C,MACF,CACA,MAAM,IAAI,MAAM,oCAAoC,KAAK,UAAUF,CAAK,CAAC,EAAE,CAC7E,CAQO,SAASI,EACdC,EACAC,EACAC,EACyC,CACzC,OAAO,OAAO,YACZ,OAAO,QAAQF,CAAO,EAAE,IAAI,CAAC,CAACG,EAAON,CAAM,IAClC,CAACM,EAAOC,EAAc,CAAE,GAAGP,EAAQ,MAAAM,EAAO,eAAAF,EAAgB,UAAAC,CAAU,CAAC,CAAC,CAC9E,CACH,CACF,CCtCA,OACE,aAAAG,EACA,qBAAqBC,EACrB,oBAAoBC,EAEpB,gBAAAC,MACK,6BAQA,SAASC,EACdC,EACAC,EACiC,CAC7BC,EAAUF,EAAO,SAAS,GAC5BG,EAAgBH,EAAM,OAAO,EAE/BI,EAAuBJ,EAAOC,CAAK,CACrC,CAYO,SAASI,EACdL,EACAC,EAAeK,EACiB,CAChC,IAAMC,EAAYC,EAAsBR,EAAOC,CAAK,EAC9CQ,EAAUC,EAAeV,EAAM,SAAW,CAAC,EAAGO,EAAU,MAAOA,EAAU,SAAS,EACxF,MAAO,CACL,GAAGA,EACH,QAAAE,CACF,CACF","names":["SYSTEM_DEPLOY_DEFAULTS","SYSTEM_DEFAULTS","MODULE_DEFAULTS","CODEGEN_DEFAULTS","DEPLOY_DEFAULTS","CONFIG_DEFAULTS","hasOwnKey","mergeIfUndefined","resourceToHex","validateSystem","input","options","resolveSystem","namespaceLabel","SYSTEM_DEFAULTS","namespace","label","name","systemId","SYSTEM_DEPLOY_DEFAULTS","defineSystem","isObject","validateSystems","input","isObject","system","validateSystem","resolveSystems","systems","namespaceLabel","namespace","label","resolveSystem","hasOwnKey","validateStoreNamespace","resolveStoreNamespace","AbiTypeScope","validateNamespace","input","scope","hasOwnKey","validateSystems","validateStoreNamespace","resolveNamespace","AbiTypeScope","namespace","resolveStoreNamespace","systems","resolveSystems"]}
@@ -1,2 +0,0 @@
1
- import{c as y,d as c,e as d,f as p,j as u,k as f,l as v,m as S}from"./chunk-CGF3NYHC.js";import{flatMorph as D}from"@ark/util";import{groupBy as I}from"@latticexyz/common/utils";import{AbiTypeScope as O,isObject as x,mergeIfUndefined as b}from"@latticexyz/store/internal";function l(e,s){if(!x(e))throw new Error(`Expected namespaces, received ${JSON.stringify(e)}`);for(let o of Object.values(e))v(o,s)}function r(e,s){if(!x(e))throw new Error(`Expected namespaces config, received ${JSON.stringify(e)}`);let o=D(e,(n,m)=>[n,S(b(m,{label:n}),s)]),t=Array.from(I(Object.values(o),n=>n.namespace).entries()).filter(([,n])=>n.length>1).map(([n])=>n);if(t.length>0)throw new Error(`Found namespaces defined more than once in config: ${t.join(", ")}`);return o}function R(e,s=O){return l(e,s),r(e,s)}import{isObject as w,mergeIfUndefined as T}from"@latticexyz/store/internal";function N(e){return w(e)?T(e,c):c}import{mergeIfUndefined as U,isObject as F}from"@latticexyz/store/internal";function g(e){return F(e)?U(e,d):d}import{extendedScope as E,get as A,mergeIfUndefined as i,resolveStore as h,hasOwnKey as a,validateStore as L,flattenNamespacedTables as _}from"@latticexyz/store/internal";function C(e){let s=E(e);if(a(e,"namespaces")){if(a(e,"namespace")||a(e,"tables")||a(e,"systems"))throw new Error("Cannot use `namespaces` with `namespace`, `tables`, or `systems` keys.");l(e.namespaces,s)}a(e,"systems")&&u(e.systems),L(e)}function W(e){let s=E(e),o=h(e),t=e.namespaces?r(e.namespaces,s):r({[o.namespace]:e},s),n=_({namespaces:t}),m=(e.modules??p.modules).map(k=>i(k,y));return i({...o,namespaces:t,tables:n,systems:!o.multipleNamespaces&&e.systems?f(e.systems,o.namespace,o.namespace):p.systems,excludeSystems:A(e,"excludeSystems"),codegen:i(o.codegen,N(e.codegen)),deploy:g(e.deploy),modules:m},p)}function te(e){return C(e),W(e)}export{l as a,r as b,R as c,N as d,g as e,C as f,W as g,te as h};
2
- //# sourceMappingURL=chunk-DIHBEOC2.js.map
@@ -1,2 +0,0 @@
1
- var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(b,a)=>()=>(a||b((a={exports:{}}).exports,a),a.exports);var l=(b,a,c,e)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of i(a))!k.call(b,d)&&d!==c&&f(b,d,{get:()=>a[d],enumerable:!(e=h(a,d))||e.enumerable});return b};var n=(b,a,c)=>(c=b!=null?g(j(b)):{},l(a||!b||!b.__esModule?f(c,"default",{value:b,enumerable:!0}):c,b));export{m as a,n as b};
2
- //# sourceMappingURL=chunk-FW4363Y4.js.map