@latticexyz/world-modules 2.0.0-next.10 → 2.0.0-next.11

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 +354 -354
  7. package/out/CallboundDelegations.sol/CallboundDelegations.json +4497 -4497
  8. package/out/DelegationControl.sol/DelegationControl.json +139 -139
  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 +18 -18
  13. package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +15 -15
  14. package/out/IBaseWorld.sol/IBaseWorld.json +85 -85
  15. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +15 -15
  16. package/out/IDelegationControl.sol/IDelegationControl.json +11 -11
  17. package/out/ISystemHook.sol/ISystemHook.json +16 -16
  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 +14 -14
  21. package/out/IWorldKernel.sol/IWorldKernel.json +14 -14
  22. package/out/IWorldKernel.sol/IWorldModuleInstallation.json +14 -14
  23. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +43 -43
  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 +842 -842
  27. package/out/KeysWithValue.sol/KeysWithValue.json +6631 -6631
  28. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1561 -1561
  29. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +654 -654
  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 +452 -452
  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 +187 -187
  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 +486 -486
  54. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +132 -132
  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 +107 -107
  60. package/out/WorldResourceId.sol/WorldResourceIdLib.json +107 -107
  61. package/out/constants.sol/constants.json +477 -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 +175 -175
  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 +262 -262
  86. package/out/src/IWorldKernel.sol/IWorldKernel.json +262 -262
  87. package/out/src/IWorldKernel.sol/IWorldModuleInstallation.json +262 -262
  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 +813 -813
  104. package/out/src/WorldResourceId.sol/WorldResourceIdLib.json +813 -813
  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
@@ -0,0 +1,852 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "inputs": [
5
+ {
6
+ "internalType": "address",
7
+ "name": "msgSender",
8
+ "type": "address"
9
+ },
10
+ {
11
+ "internalType": "ResourceId",
12
+ "name": "systemId",
13
+ "type": "bytes32"
14
+ },
15
+ {
16
+ "internalType": "bytes",
17
+ "name": "callData",
18
+ "type": "bytes"
19
+ }
20
+ ],
21
+ "name": "onAfterCallSystem",
22
+ "outputs": [],
23
+ "stateMutability": "nonpayable",
24
+ "type": "function"
25
+ },
26
+ {
27
+ "inputs": [
28
+ {
29
+ "internalType": "address",
30
+ "name": "msgSender",
31
+ "type": "address"
32
+ },
33
+ {
34
+ "internalType": "ResourceId",
35
+ "name": "systemId",
36
+ "type": "bytes32"
37
+ },
38
+ {
39
+ "internalType": "bytes",
40
+ "name": "callData",
41
+ "type": "bytes"
42
+ }
43
+ ],
44
+ "name": "onBeforeCallSystem",
45
+ "outputs": [],
46
+ "stateMutability": "nonpayable",
47
+ "type": "function"
48
+ },
49
+ {
50
+ "inputs": [
51
+ {
52
+ "internalType": "bytes4",
53
+ "name": "interfaceID",
54
+ "type": "bytes4"
55
+ }
56
+ ],
57
+ "name": "supportsInterface",
58
+ "outputs": [
59
+ {
60
+ "internalType": "bool",
61
+ "name": "",
62
+ "type": "bool"
63
+ }
64
+ ],
65
+ "stateMutability": "view",
66
+ "type": "function"
67
+ }
68
+ ],
69
+ "bytecode": {
70
+ "object": "0x",
71
+ "sourceMap": "",
72
+ "linkReferences": {}
73
+ },
74
+ "deployedBytecode": {
75
+ "object": "0x",
76
+ "sourceMap": "",
77
+ "linkReferences": {}
78
+ },
79
+ "methodIdentifiers": {
80
+ "onAfterCallSystem(address,bytes32,bytes)": "973d8f99",
81
+ "onBeforeCallSystem(address,bytes32,bytes)": "c3323031",
82
+ "supportsInterface(bytes4)": "01ffc9a7"
83
+ },
84
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"onAfterCallSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"onBeforeCallSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface defining system hooks for external functionality. Provides pre and post hooks that can be triggered before and after a system call respectively. This interface adheres to the ERC-165 standard for determining interface support.\",\"kind\":\"dev\",\"methods\":{\"onAfterCallSystem(address,bytes32,bytes)\":{\"details\":\"Provides the ability to add custom logic or checks after a system call completes.\",\"params\":{\"callData\":\"Data that was sent as part of the system call.\",\"msgSender\":\"The original sender of the system call.\",\"systemId\":\"The identifier for the system that was called.\"}},\"onBeforeCallSystem(address,bytes32,bytes)\":{\"details\":\"Provides the ability to add custom logic or checks before a system is invoked.\",\"params\":{\"callData\":\"Data being sent as part of the system call.\",\"msgSender\":\"The original sender of the system call.\",\"systemId\":\"The identifier for the system being called.\"}},\"supportsInterface(bytes4)\":{\"details\":\"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.\",\"params\":{\"interfaceID\":\"The interface identifier, as specified in ERC-165.\"},\"returns\":{\"_0\":\"True if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, false otherwise.\"}}},\"title\":\"ISystemHook\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"onAfterCallSystem(address,bytes32,bytes)\":{\"notice\":\"Executes after a system call.\"},\"onBeforeCallSystem(address,bytes32,bytes)\":{\"notice\":\"Executes before a system call.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/ISystemHook.sol\":\"ISystemHook\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4\",\"dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d\",\"dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510\",\"dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb\",\"dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218\",\"dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]}},\"version\":1}",
85
+ "metadata": {
86
+ "compiler": {
87
+ "version": "0.8.21+commit.d9974bed"
88
+ },
89
+ "language": "Solidity",
90
+ "output": {
91
+ "abi": [
92
+ {
93
+ "inputs": [
94
+ {
95
+ "internalType": "address",
96
+ "name": "msgSender",
97
+ "type": "address"
98
+ },
99
+ {
100
+ "internalType": "ResourceId",
101
+ "name": "systemId",
102
+ "type": "bytes32"
103
+ },
104
+ {
105
+ "internalType": "bytes",
106
+ "name": "callData",
107
+ "type": "bytes"
108
+ }
109
+ ],
110
+ "stateMutability": "nonpayable",
111
+ "type": "function",
112
+ "name": "onAfterCallSystem"
113
+ },
114
+ {
115
+ "inputs": [
116
+ {
117
+ "internalType": "address",
118
+ "name": "msgSender",
119
+ "type": "address"
120
+ },
121
+ {
122
+ "internalType": "ResourceId",
123
+ "name": "systemId",
124
+ "type": "bytes32"
125
+ },
126
+ {
127
+ "internalType": "bytes",
128
+ "name": "callData",
129
+ "type": "bytes"
130
+ }
131
+ ],
132
+ "stateMutability": "nonpayable",
133
+ "type": "function",
134
+ "name": "onBeforeCallSystem"
135
+ },
136
+ {
137
+ "inputs": [
138
+ {
139
+ "internalType": "bytes4",
140
+ "name": "interfaceID",
141
+ "type": "bytes4"
142
+ }
143
+ ],
144
+ "stateMutability": "view",
145
+ "type": "function",
146
+ "name": "supportsInterface",
147
+ "outputs": [
148
+ {
149
+ "internalType": "bool",
150
+ "name": "",
151
+ "type": "bool"
152
+ }
153
+ ]
154
+ }
155
+ ],
156
+ "devdoc": {
157
+ "kind": "dev",
158
+ "methods": {
159
+ "onAfterCallSystem(address,bytes32,bytes)": {
160
+ "details": "Provides the ability to add custom logic or checks after a system call completes.",
161
+ "params": {
162
+ "callData": "Data that was sent as part of the system call.",
163
+ "msgSender": "The original sender of the system call.",
164
+ "systemId": "The identifier for the system that was called."
165
+ }
166
+ },
167
+ "onBeforeCallSystem(address,bytes32,bytes)": {
168
+ "details": "Provides the ability to add custom logic or checks before a system is invoked.",
169
+ "params": {
170
+ "callData": "Data being sent as part of the system call.",
171
+ "msgSender": "The original sender of the system call.",
172
+ "systemId": "The identifier for the system being called."
173
+ }
174
+ },
175
+ "supportsInterface(bytes4)": {
176
+ "details": "Interface identification is specified in ERC-165. This function uses less than 30,000 gas.",
177
+ "params": {
178
+ "interfaceID": "The interface identifier, as specified in ERC-165."
179
+ },
180
+ "returns": {
181
+ "_0": "True if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, false otherwise."
182
+ }
183
+ }
184
+ },
185
+ "version": 1
186
+ },
187
+ "userdoc": {
188
+ "kind": "user",
189
+ "methods": {
190
+ "onAfterCallSystem(address,bytes32,bytes)": {
191
+ "notice": "Executes after a system call."
192
+ },
193
+ "onBeforeCallSystem(address,bytes32,bytes)": {
194
+ "notice": "Executes before a system call."
195
+ },
196
+ "supportsInterface(bytes4)": {
197
+ "notice": "Query if a contract implements an interface."
198
+ }
199
+ },
200
+ "version": 1
201
+ }
202
+ },
203
+ "settings": {
204
+ "remappings": [
205
+ "@latticexyz/=node_modules/@latticexyz/",
206
+ "ds-test/=node_modules/ds-test/src/",
207
+ "forge-std/=node_modules/forge-std/src/"
208
+ ],
209
+ "optimizer": {
210
+ "enabled": true,
211
+ "runs": 3000
212
+ },
213
+ "metadata": {
214
+ "bytecodeHash": "none"
215
+ },
216
+ "compilationTarget": {
217
+ "node_modules/@latticexyz/world/src/ISystemHook.sol": "ISystemHook"
218
+ },
219
+ "libraries": {}
220
+ },
221
+ "sources": {
222
+ "node_modules/@latticexyz/store/src/Bytes.sol": {
223
+ "keccak256": "0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558",
224
+ "urls": [
225
+ "bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4",
226
+ "dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk"
227
+ ],
228
+ "license": "MIT"
229
+ },
230
+ "node_modules/@latticexyz/store/src/ResourceId.sol": {
231
+ "keccak256": "0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed",
232
+ "urls": [
233
+ "bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d",
234
+ "dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d"
235
+ ],
236
+ "license": "MIT"
237
+ },
238
+ "node_modules/@latticexyz/store/src/storeResourceTypes.sol": {
239
+ "keccak256": "0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2",
240
+ "urls": [
241
+ "bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84",
242
+ "dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t"
243
+ ],
244
+ "license": "MIT"
245
+ },
246
+ "node_modules/@latticexyz/world/src/IERC165.sol": {
247
+ "keccak256": "0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47",
248
+ "urls": [
249
+ "bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5",
250
+ "dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"
251
+ ],
252
+ "license": "MIT"
253
+ },
254
+ "node_modules/@latticexyz/world/src/ISystemHook.sol": {
255
+ "keccak256": "0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db",
256
+ "urls": [
257
+ "bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510",
258
+ "dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw"
259
+ ],
260
+ "license": "MIT"
261
+ },
262
+ "node_modules/@latticexyz/world/src/WorldResourceId.sol": {
263
+ "keccak256": "0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417",
264
+ "urls": [
265
+ "bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb",
266
+ "dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK"
267
+ ],
268
+ "license": "MIT"
269
+ },
270
+ "node_modules/@latticexyz/world/src/constants.sol": {
271
+ "keccak256": "0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588",
272
+ "urls": [
273
+ "bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218",
274
+ "dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc"
275
+ ],
276
+ "license": "MIT"
277
+ },
278
+ "node_modules/@latticexyz/world/src/worldResourceTypes.sol": {
279
+ "keccak256": "0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746",
280
+ "urls": [
281
+ "bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2",
282
+ "dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9"
283
+ ],
284
+ "license": "MIT"
285
+ }
286
+ },
287
+ "version": 1
288
+ },
289
+ "ast": {
290
+ "absolutePath": "node_modules/@latticexyz/world/src/ISystemHook.sol",
291
+ "id": 41748,
292
+ "exportedSymbols": {
293
+ "ERC165_INTERFACE_ID": [
294
+ 75623
295
+ ],
296
+ "IERC165": [
297
+ 75633
298
+ ],
299
+ "ISystemHook": [
300
+ 41747
301
+ ],
302
+ "ResourceId": [
303
+ 29139
304
+ ],
305
+ "SYSTEM_HOOK_INTERFACE_ID": [
306
+ 41721
307
+ ]
308
+ },
309
+ "nodeType": "SourceUnit",
310
+ "src": "32:1704:94",
311
+ "nodes": [
312
+ {
313
+ "id": 41704,
314
+ "nodeType": "PragmaDirective",
315
+ "src": "32:25:94",
316
+ "nodes": [],
317
+ "literals": [
318
+ "solidity",
319
+ ">=",
320
+ "0.8",
321
+ ".21"
322
+ ]
323
+ },
324
+ {
325
+ "id": 41707,
326
+ "nodeType": "ImportDirective",
327
+ "src": "59:61:94",
328
+ "nodes": [],
329
+ "absolutePath": "node_modules/@latticexyz/world/src/IERC165.sol",
330
+ "file": "./IERC165.sol",
331
+ "nameLocation": "-1:-1:-1",
332
+ "scope": 41748,
333
+ "sourceUnit": 75634,
334
+ "symbolAliases": [
335
+ {
336
+ "foreign": {
337
+ "id": 41705,
338
+ "name": "IERC165",
339
+ "nodeType": "Identifier",
340
+ "overloadedDeclarations": [],
341
+ "referencedDeclaration": 75633,
342
+ "src": "68:7:94",
343
+ "typeDescriptions": {}
344
+ },
345
+ "nameLocation": "-1:-1:-1"
346
+ },
347
+ {
348
+ "foreign": {
349
+ "id": 41706,
350
+ "name": "ERC165_INTERFACE_ID",
351
+ "nodeType": "Identifier",
352
+ "overloadedDeclarations": [],
353
+ "referencedDeclaration": 75623,
354
+ "src": "77:19:94",
355
+ "typeDescriptions": {}
356
+ },
357
+ "nameLocation": "-1:-1:-1"
358
+ }
359
+ ],
360
+ "unitAlias": ""
361
+ },
362
+ {
363
+ "id": 41709,
364
+ "nodeType": "ImportDirective",
365
+ "src": "121:51:94",
366
+ "nodes": [],
367
+ "absolutePath": "node_modules/@latticexyz/world/src/WorldResourceId.sol",
368
+ "file": "./WorldResourceId.sol",
369
+ "nameLocation": "-1:-1:-1",
370
+ "scope": 41748,
371
+ "sourceUnit": 42511,
372
+ "symbolAliases": [
373
+ {
374
+ "foreign": {
375
+ "id": 41708,
376
+ "name": "ResourceId",
377
+ "nodeType": "Identifier",
378
+ "overloadedDeclarations": [],
379
+ "referencedDeclaration": 29139,
380
+ "src": "130:10:94",
381
+ "typeDescriptions": {}
382
+ },
383
+ "nameLocation": "-1:-1:-1"
384
+ }
385
+ ],
386
+ "unitAlias": ""
387
+ },
388
+ {
389
+ "id": 41721,
390
+ "nodeType": "VariableDeclaration",
391
+ "src": "378:149:94",
392
+ "nodes": [],
393
+ "constant": true,
394
+ "mutability": "constant",
395
+ "name": "SYSTEM_HOOK_INTERFACE_ID",
396
+ "nameLocation": "394:24:94",
397
+ "scope": 41748,
398
+ "stateVariable": false,
399
+ "storageLocation": "default",
400
+ "typeDescriptions": {
401
+ "typeIdentifier": "t_bytes4",
402
+ "typeString": "bytes4"
403
+ },
404
+ "typeName": {
405
+ "id": 41711,
406
+ "name": "bytes4",
407
+ "nodeType": "ElementaryTypeName",
408
+ "src": "378:6:94",
409
+ "typeDescriptions": {
410
+ "typeIdentifier": "t_bytes4",
411
+ "typeString": "bytes4"
412
+ }
413
+ },
414
+ "value": {
415
+ "commonType": {
416
+ "typeIdentifier": "t_bytes4",
417
+ "typeString": "bytes4"
418
+ },
419
+ "id": 41720,
420
+ "isConstant": false,
421
+ "isLValue": false,
422
+ "isPure": true,
423
+ "lValueRequested": false,
424
+ "leftExpression": {
425
+ "commonType": {
426
+ "typeIdentifier": "t_bytes4",
427
+ "typeString": "bytes4"
428
+ },
429
+ "id": 41718,
430
+ "isConstant": false,
431
+ "isLValue": false,
432
+ "isPure": true,
433
+ "lValueRequested": false,
434
+ "leftExpression": {
435
+ "expression": {
436
+ "expression": {
437
+ "id": 41712,
438
+ "name": "ISystemHook",
439
+ "nodeType": "Identifier",
440
+ "overloadedDeclarations": [],
441
+ "referencedDeclaration": 41747,
442
+ "src": "421:11:94",
443
+ "typeDescriptions": {
444
+ "typeIdentifier": "t_type$_t_contract$_ISystemHook_$41747_$",
445
+ "typeString": "type(contract ISystemHook)"
446
+ }
447
+ },
448
+ "id": 41713,
449
+ "isConstant": false,
450
+ "isLValue": false,
451
+ "isPure": true,
452
+ "lValueRequested": false,
453
+ "memberLocation": "433:18:94",
454
+ "memberName": "onBeforeCallSystem",
455
+ "nodeType": "MemberAccess",
456
+ "referencedDeclaration": 41735,
457
+ "src": "421:30:94",
458
+ "typeDescriptions": {
459
+ "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_userDefinedValueType$_ResourceId_$29139_$_t_bytes_memory_ptr_$returns$__$",
460
+ "typeString": "function ISystemHook.onBeforeCallSystem(address,ResourceId,bytes memory)"
461
+ }
462
+ },
463
+ "id": 41714,
464
+ "isConstant": false,
465
+ "isLValue": false,
466
+ "isPure": true,
467
+ "lValueRequested": false,
468
+ "memberLocation": "452:8:94",
469
+ "memberName": "selector",
470
+ "nodeType": "MemberAccess",
471
+ "src": "421:39:94",
472
+ "typeDescriptions": {
473
+ "typeIdentifier": "t_bytes4",
474
+ "typeString": "bytes4"
475
+ }
476
+ },
477
+ "nodeType": "BinaryOperation",
478
+ "operator": "^",
479
+ "rightExpression": {
480
+ "expression": {
481
+ "expression": {
482
+ "id": 41715,
483
+ "name": "ISystemHook",
484
+ "nodeType": "Identifier",
485
+ "overloadedDeclarations": [],
486
+ "referencedDeclaration": 41747,
487
+ "src": "465:11:94",
488
+ "typeDescriptions": {
489
+ "typeIdentifier": "t_type$_t_contract$_ISystemHook_$41747_$",
490
+ "typeString": "type(contract ISystemHook)"
491
+ }
492
+ },
493
+ "id": 41716,
494
+ "isConstant": false,
495
+ "isLValue": false,
496
+ "isPure": true,
497
+ "lValueRequested": false,
498
+ "memberLocation": "477:17:94",
499
+ "memberName": "onAfterCallSystem",
500
+ "nodeType": "MemberAccess",
501
+ "referencedDeclaration": 41746,
502
+ "src": "465:29:94",
503
+ "typeDescriptions": {
504
+ "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_userDefinedValueType$_ResourceId_$29139_$_t_bytes_memory_ptr_$returns$__$",
505
+ "typeString": "function ISystemHook.onAfterCallSystem(address,ResourceId,bytes memory)"
506
+ }
507
+ },
508
+ "id": 41717,
509
+ "isConstant": false,
510
+ "isLValue": false,
511
+ "isPure": true,
512
+ "lValueRequested": false,
513
+ "memberLocation": "495:8:94",
514
+ "memberName": "selector",
515
+ "nodeType": "MemberAccess",
516
+ "src": "465:38:94",
517
+ "typeDescriptions": {
518
+ "typeIdentifier": "t_bytes4",
519
+ "typeString": "bytes4"
520
+ }
521
+ },
522
+ "src": "421:82:94",
523
+ "typeDescriptions": {
524
+ "typeIdentifier": "t_bytes4",
525
+ "typeString": "bytes4"
526
+ }
527
+ },
528
+ "nodeType": "BinaryOperation",
529
+ "operator": "^",
530
+ "rightExpression": {
531
+ "id": 41719,
532
+ "name": "ERC165_INTERFACE_ID",
533
+ "nodeType": "Identifier",
534
+ "overloadedDeclarations": [],
535
+ "referencedDeclaration": 75623,
536
+ "src": "508:19:94",
537
+ "typeDescriptions": {
538
+ "typeIdentifier": "t_bytes4",
539
+ "typeString": "bytes4"
540
+ }
541
+ },
542
+ "src": "421:106:94",
543
+ "typeDescriptions": {
544
+ "typeIdentifier": "t_bytes4",
545
+ "typeString": "bytes4"
546
+ }
547
+ },
548
+ "visibility": "internal"
549
+ },
550
+ {
551
+ "id": 41747,
552
+ "nodeType": "ContractDefinition",
553
+ "src": "811:924:94",
554
+ "nodes": [
555
+ {
556
+ "id": 41735,
557
+ "nodeType": "FunctionDefinition",
558
+ "src": "1185:100:94",
559
+ "nodes": [],
560
+ "documentation": {
561
+ "id": 41725,
562
+ "nodeType": "StructuredDocumentation",
563
+ "src": "848:334:94",
564
+ "text": " @notice Executes before a system call.\n @dev Provides the ability to add custom logic or checks before a system is invoked.\n @param msgSender The original sender of the system call.\n @param systemId The identifier for the system being called.\n @param callData Data being sent as part of the system call."
565
+ },
566
+ "functionSelector": "c3323031",
567
+ "implemented": false,
568
+ "kind": "function",
569
+ "modifiers": [],
570
+ "name": "onBeforeCallSystem",
571
+ "nameLocation": "1194:18:94",
572
+ "parameters": {
573
+ "id": 41733,
574
+ "nodeType": "ParameterList",
575
+ "parameters": [
576
+ {
577
+ "constant": false,
578
+ "id": 41727,
579
+ "mutability": "mutable",
580
+ "name": "msgSender",
581
+ "nameLocation": "1221:9:94",
582
+ "nodeType": "VariableDeclaration",
583
+ "scope": 41735,
584
+ "src": "1213:17:94",
585
+ "stateVariable": false,
586
+ "storageLocation": "default",
587
+ "typeDescriptions": {
588
+ "typeIdentifier": "t_address",
589
+ "typeString": "address"
590
+ },
591
+ "typeName": {
592
+ "id": 41726,
593
+ "name": "address",
594
+ "nodeType": "ElementaryTypeName",
595
+ "src": "1213:7:94",
596
+ "stateMutability": "nonpayable",
597
+ "typeDescriptions": {
598
+ "typeIdentifier": "t_address",
599
+ "typeString": "address"
600
+ }
601
+ },
602
+ "visibility": "internal"
603
+ },
604
+ {
605
+ "constant": false,
606
+ "id": 41730,
607
+ "mutability": "mutable",
608
+ "name": "systemId",
609
+ "nameLocation": "1243:8:94",
610
+ "nodeType": "VariableDeclaration",
611
+ "scope": 41735,
612
+ "src": "1232:19:94",
613
+ "stateVariable": false,
614
+ "storageLocation": "default",
615
+ "typeDescriptions": {
616
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29139",
617
+ "typeString": "ResourceId"
618
+ },
619
+ "typeName": {
620
+ "id": 41729,
621
+ "nodeType": "UserDefinedTypeName",
622
+ "pathNode": {
623
+ "id": 41728,
624
+ "name": "ResourceId",
625
+ "nameLocations": [
626
+ "1232:10:94"
627
+ ],
628
+ "nodeType": "IdentifierPath",
629
+ "referencedDeclaration": 29139,
630
+ "src": "1232:10:94"
631
+ },
632
+ "referencedDeclaration": 29139,
633
+ "src": "1232:10:94",
634
+ "typeDescriptions": {
635
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29139",
636
+ "typeString": "ResourceId"
637
+ }
638
+ },
639
+ "visibility": "internal"
640
+ },
641
+ {
642
+ "constant": false,
643
+ "id": 41732,
644
+ "mutability": "mutable",
645
+ "name": "callData",
646
+ "nameLocation": "1266:8:94",
647
+ "nodeType": "VariableDeclaration",
648
+ "scope": 41735,
649
+ "src": "1253:21:94",
650
+ "stateVariable": false,
651
+ "storageLocation": "memory",
652
+ "typeDescriptions": {
653
+ "typeIdentifier": "t_bytes_memory_ptr",
654
+ "typeString": "bytes"
655
+ },
656
+ "typeName": {
657
+ "id": 41731,
658
+ "name": "bytes",
659
+ "nodeType": "ElementaryTypeName",
660
+ "src": "1253:5:94",
661
+ "typeDescriptions": {
662
+ "typeIdentifier": "t_bytes_storage_ptr",
663
+ "typeString": "bytes"
664
+ }
665
+ },
666
+ "visibility": "internal"
667
+ }
668
+ ],
669
+ "src": "1212:63:94"
670
+ },
671
+ "returnParameters": {
672
+ "id": 41734,
673
+ "nodeType": "ParameterList",
674
+ "parameters": [],
675
+ "src": "1284:0:94"
676
+ },
677
+ "scope": 41747,
678
+ "stateMutability": "nonpayable",
679
+ "virtual": false,
680
+ "visibility": "external"
681
+ },
682
+ {
683
+ "id": 41746,
684
+ "nodeType": "FunctionDefinition",
685
+ "src": "1634:99:94",
686
+ "nodes": [],
687
+ "documentation": {
688
+ "id": 41736,
689
+ "nodeType": "StructuredDocumentation",
690
+ "src": "1289:342:94",
691
+ "text": " @notice Executes after a system call.\n @dev Provides the ability to add custom logic or checks after a system call completes.\n @param msgSender The original sender of the system call.\n @param systemId The identifier for the system that was called.\n @param callData Data that was sent as part of the system call."
692
+ },
693
+ "functionSelector": "973d8f99",
694
+ "implemented": false,
695
+ "kind": "function",
696
+ "modifiers": [],
697
+ "name": "onAfterCallSystem",
698
+ "nameLocation": "1643:17:94",
699
+ "parameters": {
700
+ "id": 41744,
701
+ "nodeType": "ParameterList",
702
+ "parameters": [
703
+ {
704
+ "constant": false,
705
+ "id": 41738,
706
+ "mutability": "mutable",
707
+ "name": "msgSender",
708
+ "nameLocation": "1669:9:94",
709
+ "nodeType": "VariableDeclaration",
710
+ "scope": 41746,
711
+ "src": "1661:17:94",
712
+ "stateVariable": false,
713
+ "storageLocation": "default",
714
+ "typeDescriptions": {
715
+ "typeIdentifier": "t_address",
716
+ "typeString": "address"
717
+ },
718
+ "typeName": {
719
+ "id": 41737,
720
+ "name": "address",
721
+ "nodeType": "ElementaryTypeName",
722
+ "src": "1661:7:94",
723
+ "stateMutability": "nonpayable",
724
+ "typeDescriptions": {
725
+ "typeIdentifier": "t_address",
726
+ "typeString": "address"
727
+ }
728
+ },
729
+ "visibility": "internal"
730
+ },
731
+ {
732
+ "constant": false,
733
+ "id": 41741,
734
+ "mutability": "mutable",
735
+ "name": "systemId",
736
+ "nameLocation": "1691:8:94",
737
+ "nodeType": "VariableDeclaration",
738
+ "scope": 41746,
739
+ "src": "1680:19:94",
740
+ "stateVariable": false,
741
+ "storageLocation": "default",
742
+ "typeDescriptions": {
743
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29139",
744
+ "typeString": "ResourceId"
745
+ },
746
+ "typeName": {
747
+ "id": 41740,
748
+ "nodeType": "UserDefinedTypeName",
749
+ "pathNode": {
750
+ "id": 41739,
751
+ "name": "ResourceId",
752
+ "nameLocations": [
753
+ "1680:10:94"
754
+ ],
755
+ "nodeType": "IdentifierPath",
756
+ "referencedDeclaration": 29139,
757
+ "src": "1680:10:94"
758
+ },
759
+ "referencedDeclaration": 29139,
760
+ "src": "1680:10:94",
761
+ "typeDescriptions": {
762
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29139",
763
+ "typeString": "ResourceId"
764
+ }
765
+ },
766
+ "visibility": "internal"
767
+ },
768
+ {
769
+ "constant": false,
770
+ "id": 41743,
771
+ "mutability": "mutable",
772
+ "name": "callData",
773
+ "nameLocation": "1714:8:94",
774
+ "nodeType": "VariableDeclaration",
775
+ "scope": 41746,
776
+ "src": "1701:21:94",
777
+ "stateVariable": false,
778
+ "storageLocation": "memory",
779
+ "typeDescriptions": {
780
+ "typeIdentifier": "t_bytes_memory_ptr",
781
+ "typeString": "bytes"
782
+ },
783
+ "typeName": {
784
+ "id": 41742,
785
+ "name": "bytes",
786
+ "nodeType": "ElementaryTypeName",
787
+ "src": "1701:5:94",
788
+ "typeDescriptions": {
789
+ "typeIdentifier": "t_bytes_storage_ptr",
790
+ "typeString": "bytes"
791
+ }
792
+ },
793
+ "visibility": "internal"
794
+ }
795
+ ],
796
+ "src": "1660:63:94"
797
+ },
798
+ "returnParameters": {
799
+ "id": 41745,
800
+ "nodeType": "ParameterList",
801
+ "parameters": [],
802
+ "src": "1732:0:94"
803
+ },
804
+ "scope": 41747,
805
+ "stateMutability": "nonpayable",
806
+ "virtual": false,
807
+ "visibility": "external"
808
+ }
809
+ ],
810
+ "abstract": false,
811
+ "baseContracts": [
812
+ {
813
+ "baseName": {
814
+ "id": 41723,
815
+ "name": "IERC165",
816
+ "nameLocations": [
817
+ "836:7:94"
818
+ ],
819
+ "nodeType": "IdentifierPath",
820
+ "referencedDeclaration": 75633,
821
+ "src": "836:7:94"
822
+ },
823
+ "id": 41724,
824
+ "nodeType": "InheritanceSpecifier",
825
+ "src": "836:7:94"
826
+ }
827
+ ],
828
+ "canonicalName": "ISystemHook",
829
+ "contractDependencies": [],
830
+ "contractKind": "interface",
831
+ "documentation": {
832
+ "id": 41722,
833
+ "nodeType": "StructuredDocumentation",
834
+ "src": "530:280:94",
835
+ "text": " @title ISystemHook\n @dev Interface defining system hooks for external functionality.\n Provides pre and post hooks that can be triggered before and after a system call respectively.\n This interface adheres to the ERC-165 standard for determining interface support."
836
+ },
837
+ "fullyImplemented": false,
838
+ "linearizedBaseContracts": [
839
+ 41747,
840
+ 75633
841
+ ],
842
+ "name": "ISystemHook",
843
+ "nameLocation": "821:11:94",
844
+ "scope": 41748,
845
+ "usedErrors": [],
846
+ "usedEvents": []
847
+ }
848
+ ],
849
+ "license": "MIT"
850
+ },
851
+ "id": 94
852
+ }