@latticexyz/world-modules 2.0.0-main-c714e5d1 → 2.0.0-main-94d7f1ee

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 (115) hide show
  1. package/out/AccessControl.sol/AccessControl.abi.json +1 -0
  2. package/out/AccessControl.sol/AccessControl.json +1651 -0
  3. package/out/ArrayLib.sol/ArrayLib.json +477 -477
  4. package/out/Balances.sol/Balances.abi.json +1 -0
  5. package/out/Balances.sol/Balances.json +13002 -0
  6. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +350 -350
  7. package/out/CallboundDelegations.sol/CallboundDelegations.json +4497 -4497
  8. package/out/DelegationControl.sol/DelegationControl.json +135 -135
  9. package/out/FunctionSelectors.sol/FunctionSelectors.abi.json +1 -0
  10. package/out/FunctionSelectors.sol/FunctionSelectors.json +17874 -0
  11. package/out/Hooks.sol/Hooks.json +45 -45
  12. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +14 -14
  13. package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +15 -15
  14. package/out/IBaseWorld.sol/IBaseWorld.json +81 -81
  15. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +15 -15
  16. package/out/IDelegationControl.sol/IDelegationControl.json +7 -7
  17. package/out/ISystemHook.sol/ISystemHook.json +12 -12
  18. package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +25 -25
  19. package/out/IWorldErrors.sol/IWorldErrors.json +19 -19
  20. package/out/IWorldKernel.sol/IWorldCall.json +10 -10
  21. package/out/IWorldKernel.sol/IWorldKernel.json +10 -10
  22. package/out/IWorldKernel.sol/IWorldModuleInstallation.json +10 -10
  23. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +39 -39
  24. package/out/KeysInTable.sol/KeysInTable.json +18190 -18190
  25. package/out/KeysInTableHook.sol/KeysInTableHook.json +1407 -1407
  26. package/out/KeysInTableModule.sol/KeysInTableModule.json +838 -838
  27. package/out/KeysWithValue.sol/KeysWithValue.json +6631 -6631
  28. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1557 -1557
  29. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +650 -650
  30. package/out/Module.sol/Module.json +119 -119
  31. package/out/NamespaceOwner.sol/NamespaceOwner.abi.json +1 -0
  32. package/out/NamespaceOwner.sol/NamespaceOwner.json +13016 -0
  33. package/out/ResourceAccess.sol/ResourceAccess.abi.json +1 -0
  34. package/out/ResourceAccess.sol/ResourceAccess.json +17296 -0
  35. package/out/ResourceIds.sol/ResourceIds.json +45 -45
  36. package/out/Schema.sol/SchemaInstance.json +30 -30
  37. package/out/Schema.sol/SchemaLib.json +30 -30
  38. package/out/SchemaType.sol/SchemaType.json +729 -729
  39. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +448 -448
  40. package/out/StoreHook.sol/StoreHook.json +639 -639
  41. package/out/StoreHooks.sol/StoreHooks.json +45 -45
  42. package/out/System.sol/System.json +32 -32
  43. package/out/SystemHooks.sol/SystemHooks.abi.json +1 -0
  44. package/out/SystemHooks.sol/SystemHooks.json +32460 -0
  45. package/out/SystemSwitch.sol/SystemSwitch.abi.json +1 -0
  46. package/out/SystemSwitch.sol/SystemSwitch.json +2879 -0
  47. package/out/Systems.sol/Systems.abi.json +1 -0
  48. package/out/Systems.sol/Systems.json +18508 -0
  49. package/out/Tables.sol/Tables.json +73 -73
  50. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +183 -183
  51. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +3474 -3474
  52. package/out/UniqueEntity.sol/UniqueEntity.json +2345 -2345
  53. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +482 -482
  54. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +128 -128
  55. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +4590 -4590
  56. package/out/WorldContext.sol/WorldContextConsumer.json +14 -14
  57. package/out/WorldContext.sol/WorldContextConsumerLib.json +14 -14
  58. package/out/WorldContext.sol/WorldContextProviderLib.json +14 -14
  59. package/out/WorldResourceId.sol/WorldResourceIdInstance.json +103 -103
  60. package/out/WorldResourceId.sol/WorldResourceIdLib.json +103 -103
  61. package/out/constants.sol/constants.json +194 -194
  62. package/out/getKeysInTable.sol/getKeysInTable.json +918 -918
  63. package/out/getKeysWithValue.sol/getKeysWithValue.json +431 -431
  64. package/out/getTargetTableId.sol/getTargetTableId.json +272 -272
  65. package/out/getUniqueEntity.sol/getUniqueEntity.json +389 -240
  66. package/out/hasKey.sol/hasKey.json +215 -215
  67. package/out/index.sol/index.json +73 -73
  68. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +171 -171
  69. package/out/query.sol/query.json +1892 -1892
  70. package/out/revertWithBytes.sol/revertWithBytes.json +52 -52
  71. package/out/src/Bytes.sol/Bytes.json +3766 -3766
  72. package/out/src/FieldLayout.sol/FieldLayoutInstance.json +1204 -1204
  73. package/out/src/FieldLayout.sol/FieldLayoutLib.json +1204 -1204
  74. package/out/src/Hook.sol/HookInstance.abi.json +1 -0
  75. package/out/src/Hook.sol/HookInstance.json +2823 -0
  76. package/out/src/Hook.sol/HookLib.abi.json +1 -0
  77. package/out/src/Hook.sol/HookLib.json +2823 -0
  78. package/out/src/IStore.sol/IStore.json +73 -73
  79. package/out/src/ISystemHook.sol/ISystemHook.abi.json +67 -0
  80. package/out/src/ISystemHook.sol/ISystemHook.abi.json.d.ts +68 -0
  81. package/out/src/ISystemHook.sol/ISystemHook.json +852 -0
  82. package/out/src/IWorldErrors.sol/IWorldErrors.abi.json +189 -0
  83. package/out/src/IWorldErrors.sol/IWorldErrors.abi.json.d.ts +190 -0
  84. package/out/src/IWorldErrors.sol/IWorldErrors.json +1463 -0
  85. package/out/src/IWorldKernel.sol/IWorldCall.json +258 -258
  86. package/out/src/IWorldKernel.sol/IWorldKernel.json +258 -258
  87. package/out/src/IWorldKernel.sol/IWorldModuleInstallation.json +258 -258
  88. package/out/src/Memory.sol/Memory.json +242 -242
  89. package/out/src/PackedCounter.sol/PackedCounterInstance.json +1633 -1633
  90. package/out/src/PackedCounter.sol/PackedCounterLib.json +1633 -1633
  91. package/out/src/ResourceId.sol/ResourceIdInstance.json +206 -206
  92. package/out/src/ResourceId.sol/ResourceIdLib.json +206 -206
  93. package/out/src/Schema.sol/SchemaInstance.json +1351 -1351
  94. package/out/src/Schema.sol/SchemaLib.json +1351 -1351
  95. package/out/src/Slice.sol/SliceInstance.json +802 -802
  96. package/out/src/Slice.sol/SliceLib.json +802 -802
  97. package/out/src/StoreCore.sol/StoreCore.json +7412 -7412
  98. package/out/src/StoreCore.sol/StoreCoreInternal.json +7412 -7412
  99. package/out/src/StoreSwitch.sol/StoreSwitch.json +4064 -4064
  100. package/out/src/WorldContext.sol/WorldContextConsumer.json +805 -805
  101. package/out/src/WorldContext.sol/WorldContextConsumerLib.json +807 -807
  102. package/out/src/WorldContext.sol/WorldContextProviderLib.json +807 -807
  103. package/out/src/WorldResourceId.sol/WorldResourceIdInstance.json +809 -809
  104. package/out/src/WorldResourceId.sol/WorldResourceIdLib.json +809 -809
  105. package/out/storeHookTypes.sol/storeHookTypes.json +204 -204
  106. package/out/storeResourceTypes.sol/storeResourceTypes.json +23 -23
  107. package/out/systemHookTypes.sol/systemHookTypes.json +270 -0
  108. package/out/tables/ResourceIds.sol/ResourceIds.json +2922 -2922
  109. package/out/tables/Tables.sol/Tables.json +12189 -12189
  110. package/out/tightcoder/EncodeArray.sol/EncodeArray.json +6883 -6883
  111. package/out/types.sol/types.json +71 -71
  112. package/out/worldResourceTypes.sol/worldResourceTypes.json +92 -92
  113. package/package.json +8 -8
  114. package/src/modules/uniqueentity/getUniqueEntity.sol +5 -3
  115. package/src/utils/SystemSwitch.sol +82 -0
@@ -10,29 +10,35 @@
10
10
  },
11
11
  "ast": {
12
12
  "absolutePath": "src/modules/uniqueentity/getUniqueEntity.sol",
13
- "id": 57004,
13
+ "id": 66155,
14
14
  "exportedSymbols": {
15
15
  "IBaseWorld": [
16
- 39775
16
+ 42528
17
17
  ],
18
18
  "IUniqueEntitySystem": [
19
- 39921
19
+ 49063
20
20
  ],
21
- "StoreSwitch": [
22
- 31292
21
+ "SYSTEM_ID": [
22
+ 66099
23
+ ],
24
+ "SystemSwitch": [
25
+ 67337
26
+ ],
27
+ "UniqueEntitySystem": [
28
+ 66037
23
29
  ],
24
30
  "getUniqueEntity": [
25
- 56984,
26
- 57003
31
+ 66135,
32
+ 66154
27
33
  ]
28
34
  },
29
35
  "nodeType": "SourceUnit",
30
- "src": "32:897:136",
36
+ "src": "32:992:146",
31
37
  "nodes": [
32
38
  {
33
- "id": 56959,
39
+ "id": 66101,
34
40
  "nodeType": "PragmaDirective",
35
- "src": "32:25:136",
41
+ "src": "32:25:146",
36
42
  "nodes": [],
37
43
  "literals": [
38
44
  "solidity",
@@ -42,24 +48,24 @@
42
48
  ]
43
49
  },
44
50
  {
45
- "id": 56961,
51
+ "id": 66103,
46
52
  "nodeType": "ImportDirective",
47
- "src": "59:68:136",
53
+ "src": "59:85:146",
48
54
  "nodes": [],
49
- "absolutePath": "node_modules/@latticexyz/store/src/StoreSwitch.sol",
50
- "file": "@latticexyz/store/src/StoreSwitch.sol",
55
+ "absolutePath": "node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol",
56
+ "file": "@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol",
51
57
  "nameLocation": "-1:-1:-1",
52
- "scope": 57004,
53
- "sourceUnit": 31293,
58
+ "scope": 66155,
59
+ "sourceUnit": 42529,
54
60
  "symbolAliases": [
55
61
  {
56
62
  "foreign": {
57
- "id": 56960,
58
- "name": "StoreSwitch",
63
+ "id": 66102,
64
+ "name": "IBaseWorld",
59
65
  "nodeType": "Identifier",
60
66
  "overloadedDeclarations": [],
61
- "referencedDeclaration": 31292,
62
- "src": "68:11:136",
67
+ "referencedDeclaration": 42528,
68
+ "src": "68:10:146",
63
69
  "typeDescriptions": {}
64
70
  },
65
71
  "nameLocation": "-1:-1:-1"
@@ -68,24 +74,24 @@
68
74
  "unitAlias": ""
69
75
  },
70
76
  {
71
- "id": 56963,
77
+ "id": 66105,
72
78
  "nodeType": "ImportDirective",
73
- "src": "128:85:136",
79
+ "src": "146:79:146",
74
80
  "nodes": [],
75
- "absolutePath": "node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol",
76
- "file": "@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol",
81
+ "absolutePath": "src/interfaces/IUniqueEntitySystem.sol",
82
+ "file": "../../interfaces/IUniqueEntitySystem.sol",
77
83
  "nameLocation": "-1:-1:-1",
78
- "scope": 57004,
79
- "sourceUnit": 39776,
84
+ "scope": 66155,
85
+ "sourceUnit": 49064,
80
86
  "symbolAliases": [
81
87
  {
82
88
  "foreign": {
83
- "id": 56962,
84
- "name": "IBaseWorld",
89
+ "id": 66104,
90
+ "name": "IUniqueEntitySystem",
85
91
  "nodeType": "Identifier",
86
92
  "overloadedDeclarations": [],
87
- "referencedDeclaration": 39775,
88
- "src": "137:10:136",
93
+ "referencedDeclaration": 49063,
94
+ "src": "155:19:146",
89
95
  "typeDescriptions": {}
90
96
  },
91
97
  "nameLocation": "-1:-1:-1"
@@ -94,24 +100,24 @@
94
100
  "unitAlias": ""
95
101
  },
96
102
  {
97
- "id": 56965,
103
+ "id": 66107,
98
104
  "nodeType": "ImportDirective",
99
- "src": "215:79:136",
105
+ "src": "226:62:146",
100
106
  "nodes": [],
101
- "absolutePath": "src/interfaces/IUniqueEntitySystem.sol",
102
- "file": "../../interfaces/IUniqueEntitySystem.sol",
107
+ "absolutePath": "src/modules/uniqueentity/UniqueEntitySystem.sol",
108
+ "file": "./UniqueEntitySystem.sol",
103
109
  "nameLocation": "-1:-1:-1",
104
- "scope": 57004,
105
- "sourceUnit": 39922,
110
+ "scope": 66155,
111
+ "sourceUnit": 66038,
106
112
  "symbolAliases": [
107
113
  {
108
114
  "foreign": {
109
- "id": 56964,
110
- "name": "IUniqueEntitySystem",
115
+ "id": 66106,
116
+ "name": "UniqueEntitySystem",
111
117
  "nodeType": "Identifier",
112
118
  "overloadedDeclarations": [],
113
- "referencedDeclaration": 39921,
114
- "src": "224:19:136",
119
+ "referencedDeclaration": 66037,
120
+ "src": "235:18:146",
115
121
  "typeDescriptions": {}
116
122
  },
117
123
  "nameLocation": "-1:-1:-1"
@@ -120,171 +126,314 @@
120
126
  "unitAlias": ""
121
127
  },
122
128
  {
123
- "id": 56984,
129
+ "id": 66109,
130
+ "nodeType": "ImportDirective",
131
+ "src": "290:60:146",
132
+ "nodes": [],
133
+ "absolutePath": "src/utils/SystemSwitch.sol",
134
+ "file": "../../utils/SystemSwitch.sol",
135
+ "nameLocation": "-1:-1:-1",
136
+ "scope": 66155,
137
+ "sourceUnit": 67338,
138
+ "symbolAliases": [
139
+ {
140
+ "foreign": {
141
+ "id": 66108,
142
+ "name": "SystemSwitch",
143
+ "nodeType": "Identifier",
144
+ "overloadedDeclarations": [],
145
+ "referencedDeclaration": 67337,
146
+ "src": "299:12:146",
147
+ "typeDescriptions": {}
148
+ },
149
+ "nameLocation": "-1:-1:-1"
150
+ }
151
+ ],
152
+ "unitAlias": ""
153
+ },
154
+ {
155
+ "id": 66111,
156
+ "nodeType": "ImportDirective",
157
+ "src": "351:44:146",
158
+ "nodes": [],
159
+ "absolutePath": "src/modules/uniqueentity/constants.sol",
160
+ "file": "./constants.sol",
161
+ "nameLocation": "-1:-1:-1",
162
+ "scope": 66155,
163
+ "sourceUnit": 66100,
164
+ "symbolAliases": [
165
+ {
166
+ "foreign": {
167
+ "id": 66110,
168
+ "name": "SYSTEM_ID",
169
+ "nodeType": "Identifier",
170
+ "overloadedDeclarations": [],
171
+ "referencedDeclaration": 66099,
172
+ "src": "360:9:146",
173
+ "typeDescriptions": {}
174
+ },
175
+ "nameLocation": "-1:-1:-1"
176
+ }
177
+ ],
178
+ "unitAlias": ""
179
+ },
180
+ {
181
+ "id": 66135,
124
182
  "nodeType": "FunctionDefinition",
125
- "src": "534:185:136",
183
+ "src": "635:179:146",
126
184
  "nodes": [],
127
185
  "body": {
128
- "id": 56983,
186
+ "id": 66134,
129
187
  "nodeType": "Block",
130
- "src": "592:127:136",
188
+ "src": "693:121:146",
131
189
  "nodes": [],
132
190
  "statements": [
133
- {
134
- "assignments": [
135
- 56972
136
- ],
137
- "declarations": [
138
- {
139
- "constant": false,
140
- "id": 56972,
141
- "mutability": "mutable",
142
- "name": "world",
143
- "nameLocation": "604:5:136",
144
- "nodeType": "VariableDeclaration",
145
- "scope": 56983,
146
- "src": "596:13:136",
147
- "stateVariable": false,
148
- "storageLocation": "default",
149
- "typeDescriptions": {
150
- "typeIdentifier": "t_address",
151
- "typeString": "address"
152
- },
153
- "typeName": {
154
- "id": 56971,
155
- "name": "address",
156
- "nodeType": "ElementaryTypeName",
157
- "src": "596:7:136",
158
- "stateMutability": "nonpayable",
159
- "typeDescriptions": {
160
- "typeIdentifier": "t_address",
161
- "typeString": "address"
162
- }
163
- },
164
- "visibility": "internal"
165
- }
166
- ],
167
- "id": 56976,
168
- "initialValue": {
169
- "arguments": [],
170
- "expression": {
171
- "argumentTypes": [],
172
- "expression": {
173
- "id": 56973,
174
- "name": "StoreSwitch",
175
- "nodeType": "Identifier",
176
- "overloadedDeclarations": [],
177
- "referencedDeclaration": 31292,
178
- "src": "612:11:136",
179
- "typeDescriptions": {
180
- "typeIdentifier": "t_type$_t_contract$_StoreSwitch_$31292_$",
181
- "typeString": "type(library StoreSwitch)"
182
- }
183
- },
184
- "id": 56974,
185
- "isConstant": false,
186
- "isLValue": false,
187
- "isPure": false,
188
- "lValueRequested": false,
189
- "memberLocation": "624:15:136",
190
- "memberName": "getStoreAddress",
191
- "nodeType": "MemberAccess",
192
- "referencedDeclaration": 30036,
193
- "src": "612:27:136",
194
- "typeDescriptions": {
195
- "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
196
- "typeString": "function () view returns (address)"
197
- }
198
- },
199
- "id": 56975,
200
- "isConstant": false,
201
- "isLValue": false,
202
- "isPure": false,
203
- "kind": "functionCall",
204
- "lValueRequested": false,
205
- "nameLocations": [],
206
- "names": [],
207
- "nodeType": "FunctionCall",
208
- "src": "612:29:136",
209
- "tryCall": false,
210
- "typeDescriptions": {
211
- "typeIdentifier": "t_address",
212
- "typeString": "address"
213
- }
214
- },
215
- "nodeType": "VariableDeclarationStatement",
216
- "src": "596:45:136"
217
- },
218
191
  {
219
192
  "expression": {
220
- "arguments": [],
221
- "expression": {
222
- "argumentTypes": [],
223
- "expression": {
193
+ "arguments": [
194
+ {
224
195
  "arguments": [
225
196
  {
226
- "id": 56978,
227
- "name": "world",
197
+ "id": 66121,
198
+ "name": "SYSTEM_ID",
228
199
  "nodeType": "Identifier",
229
200
  "overloadedDeclarations": [],
230
- "referencedDeclaration": 56972,
231
- "src": "672:5:136",
201
+ "referencedDeclaration": 66099,
202
+ "src": "733:9:146",
232
203
  "typeDescriptions": {
233
- "typeIdentifier": "t_address",
234
- "typeString": "address"
204
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
205
+ "typeString": "ResourceId"
206
+ }
207
+ },
208
+ {
209
+ "arguments": [
210
+ {
211
+ "expression": {
212
+ "id": 66124,
213
+ "name": "UniqueEntitySystem",
214
+ "nodeType": "Identifier",
215
+ "overloadedDeclarations": [],
216
+ "referencedDeclaration": 66037,
217
+ "src": "759:18:146",
218
+ "typeDescriptions": {
219
+ "typeIdentifier": "t_type$_t_contract$_UniqueEntitySystem_$66037_$",
220
+ "typeString": "type(contract UniqueEntitySystem)"
221
+ }
222
+ },
223
+ "id": 66125,
224
+ "isConstant": false,
225
+ "isLValue": false,
226
+ "isPure": true,
227
+ "lValueRequested": false,
228
+ "memberLocation": "778:15:146",
229
+ "memberName": "getUniqueEntity",
230
+ "nodeType": "MemberAccess",
231
+ "referencedDeclaration": 66036,
232
+ "src": "759:34:146",
233
+ "typeDescriptions": {
234
+ "typeIdentifier": "t_function_declaration_nonpayable$__$returns$_t_bytes32_$",
235
+ "typeString": "function UniqueEntitySystem.getUniqueEntity() returns (bytes32)"
236
+ }
237
+ },
238
+ {
239
+ "components": [],
240
+ "id": 66126,
241
+ "isConstant": false,
242
+ "isInlineArray": false,
243
+ "isLValue": false,
244
+ "isPure": true,
245
+ "lValueRequested": false,
246
+ "nodeType": "TupleExpression",
247
+ "src": "795:2:146",
248
+ "typeDescriptions": {
249
+ "typeIdentifier": "t_tuple$__$",
250
+ "typeString": "tuple()"
251
+ }
252
+ }
253
+ ],
254
+ "expression": {
255
+ "argumentTypes": [
256
+ {
257
+ "typeIdentifier": "t_function_declaration_nonpayable$__$returns$_t_bytes32_$",
258
+ "typeString": "function UniqueEntitySystem.getUniqueEntity() returns (bytes32)"
259
+ },
260
+ {
261
+ "typeIdentifier": "t_tuple$__$",
262
+ "typeString": "tuple()"
263
+ }
264
+ ],
265
+ "expression": {
266
+ "id": 66122,
267
+ "name": "abi",
268
+ "nodeType": "Identifier",
269
+ "overloadedDeclarations": [],
270
+ "referencedDeclaration": -1,
271
+ "src": "744:3:146",
272
+ "typeDescriptions": {
273
+ "typeIdentifier": "t_magic_abi",
274
+ "typeString": "abi"
275
+ }
276
+ },
277
+ "id": 66123,
278
+ "isConstant": false,
279
+ "isLValue": false,
280
+ "isPure": true,
281
+ "lValueRequested": false,
282
+ "memberLocation": "748:10:146",
283
+ "memberName": "encodeCall",
284
+ "nodeType": "MemberAccess",
285
+ "src": "744:14:146",
286
+ "typeDescriptions": {
287
+ "typeIdentifier": "t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$",
288
+ "typeString": "function () pure returns (bytes memory)"
289
+ }
290
+ },
291
+ "id": 66127,
292
+ "isConstant": false,
293
+ "isLValue": false,
294
+ "isPure": true,
295
+ "kind": "functionCall",
296
+ "lValueRequested": false,
297
+ "nameLocations": [],
298
+ "names": [],
299
+ "nodeType": "FunctionCall",
300
+ "src": "744:54:146",
301
+ "tryCall": false,
302
+ "typeDescriptions": {
303
+ "typeIdentifier": "t_bytes_memory_ptr",
304
+ "typeString": "bytes memory"
235
305
  }
236
306
  }
237
307
  ],
238
308
  "expression": {
239
309
  "argumentTypes": [
240
310
  {
241
- "typeIdentifier": "t_address",
242
- "typeString": "address"
311
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
312
+ "typeString": "ResourceId"
313
+ },
314
+ {
315
+ "typeIdentifier": "t_bytes_memory_ptr",
316
+ "typeString": "bytes memory"
243
317
  }
244
318
  ],
245
- "id": 56977,
246
- "name": "IUniqueEntitySystem",
247
- "nodeType": "Identifier",
248
- "overloadedDeclarations": [],
249
- "referencedDeclaration": 39921,
250
- "src": "652:19:136",
319
+ "expression": {
320
+ "id": 66119,
321
+ "name": "SystemSwitch",
322
+ "nodeType": "Identifier",
323
+ "overloadedDeclarations": [],
324
+ "referencedDeclaration": 67337,
325
+ "src": "715:12:146",
326
+ "typeDescriptions": {
327
+ "typeIdentifier": "t_type$_t_contract$_SystemSwitch_$67337_$",
328
+ "typeString": "type(library SystemSwitch)"
329
+ }
330
+ },
331
+ "id": 66120,
332
+ "isConstant": false,
333
+ "isLValue": false,
334
+ "isPure": false,
335
+ "lValueRequested": false,
336
+ "memberLocation": "728:4:146",
337
+ "memberName": "call",
338
+ "nodeType": "MemberAccess",
339
+ "referencedDeclaration": 67290,
340
+ "src": "715:17:146",
251
341
  "typeDescriptions": {
252
- "typeIdentifier": "t_type$_t_contract$_IUniqueEntitySystem_$39921_$",
253
- "typeString": "type(contract IUniqueEntitySystem)"
342
+ "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$29121_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$",
343
+ "typeString": "function (ResourceId,bytes memory) returns (bytes memory)"
254
344
  }
255
345
  },
256
- "id": 56979,
346
+ "id": 66128,
257
347
  "isConstant": false,
258
348
  "isLValue": false,
259
349
  "isPure": false,
260
- "kind": "typeConversion",
350
+ "kind": "functionCall",
261
351
  "lValueRequested": false,
262
352
  "nameLocations": [],
263
353
  "names": [],
264
354
  "nodeType": "FunctionCall",
265
- "src": "652:26:136",
355
+ "src": "715:84:146",
266
356
  "tryCall": false,
267
357
  "typeDescriptions": {
268
- "typeIdentifier": "t_contract$_IUniqueEntitySystem_$39921",
269
- "typeString": "contract IUniqueEntitySystem"
358
+ "typeIdentifier": "t_bytes_memory_ptr",
359
+ "typeString": "bytes memory"
360
+ }
361
+ },
362
+ {
363
+ "components": [
364
+ {
365
+ "id": 66130,
366
+ "isConstant": false,
367
+ "isLValue": false,
368
+ "isPure": true,
369
+ "lValueRequested": false,
370
+ "nodeType": "ElementaryTypeNameExpression",
371
+ "src": "802:7:146",
372
+ "typeDescriptions": {
373
+ "typeIdentifier": "t_type$_t_bytes32_$",
374
+ "typeString": "type(bytes32)"
375
+ },
376
+ "typeName": {
377
+ "id": 66129,
378
+ "name": "bytes32",
379
+ "nodeType": "ElementaryTypeName",
380
+ "src": "802:7:146",
381
+ "typeDescriptions": {}
382
+ }
383
+ }
384
+ ],
385
+ "id": 66131,
386
+ "isConstant": false,
387
+ "isInlineArray": false,
388
+ "isLValue": false,
389
+ "isPure": true,
390
+ "lValueRequested": false,
391
+ "nodeType": "TupleExpression",
392
+ "src": "801:9:146",
393
+ "typeDescriptions": {
394
+ "typeIdentifier": "t_type$_t_bytes32_$",
395
+ "typeString": "type(bytes32)"
396
+ }
397
+ }
398
+ ],
399
+ "expression": {
400
+ "argumentTypes": [
401
+ {
402
+ "typeIdentifier": "t_bytes_memory_ptr",
403
+ "typeString": "bytes memory"
404
+ },
405
+ {
406
+ "typeIdentifier": "t_type$_t_bytes32_$",
407
+ "typeString": "type(bytes32)"
408
+ }
409
+ ],
410
+ "expression": {
411
+ "id": 66117,
412
+ "name": "abi",
413
+ "nodeType": "Identifier",
414
+ "overloadedDeclarations": [],
415
+ "referencedDeclaration": -1,
416
+ "src": "704:3:146",
417
+ "typeDescriptions": {
418
+ "typeIdentifier": "t_magic_abi",
419
+ "typeString": "abi"
270
420
  }
271
421
  },
272
- "id": 56980,
422
+ "id": 66118,
273
423
  "isConstant": false,
274
424
  "isLValue": false,
275
- "isPure": false,
425
+ "isPure": true,
276
426
  "lValueRequested": false,
277
- "memberLocation": "679:35:136",
278
- "memberName": "uniqueEntity_system_getUniqueEntity",
427
+ "memberLocation": "708:6:146",
428
+ "memberName": "decode",
279
429
  "nodeType": "MemberAccess",
280
- "referencedDeclaration": 39920,
281
- "src": "652:62:136",
430
+ "src": "704:10:146",
282
431
  "typeDescriptions": {
283
- "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bytes32_$",
284
- "typeString": "function () external returns (bytes32)"
432
+ "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
433
+ "typeString": "function () pure"
285
434
  }
286
435
  },
287
- "id": 56981,
436
+ "id": 66132,
288
437
  "isConstant": false,
289
438
  "isLValue": false,
290
439
  "isPure": false,
@@ -293,50 +442,50 @@
293
442
  "nameLocations": [],
294
443
  "names": [],
295
444
  "nodeType": "FunctionCall",
296
- "src": "652:64:136",
445
+ "src": "704:107:146",
297
446
  "tryCall": false,
298
447
  "typeDescriptions": {
299
448
  "typeIdentifier": "t_bytes32",
300
449
  "typeString": "bytes32"
301
450
  }
302
451
  },
303
- "functionReturnParameters": 56970,
304
- "id": 56982,
452
+ "functionReturnParameters": 66116,
453
+ "id": 66133,
305
454
  "nodeType": "Return",
306
- "src": "645:71:136"
455
+ "src": "697:114:146"
307
456
  }
308
457
  ]
309
458
  },
310
459
  "documentation": {
311
- "id": 56966,
460
+ "id": 66112,
312
461
  "nodeType": "StructuredDocumentation",
313
- "src": "296:237:136",
462
+ "src": "397:237:146",
314
463
  "text": " Increment and get an entity nonce.\n Note: this util can only be called within the context of a World (e.g. from a System or Module).\n For usage outside of a World, use the overload that takes an explicit store argument."
315
464
  },
316
465
  "implemented": true,
317
466
  "kind": "freeFunction",
318
467
  "modifiers": [],
319
468
  "name": "getUniqueEntity",
320
- "nameLocation": "543:15:136",
469
+ "nameLocation": "644:15:146",
321
470
  "parameters": {
322
- "id": 56967,
471
+ "id": 66113,
323
472
  "nodeType": "ParameterList",
324
473
  "parameters": [],
325
- "src": "558:2:136"
474
+ "src": "659:2:146"
326
475
  },
327
476
  "returnParameters": {
328
- "id": 56970,
477
+ "id": 66116,
329
478
  "nodeType": "ParameterList",
330
479
  "parameters": [
331
480
  {
332
481
  "constant": false,
333
- "id": 56969,
482
+ "id": 66115,
334
483
  "mutability": "mutable",
335
484
  "name": "uniqueEntity",
336
- "nameLocation": "578:12:136",
485
+ "nameLocation": "679:12:146",
337
486
  "nodeType": "VariableDeclaration",
338
- "scope": 56984,
339
- "src": "570:20:136",
487
+ "scope": 66135,
488
+ "src": "671:20:146",
340
489
  "stateVariable": false,
341
490
  "storageLocation": "default",
342
491
  "typeDescriptions": {
@@ -344,10 +493,10 @@
344
493
  "typeString": "bytes32"
345
494
  },
346
495
  "typeName": {
347
- "id": 56968,
496
+ "id": 66114,
348
497
  "name": "bytes32",
349
498
  "nodeType": "ElementaryTypeName",
350
- "src": "570:7:136",
499
+ "src": "671:7:146",
351
500
  "typeDescriptions": {
352
501
  "typeIdentifier": "t_bytes32",
353
502
  "typeString": "bytes32"
@@ -356,22 +505,22 @@
356
505
  "visibility": "internal"
357
506
  }
358
507
  ],
359
- "src": "569:22:136"
508
+ "src": "670:22:146"
360
509
  },
361
- "scope": 57004,
510
+ "scope": 66155,
362
511
  "stateMutability": "nonpayable",
363
512
  "virtual": false,
364
513
  "visibility": "internal"
365
514
  },
366
515
  {
367
- "id": 57003,
516
+ "id": 66154,
368
517
  "nodeType": "FunctionDefinition",
369
- "src": "767:161:136",
518
+ "src": "862:161:146",
370
519
  "nodes": [],
371
520
  "body": {
372
- "id": 57002,
521
+ "id": 66153,
373
522
  "nodeType": "Block",
374
- "src": "841:87:136",
523
+ "src": "936:87:146",
375
524
  "nodes": [],
376
525
  "statements": [
377
526
  {
@@ -384,14 +533,14 @@
384
533
  {
385
534
  "arguments": [
386
535
  {
387
- "id": 56996,
536
+ "id": 66147,
388
537
  "name": "world",
389
538
  "nodeType": "Identifier",
390
539
  "overloadedDeclarations": [],
391
- "referencedDeclaration": 56988,
392
- "src": "880:5:136",
540
+ "referencedDeclaration": 66139,
541
+ "src": "975:5:146",
393
542
  "typeDescriptions": {
394
- "typeIdentifier": "t_contract$_IBaseWorld_$39775",
543
+ "typeIdentifier": "t_contract$_IBaseWorld_$42528",
395
544
  "typeString": "contract IBaseWorld"
396
545
  }
397
546
  }
@@ -399,30 +548,30 @@
399
548
  "expression": {
400
549
  "argumentTypes": [
401
550
  {
402
- "typeIdentifier": "t_contract$_IBaseWorld_$39775",
551
+ "typeIdentifier": "t_contract$_IBaseWorld_$42528",
403
552
  "typeString": "contract IBaseWorld"
404
553
  }
405
554
  ],
406
- "id": 56995,
555
+ "id": 66146,
407
556
  "isConstant": false,
408
557
  "isLValue": false,
409
558
  "isPure": true,
410
559
  "lValueRequested": false,
411
560
  "nodeType": "ElementaryTypeNameExpression",
412
- "src": "872:7:136",
561
+ "src": "967:7:146",
413
562
  "typeDescriptions": {
414
563
  "typeIdentifier": "t_type$_t_address_$",
415
564
  "typeString": "type(address)"
416
565
  },
417
566
  "typeName": {
418
- "id": 56994,
567
+ "id": 66145,
419
568
  "name": "address",
420
569
  "nodeType": "ElementaryTypeName",
421
- "src": "872:7:136",
570
+ "src": "967:7:146",
422
571
  "typeDescriptions": {}
423
572
  }
424
573
  },
425
- "id": 56997,
574
+ "id": 66148,
426
575
  "isConstant": false,
427
576
  "isLValue": false,
428
577
  "isPure": false,
@@ -431,7 +580,7 @@
431
580
  "nameLocations": [],
432
581
  "names": [],
433
582
  "nodeType": "FunctionCall",
434
- "src": "872:14:136",
583
+ "src": "967:14:146",
435
584
  "tryCall": false,
436
585
  "typeDescriptions": {
437
586
  "typeIdentifier": "t_address",
@@ -446,18 +595,18 @@
446
595
  "typeString": "address"
447
596
  }
448
597
  ],
449
- "id": 56993,
598
+ "id": 66144,
450
599
  "name": "IUniqueEntitySystem",
451
600
  "nodeType": "Identifier",
452
601
  "overloadedDeclarations": [],
453
- "referencedDeclaration": 39921,
454
- "src": "852:19:136",
602
+ "referencedDeclaration": 49063,
603
+ "src": "947:19:146",
455
604
  "typeDescriptions": {
456
- "typeIdentifier": "t_type$_t_contract$_IUniqueEntitySystem_$39921_$",
605
+ "typeIdentifier": "t_type$_t_contract$_IUniqueEntitySystem_$49063_$",
457
606
  "typeString": "type(contract IUniqueEntitySystem)"
458
607
  }
459
608
  },
460
- "id": 56998,
609
+ "id": 66149,
461
610
  "isConstant": false,
462
611
  "isLValue": false,
463
612
  "isPure": false,
@@ -466,29 +615,29 @@
466
615
  "nameLocations": [],
467
616
  "names": [],
468
617
  "nodeType": "FunctionCall",
469
- "src": "852:35:136",
618
+ "src": "947:35:146",
470
619
  "tryCall": false,
471
620
  "typeDescriptions": {
472
- "typeIdentifier": "t_contract$_IUniqueEntitySystem_$39921",
621
+ "typeIdentifier": "t_contract$_IUniqueEntitySystem_$49063",
473
622
  "typeString": "contract IUniqueEntitySystem"
474
623
  }
475
624
  },
476
- "id": 56999,
625
+ "id": 66150,
477
626
  "isConstant": false,
478
627
  "isLValue": false,
479
628
  "isPure": false,
480
629
  "lValueRequested": false,
481
- "memberLocation": "888:35:136",
630
+ "memberLocation": "983:35:146",
482
631
  "memberName": "uniqueEntity_system_getUniqueEntity",
483
632
  "nodeType": "MemberAccess",
484
- "referencedDeclaration": 39920,
485
- "src": "852:71:136",
633
+ "referencedDeclaration": 49062,
634
+ "src": "947:71:146",
486
635
  "typeDescriptions": {
487
636
  "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bytes32_$",
488
637
  "typeString": "function () external returns (bytes32)"
489
638
  }
490
639
  },
491
- "id": 57000,
640
+ "id": 66151,
492
641
  "isConstant": false,
493
642
  "isLValue": false,
494
643
  "isPure": false,
@@ -497,88 +646,88 @@
497
646
  "nameLocations": [],
498
647
  "names": [],
499
648
  "nodeType": "FunctionCall",
500
- "src": "852:73:136",
649
+ "src": "947:73:146",
501
650
  "tryCall": false,
502
651
  "typeDescriptions": {
503
652
  "typeIdentifier": "t_bytes32",
504
653
  "typeString": "bytes32"
505
654
  }
506
655
  },
507
- "functionReturnParameters": 56992,
508
- "id": 57001,
656
+ "functionReturnParameters": 66143,
657
+ "id": 66152,
509
658
  "nodeType": "Return",
510
- "src": "845:80:136"
659
+ "src": "940:80:146"
511
660
  }
512
661
  ]
513
662
  },
514
663
  "documentation": {
515
- "id": 56985,
664
+ "id": 66136,
516
665
  "nodeType": "StructuredDocumentation",
517
- "src": "721:45:136",
666
+ "src": "816:45:146",
518
667
  "text": " Increment and get an entity nonce."
519
668
  },
520
669
  "implemented": true,
521
670
  "kind": "freeFunction",
522
671
  "modifiers": [],
523
672
  "name": "getUniqueEntity",
524
- "nameLocation": "776:15:136",
673
+ "nameLocation": "871:15:146",
525
674
  "parameters": {
526
- "id": 56989,
675
+ "id": 66140,
527
676
  "nodeType": "ParameterList",
528
677
  "parameters": [
529
678
  {
530
679
  "constant": false,
531
- "id": 56988,
680
+ "id": 66139,
532
681
  "mutability": "mutable",
533
682
  "name": "world",
534
- "nameLocation": "803:5:136",
683
+ "nameLocation": "898:5:146",
535
684
  "nodeType": "VariableDeclaration",
536
- "scope": 57003,
537
- "src": "792:16:136",
685
+ "scope": 66154,
686
+ "src": "887:16:146",
538
687
  "stateVariable": false,
539
688
  "storageLocation": "default",
540
689
  "typeDescriptions": {
541
- "typeIdentifier": "t_contract$_IBaseWorld_$39775",
690
+ "typeIdentifier": "t_contract$_IBaseWorld_$42528",
542
691
  "typeString": "contract IBaseWorld"
543
692
  },
544
693
  "typeName": {
545
- "id": 56987,
694
+ "id": 66138,
546
695
  "nodeType": "UserDefinedTypeName",
547
696
  "pathNode": {
548
- "id": 56986,
697
+ "id": 66137,
549
698
  "name": "IBaseWorld",
550
699
  "nameLocations": [
551
- "792:10:136"
700
+ "887:10:146"
552
701
  ],
553
702
  "nodeType": "IdentifierPath",
554
- "referencedDeclaration": 39775,
555
- "src": "792:10:136"
703
+ "referencedDeclaration": 42528,
704
+ "src": "887:10:146"
556
705
  },
557
- "referencedDeclaration": 39775,
558
- "src": "792:10:136",
706
+ "referencedDeclaration": 42528,
707
+ "src": "887:10:146",
559
708
  "typeDescriptions": {
560
- "typeIdentifier": "t_contract$_IBaseWorld_$39775",
709
+ "typeIdentifier": "t_contract$_IBaseWorld_$42528",
561
710
  "typeString": "contract IBaseWorld"
562
711
  }
563
712
  },
564
713
  "visibility": "internal"
565
714
  }
566
715
  ],
567
- "src": "791:18:136"
716
+ "src": "886:18:146"
568
717
  },
569
718
  "returnParameters": {
570
- "id": 56992,
719
+ "id": 66143,
571
720
  "nodeType": "ParameterList",
572
721
  "parameters": [
573
722
  {
574
723
  "constant": false,
575
- "id": 56991,
724
+ "id": 66142,
576
725
  "mutability": "mutable",
577
726
  "name": "uniqueEntity",
578
- "nameLocation": "827:12:136",
727
+ "nameLocation": "922:12:146",
579
728
  "nodeType": "VariableDeclaration",
580
- "scope": 57003,
581
- "src": "819:20:136",
729
+ "scope": 66154,
730
+ "src": "914:20:146",
582
731
  "stateVariable": false,
583
732
  "storageLocation": "default",
584
733
  "typeDescriptions": {
@@ -586,10 +735,10 @@
586
735
  "typeString": "bytes32"
587
736
  },
588
737
  "typeName": {
589
- "id": 56990,
738
+ "id": 66141,
590
739
  "name": "bytes32",
591
740
  "nodeType": "ElementaryTypeName",
592
- "src": "819:7:136",
741
+ "src": "914:7:146",
593
742
  "typeDescriptions": {
594
743
  "typeIdentifier": "t_bytes32",
595
744
  "typeString": "bytes32"
@@ -598,9 +747,9 @@
598
747
  "visibility": "internal"
599
748
  }
600
749
  ],
601
- "src": "818:22:136"
750
+ "src": "913:22:146"
602
751
  },
603
- "scope": 57004,
752
+ "scope": 66155,
604
753
  "stateMutability": "nonpayable",
605
754
  "virtual": false,
606
755
  "visibility": "internal"
@@ -608,5 +757,5 @@
608
757
  ],
609
758
  "license": "MIT"
610
759
  },
611
- "id": 136
760
+ "id": 146
612
761
  }