@latticexyz/world 2.2.20-306707570ec5fd27877d674502aa381d7fd89662 → 2.2.20-31870811b975d44f4b5d14ae69fd623914237584

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 (246) hide show
  1. package/dist/{System.abi-ENBBMWQJ.js → System.abi-QE5PR27M.js} +2 -2
  2. package/dist/{System.abi-ENBBMWQJ.js.map → System.abi-QE5PR27M.js.map} +1 -1
  3. package/dist/{chunk-XSBK355I.js → chunk-6E2JY6MZ.js} +2 -1
  4. package/dist/chunk-6E2JY6MZ.js.map +1 -0
  5. package/dist/{chunk-SGZK356L.js → chunk-6KRKTNJ5.js} +42 -22
  6. package/dist/chunk-6KRKTNJ5.js.map +1 -0
  7. package/dist/{chunk-2W4TKC47.js → chunk-NVV4GS3R.js} +2 -2
  8. package/dist/{dynamicResolution-AmVd5Qtd.d.ts → dynamicResolution-Bul4y_B0.d.ts} +11 -5
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.js +2 -2
  11. package/dist/internal.d.ts +23 -18
  12. package/dist/internal.js +7 -7
  13. package/dist/internal.js.map +1 -1
  14. package/dist/mud.config.d.ts +242 -131
  15. package/dist/mud.config.js +9 -7
  16. package/dist/node.d.ts +1 -1
  17. package/dist/node.js +22 -20
  18. package/dist/node.js.map +1 -1
  19. package/dist/{world-Nl5BmMma.d.ts → world-NqdA4pfW.d.ts} +9 -1
  20. package/out/AccessControl.t.sol/AccessControlTest.json +1 -1
  21. package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json +1 -1
  22. package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json.d.ts +1 -1
  23. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  24. package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.abi.json +7 -0
  25. package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.abi.json.d.ts +9 -0
  26. package/out/AccessManagementSystemLib.sol/AccessManagementSystemLib.json +1 -0
  27. package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.abi.json +20 -0
  28. package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.abi.json.d.ts +22 -0
  29. package/out/AccessManagementSystemLib.sol/_grantAccess_ResourceId_address.json +1 -0
  30. package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.abi.json +15 -0
  31. package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.abi.json.d.ts +17 -0
  32. package/out/AccessManagementSystemLib.sol/_renounceOwnership_ResourceId.json +1 -0
  33. package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.abi.json +20 -0
  34. package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.abi.json.d.ts +22 -0
  35. package/out/AccessManagementSystemLib.sol/_revokeAccess_ResourceId_address.json +1 -0
  36. package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.abi.json +20 -0
  37. package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.abi.json.d.ts +22 -0
  38. package/out/AccessManagementSystemLib.sol/_transferOwnership_ResourceId_address.json +1 -0
  39. package/out/AddressArray.sol/AddressArray.json +1 -1
  40. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json +1 -1
  41. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json.d.ts +1 -1
  42. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  43. package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.abi.json +7 -0
  44. package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.abi.json.d.ts +9 -0
  45. package/out/BalanceTransferSystemLib.sol/BalanceTransferSystemLib.json +1 -0
  46. package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.abi.json +25 -0
  47. package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.abi.json.d.ts +27 -0
  48. package/out/BalanceTransferSystemLib.sol/_transferBalanceToAddress_ResourceId_address_uint256.json +1 -0
  49. package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.abi.json +25 -0
  50. package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.abi.json.d.ts +27 -0
  51. package/out/BalanceTransferSystemLib.sol/_transferBalanceToNamespace_ResourceId_ResourceId_uint256.json +1 -0
  52. package/out/Balances.sol/Balances.json +1 -1
  53. package/out/BatchCall.t.sol/BatchCallTest.json +1 -1
  54. package/out/BatchCall.t.sol/TestSystem.abi.json +1 -1
  55. package/out/BatchCall.t.sol/TestSystem.abi.json.d.ts +1 -1
  56. package/out/BatchCall.t.sol/TestSystem.json +1 -1
  57. package/out/BatchCallSystem.sol/BatchCallSystem.abi.json +1 -1
  58. package/out/BatchCallSystem.sol/BatchCallSystem.abi.json.d.ts +1 -1
  59. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  60. package/out/BatchCallSystemLib.sol/BatchCallSystemLib.abi.json +7 -0
  61. package/out/BatchCallSystemLib.sol/BatchCallSystemLib.abi.json.d.ts +9 -0
  62. package/out/BatchCallSystemLib.sol/BatchCallSystemLib.json +1 -0
  63. package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.abi.json +32 -0
  64. package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.abi.json.d.ts +34 -0
  65. package/out/BatchCallSystemLib.sol/_batchCallFrom_SystemCallFromDataArray.json +1 -0
  66. package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.abi.json +27 -0
  67. package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.abi.json.d.ts +29 -0
  68. package/out/BatchCallSystemLib.sol/_batchCall_SystemCallDataArray.json +1 -0
  69. package/out/Bool.sol/Bool.json +1 -1
  70. package/out/Create2Factory.sol/Create2Factory.json +1 -1
  71. package/out/Delegation.sol/Delegation.json +1 -1
  72. package/out/DelegationControl.sol/DelegationControl.abi.json +1 -1
  73. package/out/DelegationControl.sol/DelegationControl.abi.json.d.ts +1 -1
  74. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  75. package/out/DelegationControlMock.sol/DelegationControlMock.abi.json +1 -1
  76. package/out/DelegationControlMock.sol/DelegationControlMock.abi.json.d.ts +1 -1
  77. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  78. package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
  79. package/out/Factories.t.sol/FactoriesTest.json +1 -1
  80. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  81. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  82. package/out/GasReporter.sol/GasReporter.json +1 -1
  83. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
  84. package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
  85. package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
  86. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
  87. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
  88. package/out/IRegistrationSystem.sol/IRegistrationSystem.json +1 -1
  89. package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.abi.json +81 -0
  90. package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.abi.json.d.ts +83 -0
  91. package/out/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.json +1 -0
  92. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  93. package/out/InitModule.sol/InitModule.abi.json +1 -1
  94. package/out/InitModule.sol/InitModule.abi.json.d.ts +1 -1
  95. package/out/InitModule.sol/InitModule.json +1 -1
  96. package/out/InitModule.t.sol/InitModuleTest.json +1 -1
  97. package/out/InitModule.t.sol/WorldMock.json +1 -1
  98. package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
  99. package/out/InitSystems.t.sol/LimitedCallContextTest.json +1 -1
  100. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  101. package/out/LimitedCallContext.sol/LimitedCallContext.json +1 -1
  102. package/out/Module.sol/Module.abi.json +1 -1
  103. package/out/Module.sol/Module.abi.json.d.ts +1 -1
  104. package/out/Module.sol/Module.json +1 -1
  105. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json +1 -1
  106. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json.d.ts +1 -1
  107. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  108. package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.abi.json +7 -0
  109. package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.abi.json.d.ts +9 -0
  110. package/out/ModuleInstallationSystemLib.sol/ModuleInstallationSystemLib.json +1 -0
  111. package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.abi.json +20 -0
  112. package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.abi.json.d.ts +22 -0
  113. package/out/ModuleInstallationSystemLib.sol/_installModule_IModule_bytes.json +1 -0
  114. package/out/MudTest.t.sol/MudTest.json +1 -1
  115. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  116. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  117. package/out/RegistrationSystem.sol/RegistrationSystem.abi.json +1 -1
  118. package/out/RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts +1 -1
  119. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  120. package/out/RegistrationSystemLib.sol/RegistrationSystemLib.abi.json +7 -0
  121. package/out/RegistrationSystemLib.sol/RegistrationSystemLib.abi.json.d.ts +9 -0
  122. package/out/RegistrationSystemLib.sol/RegistrationSystemLib.json +1 -0
  123. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  124. package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
  125. package/out/RevertWithBytes.t.sol/RevertWithBytesTest.json +1 -1
  126. package/out/StdError.sol/stdError.json +1 -1
  127. package/out/StoreMock.sol/StoreMock.json +1 -1
  128. package/out/StoreRead.sol/StoreRead.json +1 -1
  129. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +1 -1
  130. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +1 -1
  131. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  132. package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.abi.json +7 -0
  133. package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.abi.json.d.ts +9 -0
  134. package/out/StoreRegistrationSystemLib.sol/StoreRegistrationSystemLib.json +1 -0
  135. package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.abi.json +25 -0
  136. package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.abi.json.d.ts +27 -0
  137. package/out/StoreRegistrationSystemLib.sol/_registerStoreHook_ResourceId_IStoreHook_uint8.json +1 -0
  138. package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.abi.json +40 -0
  139. package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.abi.json.d.ts +42 -0
  140. package/out/StoreRegistrationSystemLib.sol/_registerTable_ResourceId_FieldLayout_Schema_Schema_stringArray_stringArray.json +1 -0
  141. package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.abi.json +20 -0
  142. package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.abi.json.d.ts +22 -0
  143. package/out/StoreRegistrationSystemLib.sol/_unregisterStoreHook_ResourceId_IStoreHook.json +1 -0
  144. package/out/System.sol/System.abi.json +1 -1
  145. package/out/System.sol/System.abi.json.d.ts +1 -1
  146. package/out/System.sol/System.json +1 -1
  147. package/out/System.t.sol/SystemTest.json +1 -1
  148. package/out/System.t.sol/TestSystem.abi.json +1 -1
  149. package/out/System.t.sol/TestSystem.abi.json.d.ts +1 -1
  150. package/out/System.t.sol/TestSystem.json +1 -1
  151. package/out/SystemCall.sol/SystemCall.json +1 -1
  152. package/out/SystemHook.t.sol/SystemHookTest.json +1 -1
  153. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  154. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  155. package/out/Systems.sol/Systems.json +1 -1
  156. package/out/TwoFields.sol/TwoFields.json +1 -1
  157. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  158. package/out/Utils.t.sol/UtilsTest.json +1 -1
  159. package/out/Utils.t.sol/UtilsTestSystem.abi.json +1 -1
  160. package/out/Utils.t.sol/UtilsTestSystem.abi.json.d.ts +1 -1
  161. package/out/Utils.t.sol/UtilsTestSystem.json +1 -1
  162. package/out/World.sol/World.json +1 -1
  163. package/out/World.t.sol/EchoSystemHook.json +1 -1
  164. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  165. package/out/World.t.sol/PayableFallbackSystem.abi.json +1 -1
  166. package/out/World.t.sol/PayableFallbackSystem.abi.json.d.ts +1 -1
  167. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  168. package/out/World.t.sol/RevertSystemHook.json +1 -1
  169. package/out/World.t.sol/WorldTest.json +1 -1
  170. package/out/World.t.sol/WorldTestSystem.abi.json +1 -1
  171. package/out/World.t.sol/WorldTestSystem.abi.json.d.ts +1 -1
  172. package/out/World.t.sol/WorldTestSystem.json +1 -1
  173. package/out/WorldBalance.t.sol/WorldBalanceTest.json +1 -1
  174. package/out/WorldBalance.t.sol/WorldBalanceTestSystem.abi.json +1 -1
  175. package/out/WorldBalance.t.sol/WorldBalanceTestSystem.abi.json.d.ts +1 -1
  176. package/out/WorldBalance.t.sol/WorldBalanceTestSystem.json +1 -1
  177. package/out/WorldContext.sol/WorldContextConsumer.abi.json +1 -1
  178. package/out/WorldContext.sol/WorldContextConsumer.abi.json.d.ts +1 -1
  179. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  180. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  181. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  182. package/out/WorldContext.t.sol/TestContextConsumer.abi.json +1 -1
  183. package/out/WorldContext.t.sol/TestContextConsumer.abi.json.d.ts +1 -1
  184. package/out/WorldContext.t.sol/TestContextConsumer.json +1 -1
  185. package/out/WorldContext.t.sol/WorldContextTest.json +1 -1
  186. package/out/WorldDynamicUpdate.t.sol/UpdateInDynamicFieldTest.json +1 -1
  187. package/out/WorldFactory.sol/WorldFactory.json +1 -1
  188. package/out/WorldProxy.sol/WorldProxy.json +1 -1
  189. package/out/WorldProxy.t.sol/WorldProxyTest.json +1 -1
  190. package/out/WorldProxyFactory.sol/WorldProxyFactory.json +1 -1
  191. package/out/WorldProxyFactory.t.sol/WorldProxyFactoryTest.json +1 -1
  192. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json +1 -1
  193. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json.d.ts +1 -1
  194. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  195. package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.abi.json +7 -0
  196. package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.abi.json.d.ts +9 -0
  197. package/out/WorldRegistrationSystemLib.sol/WorldRegistrationSystemLib.json +1 -0
  198. package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.abi.json +25 -0
  199. package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.abi.json.d.ts +27 -0
  200. package/out/WorldRegistrationSystemLib.sol/_registerDelegation_address_ResourceId_bytes.json +1 -0
  201. package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.abi.json +20 -0
  202. package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.abi.json.d.ts +22 -0
  203. package/out/WorldRegistrationSystemLib.sol/_registerFunctionSelector_ResourceId_string.json +1 -0
  204. package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.abi.json +25 -0
  205. package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.abi.json.d.ts +27 -0
  206. package/out/WorldRegistrationSystemLib.sol/_registerNamespaceDelegation_ResourceId_ResourceId_bytes.json +1 -0
  207. package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.abi.json +15 -0
  208. package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.abi.json.d.ts +17 -0
  209. package/out/WorldRegistrationSystemLib.sol/_registerNamespace_ResourceId.json +1 -0
  210. package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.abi.json +25 -0
  211. package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.abi.json.d.ts +27 -0
  212. package/out/WorldRegistrationSystemLib.sol/_registerRootFunctionSelector_ResourceId_string_string.json +1 -0
  213. package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.abi.json +25 -0
  214. package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.abi.json.d.ts +27 -0
  215. package/out/WorldRegistrationSystemLib.sol/_registerSystemHook_ResourceId_ISystemHook_uint8.json +1 -0
  216. package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.abi.json +25 -0
  217. package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.abi.json.d.ts +27 -0
  218. package/out/WorldRegistrationSystemLib.sol/_registerSystem_ResourceId_System_bool.json +1 -0
  219. package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.abi.json +15 -0
  220. package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.abi.json.d.ts +17 -0
  221. package/out/WorldRegistrationSystemLib.sol/_unregisterDelegation_address.json +1 -0
  222. package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.abi.json +15 -0
  223. package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.abi.json.d.ts +17 -0
  224. package/out/WorldRegistrationSystemLib.sol/_unregisterNamespaceDelegation_ResourceId.json +1 -0
  225. package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.abi.json +20 -0
  226. package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.abi.json.d.ts +22 -0
  227. package/out/WorldRegistrationSystemLib.sol/_unregisterSystemHook_ResourceId_ISystemHook.json +1 -0
  228. package/out/WorldResourceId.t.sol/WorldResourceIdTest.json +1 -1
  229. package/out/build-info/{43a8dd5c87606a54984bccbb9ca78a38.json → 6366a746548e984842b93ef762b76b99.json} +1 -1
  230. package/out/test.sol/DSTest.json +1 -1
  231. package/package.json +9 -9
  232. package/src/WorldContext.sol +1 -1
  233. package/src/codegen/experimental/systems/AccessManagementSystemLib.sol +182 -0
  234. package/src/codegen/experimental/systems/BalanceTransferSystemLib.sol +169 -0
  235. package/src/codegen/experimental/systems/BatchCallSystemLib.sol +153 -0
  236. package/src/codegen/experimental/systems/ModuleInstallationSystemLib.sol +107 -0
  237. package/src/codegen/experimental/systems/RegistrationSystemLib.sol +71 -0
  238. package/src/codegen/experimental/systems/StoreRegistrationSystemLib.sol +228 -0
  239. package/src/codegen/experimental/systems/WorldRegistrationSystemLib.sol +471 -0
  240. package/src/codegen/interfaces/IStoreRegistrationSystem.sol +29 -0
  241. package/src/modules/init/implementations/ModuleInstallationSystem.sol +1 -1
  242. package/src/modules/init/implementations/StoreRegistrationSystem.sol +2 -1
  243. package/src/modules/init/implementations/WorldRegistrationSystem.sol +1 -1
  244. package/dist/chunk-SGZK356L.js.map +0 -1
  245. package/dist/chunk-XSBK355I.js.map +0 -1
  246. /package/dist/{chunk-2W4TKC47.js.map → chunk-NVV4GS3R.js.map} +0 -0
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"onAfterDeleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSetRecord","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"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceDynamicData","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":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceStaticData","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":"onBeforeDeleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSetRecord","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"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceDynamicData","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":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceStaticData","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":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"HookCalled","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"StoreHook_NotImplemented","inputs":[]}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b50610b8f8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061009f575f3560e01c80636358453311610072578063964f667d11610058578063964f667d1461012b5780639faeaf451461013e578063a8ba872114610151575f80fd5b8063635845331461010557806383b5c95b14610118575f80fd5b806301ffc9a7146100a357806355eb5a28146100ca57806357066c9c146100df5780635b28cdaf146100f2575b5f80fd5b6100b66100b136600461061c565b610164565b604051901515815260200160405180910390f35b6100dd6100d83660046107c2565b6101fc565b005b6100dd6100ed36600461086e565b6102b4565b6100dd61010036600461086e565b610369565b6100dd6101133660046107c2565b6103c1565b6100dd61012636600461090b565b61041b565b6100dd610139366004610957565b6104c7565b6100dd61014c36600461090b565b610576565b6100dd61015f366004610957565b6105c8565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f657507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166355eb5a28898989898989896040516024016102569796959493929190610a5b565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516102a39250610ab8565b60405180910390a150505050505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166357066c9c88888888888860405160240161030c96959493929190610aca565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516103599250610ab8565b60405180910390a1505050505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff16635b28cdaf88888888888860405160240161030c96959493929190610aca565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166363584533898989898989896040516024016102569796959493929190610a5b565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166383b5c95b85858560405160240161046d93929190610b22565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516104ba9250610ab8565b60405180910390a1505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff1663964f667d8686868660405160240161051b9493929190610b4a565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516105689250610ab8565b60405180910390a150505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff16639faeaf4585858560405160240161046d93929190610b22565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff1663a8ba87218686868660405160240161051b9493929190610b4a565b5f6020828403121561062c575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461065b575f80fd5b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156106b8576106b8610662565b604052919050565b5f82601f8301126106cf575f80fd5b8135602067ffffffffffffffff8211156106eb576106eb610662565b8160051b6106fa82820161068f565b9283528481018201928281019087851115610713575f80fd5b83870192505b8483101561073257823582529183019190830190610719565b979650505050505050565b803564ffffffffff81168114610751575f80fd5b919050565b5f82601f830112610765575f80fd5b813567ffffffffffffffff81111561077f5761077f610662565b6107926020601f19601f8401160161068f565b8181528460208386010111156107a6575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f805f60e0888a0312156107d8575f80fd5b87359650602088013567ffffffffffffffff808211156107f6575f80fd5b6108028b838c016106c0565b975060408a0135915060ff82168214610819575f80fd5b81965061082860608b0161073d565b955061083660808b0161073d565b945060a08a0135935060c08a0135915080821115610852575f80fd5b5061085f8a828b01610756565b91505092959891949750929550565b5f805f805f8060c08789031215610883575f80fd5b86359550602087013567ffffffffffffffff808211156108a1575f80fd5b6108ad8a838b016106c0565b965060408901359150808211156108c2575f80fd5b6108ce8a838b01610756565b95506060890135945060808901359150808211156108ea575f80fd5b506108f789828a01610756565b92505060a087013590509295509295509295565b5f805f6060848603121561091d575f80fd5b83359250602084013567ffffffffffffffff81111561093a575f80fd5b610946868287016106c0565b925050604084013590509250925092565b5f805f806080858703121561096a575f80fd5b84359350602085013567ffffffffffffffff80821115610988575f80fd5b610994888389016106c0565b94506040870135915065ffffffffffff821682146109b0575f80fd5b909250606086013590808211156109c5575f80fd5b506109d287828801610756565b91505092959194509250565b5f815180845260208085019450602084015f5b83811015610a0d578151875295820195908201906001016109f1565b509495945050505050565b5f81518084525f5b81811015610a3c57602081850181015186830182015201610a20565b505f602082860101526020601f19601f83011685010191505092915050565b87815260e060208201525f610a7360e08301896109de565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152610aaa8185610a18565b9a9950505050505050505050565b602081525f61065b6020830184610a18565b86815260c060208201525f610ae260c08301886109de565b8281036040840152610af48188610a18565b90508560608401528281036080840152610b0e8186610a18565b9150508260a0830152979650505050505050565b838152606060208201525f610b3a60608301856109de565b9050826040830152949350505050565b848152608060208201525f610b6260808301866109de565b65ffffffffffff8516604084015282810360608401526107328185610a1856fea164736f6c6343000818000a","sourceMap":"276:2725:43:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061009f575f3560e01c80636358453311610072578063964f667d11610058578063964f667d1461012b5780639faeaf451461013e578063a8ba872114610151575f80fd5b8063635845331461010557806383b5c95b14610118575f80fd5b806301ffc9a7146100a357806355eb5a28146100ca57806357066c9c146100df5780635b28cdaf146100f2575b5f80fd5b6100b66100b136600461061c565b610164565b604051901515815260200160405180910390f35b6100dd6100d83660046107c2565b6101fc565b005b6100dd6100ed36600461086e565b6102b4565b6100dd61010036600461086e565b610369565b6100dd6101133660046107c2565b6103c1565b6100dd61012636600461090b565b61041b565b6100dd610139366004610957565b6104c7565b6100dd61014c36600461090b565b610576565b6100dd61015f366004610957565b6105c8565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f657507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166355eb5a28898989898989896040516024016102569796959493929190610a5b565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516102a39250610ab8565b60405180910390a150505050505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166357066c9c88888888888860405160240161030c96959493929190610aca565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516103599250610ab8565b60405180910390a1505050505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff16635b28cdaf88888888888860405160240161030c96959493929190610aca565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166363584533898989898989896040516024016102569796959493929190610a5b565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166383b5c95b85858560405160240161046d93929190610b22565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516104ba9250610ab8565b60405180910390a1505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff1663964f667d8686868660405160240161051b9493929190610b4a565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516105689250610ab8565b60405180910390a150505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff16639faeaf4585858560405160240161046d93929190610b22565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff1663a8ba87218686868660405160240161051b9493929190610b4a565b5f6020828403121561062c575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461065b575f80fd5b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156106b8576106b8610662565b604052919050565b5f82601f8301126106cf575f80fd5b8135602067ffffffffffffffff8211156106eb576106eb610662565b8160051b6106fa82820161068f565b9283528481018201928281019087851115610713575f80fd5b83870192505b8483101561073257823582529183019190830190610719565b979650505050505050565b803564ffffffffff81168114610751575f80fd5b919050565b5f82601f830112610765575f80fd5b813567ffffffffffffffff81111561077f5761077f610662565b6107926020601f19601f8401160161068f565b8181528460208386010111156107a6575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f805f60e0888a0312156107d8575f80fd5b87359650602088013567ffffffffffffffff808211156107f6575f80fd5b6108028b838c016106c0565b975060408a0135915060ff82168214610819575f80fd5b81965061082860608b0161073d565b955061083660808b0161073d565b945060a08a0135935060c08a0135915080821115610852575f80fd5b5061085f8a828b01610756565b91505092959891949750929550565b5f805f805f8060c08789031215610883575f80fd5b86359550602087013567ffffffffffffffff808211156108a1575f80fd5b6108ad8a838b016106c0565b965060408901359150808211156108c2575f80fd5b6108ce8a838b01610756565b95506060890135945060808901359150808211156108ea575f80fd5b506108f789828a01610756565b92505060a087013590509295509295509295565b5f805f6060848603121561091d575f80fd5b83359250602084013567ffffffffffffffff81111561093a575f80fd5b610946868287016106c0565b925050604084013590509250925092565b5f805f806080858703121561096a575f80fd5b84359350602085013567ffffffffffffffff80821115610988575f80fd5b610994888389016106c0565b94506040870135915065ffffffffffff821682146109b0575f80fd5b909250606086013590808211156109c5575f80fd5b506109d287828801610756565b91505092959194509250565b5f815180845260208085019450602084015f5b83811015610a0d578151875295820195908201906001016109f1565b509495945050505050565b5f81518084525f5b81811015610a3c57602081850181015186830182015201610a20565b505f602082860101526020601f19601f83011685010191505092915050565b87815260e060208201525f610a7360e08301896109de565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152610aaa8185610a18565b9a9950505050505050505050565b602081525f61065b6020830184610a18565b86815260c060208201525f610ae260c08301886109de565b8281036040840152610af48188610a18565b90508560608401528281036080840152610b0e8186610a18565b9150508260a0830152979650505050505050565b838152606060208201525f610b3a60608301856109de565b9050826040830152949350505050565b848152608060208201525f610b6260808301866109de565b65ffffffffffff8516604084015282810360608401526107328185610a1856fea164736f6c6343000818000a","sourceMap":"276:2725:43:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;931:187:26;;;;;;:::i;:::-;;:::i;:::-;;;516:14:162;;509:22;491:41;;479:2;464:18;931:187:26;;;;;;;1627:453:43;;;;;;:::i;:::-;;:::i;:::-;;345:378;;;;;;:::i;:::-;;:::i;727:376::-;;;;;;:::i;:::-;;:::i;2084:451::-;;;;;;:::i;:::-;;:::i;2780:219::-;;;;;;:::i;:::-;;:::i;1107:257::-;;;;;;:::i;:::-;;:::i;2539:237::-;;;;;;:::i;:::-;;:::i;1368:255::-;;;;;;:::i;:::-;;:::i;931:187:26:-;1007:4;1026:43;;;1041:28;1026:43;;:87;;-1:-1:-1;1073:40:26;;;1088:25;1073:40;1026:87;1019:94;931:187;-1:-1:-1;;931:187:26:o;1627:453:43:-;1888:187;1930:4;:30;;;1971:7;1980:8;1990:17;2009:16;2027:11;2040:14;2056:4;1906:163;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1906:163:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;1888:187;;;;-1:-1:-1;1888:187:43;:::i;:::-;;;;;;;;1627:453;;;;;;;:::o;345:378::-;581:137;614:4;:22;;;639:7;648:8;658:10;670:14;686:11;699;599:113;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;599:113:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;581:137;;;;-1:-1:-1;581:137:43;:::i;:::-;;;;;;;;345:378;;;;;;:::o;727:376::-;962:136;995:4;:21;;;1019:7;1028:8;1038:10;1050:14;1066:11;1079;980:112;;;;;;;;;;;;;:::i;2084:451::-;2344:186;2386:4;:29;;;2426:7;2435:8;2445:17;2464:16;2482:11;2495:14;2511:4;2362:162;;;;;;;;;;;;;;:::i;2780:219::-;2908:86;2934:4;:24;;;2961:7;2970:8;2980:11;2919:74;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2919:74:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;2908:86;;;;-1:-1:-1;2908:86:43;:::i;:::-;;;;;;;;2780:219;;;:::o;1107:257::-;1268:91;1294:4;:29;;;1326:7;1335:8;1345:5;1352:4;1279:79;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1279:79:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;1268:91;;;;-1:-1:-1;1268:91:43;:::i;:::-;;;;;;;;1107:257;;;;:::o;2539:237::-;2684:87;2710:4;:25;;;2738:7;2747:8;2757:11;2695:75;;;;;;;;;;:::i;1368:255::-;1528:90;1554:4;:28;;;1585:7;1594:8;1604:5;1611:4;1539:78;;;;;;;;;;;:::i;14:332:162:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:162:o;543:184::-;595:77;592:1;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:334;803:2;797:9;859:2;849:13;;-1:-1:-1;;845:86:162;833:99;;962:18;947:34;;983:22;;;944:62;941:88;;;1009:18;;:::i;:::-;1045:2;1038:22;732:334;;-1:-1:-1;732:334:162:o;1071:712::-;1125:5;1178:3;1171:4;1163:6;1159:17;1155:27;1145:55;;1196:1;1193;1186:12;1145:55;1232:6;1219:20;1258:4;1281:18;1277:2;1274:26;1271:52;;;1303:18;;:::i;:::-;1349:2;1346:1;1342:10;1372:28;1396:2;1392;1388:11;1372:28;:::i;:::-;1434:15;;;1504;;;1500:24;;;1465:12;;;;1536:15;;;1533:35;;;1564:1;1561;1554:12;1533:35;1600:2;1592:6;1588:15;1577:26;;1612:142;1628:6;1623:3;1620:15;1612:142;;;1694:17;;1682:30;;1645:12;;;;1732;;;;1612:142;;;1772:5;1071:712;-1:-1:-1;;;;;;;1071:712:162:o;1788:165::-;1855:20;;1915:12;1904:24;;1894:35;;1884:63;;1943:1;1940;1933:12;1884:63;1788:165;;;:::o;1958:589::-;2000:5;2053:3;2046:4;2038:6;2034:17;2030:27;2020:55;;2071:1;2068;2061:12;2020:55;2107:6;2094:20;2133:18;2129:2;2126:26;2123:52;;;2155:18;;:::i;:::-;2199:114;2307:4;-1:-1:-1;;2231:4:162;2227:2;2223:13;2219:86;2215:97;2199:114;:::i;:::-;2338:2;2329:7;2322:19;2384:3;2377:4;2372:2;2364:6;2360:15;2356:26;2353:35;2350:55;;;2401:1;2398;2391:12;2350:55;2466:2;2459:4;2451:6;2447:17;2440:4;2431:7;2427:18;2414:55;2514:1;2489:16;;;2507:4;2485:27;2478:38;;;;2493:7;1958:589;-1:-1:-1;;;1958:589:162:o;2552:1074::-;2761:6;2769;2777;2785;2793;2801;2809;2862:3;2850:9;2841:7;2837:23;2833:33;2830:53;;;2879:1;2876;2869:12;2830:53;2915:9;2902:23;2892:33;;2976:2;2965:9;2961:18;2948:32;2999:18;3040:2;3032:6;3029:14;3026:34;;;3056:1;3053;3046:12;3026:34;3079:61;3132:7;3123:6;3112:9;3108:22;3079:61;:::i;:::-;3069:71;;3190:2;3179:9;3175:18;3162:32;3149:45;;3234:4;3227:5;3223:16;3216:5;3213:27;3203:55;;3254:1;3251;3244:12;3203:55;3277:5;3267:15;;3301:37;3334:2;3323:9;3319:18;3301:37;:::i;:::-;3291:47;;3357:38;3390:3;3379:9;3375:19;3357:38;:::i;:::-;3347:48;;3442:3;3431:9;3427:19;3414:33;3404:43;;3500:3;3489:9;3485:19;3472:33;3456:49;;3530:2;3520:8;3517:16;3514:36;;;3546:1;3543;3536:12;3514:36;;3569:51;3612:7;3601:8;3590:9;3586:24;3569:51;:::i;:::-;3559:61;;;2552:1074;;;;;;;;;;:::o;3631:1070::-;3876:6;3884;3892;3900;3908;3916;3969:3;3957:9;3948:7;3944:23;3940:33;3937:53;;;3986:1;3983;3976:12;3937:53;4022:9;4009:23;3999:33;;4083:2;4072:9;4068:18;4055:32;4106:18;4147:2;4139:6;4136:14;4133:34;;;4163:1;4160;4153:12;4133:34;4186:61;4239:7;4230:6;4219:9;4215:22;4186:61;:::i;:::-;4176:71;;4300:2;4289:9;4285:18;4272:32;4256:48;;4329:2;4319:8;4316:16;4313:36;;;4345:1;4342;4335:12;4313:36;4368:51;4411:7;4400:8;4389:9;4385:24;4368:51;:::i;:::-;4358:61;;4466:2;4455:9;4451:18;4438:32;4428:42;;4523:3;4512:9;4508:19;4495:33;4479:49;;4553:2;4543:8;4540:16;4537:36;;;4569:1;4566;4559:12;4537:36;;4592:51;4635:7;4624:8;4613:9;4609:24;4592:51;:::i;:::-;4582:61;;;4690:3;4679:9;4675:19;4662:33;4652:43;;3631:1070;;;;;;;;:::o;4706:547::-;4871:6;4879;4887;4940:2;4928:9;4919:7;4915:23;4911:32;4908:52;;;4956:1;4953;4946:12;4908:52;4992:9;4979:23;4969:33;;5053:2;5042:9;5038:18;5025:32;5080:18;5072:6;5069:30;5066:50;;;5112:1;5109;5102:12;5066:50;5135:61;5188:7;5179:6;5168:9;5164:22;5135:61;:::i;:::-;5125:71;;;5243:2;5232:9;5228:18;5215:32;5205:42;;4706:547;;;;;:::o;5258:835::-;5408:6;5416;5424;5432;5485:3;5473:9;5464:7;5460:23;5456:33;5453:53;;;5502:1;5499;5492:12;5453:53;5538:9;5525:23;5515:33;;5599:2;5588:9;5584:18;5571:32;5622:18;5663:2;5655:6;5652:14;5649:34;;;5679:1;5676;5669:12;5649:34;5702:61;5755:7;5746:6;5735:9;5731:22;5702:61;:::i;:::-;5692:71;;5813:2;5802:9;5798:18;5785:32;5772:45;;5857:14;5850:5;5846:26;5839:5;5836:37;5826:65;;5887:1;5884;5877:12;5826:65;5910:5;;-1:-1:-1;5968:2:162;5953:18;;5940:32;;5984:16;;;5981:36;;;6013:1;6010;6003:12;5981:36;;6036:51;6079:7;6068:8;6057:9;6053:24;6036:51;:::i;:::-;6026:61;;;5258:835;;;;;;;:::o;6098:439::-;6151:3;6189:5;6183:12;6216:6;6211:3;6204:19;6242:4;6271;6266:3;6262:14;6255:21;;6310:4;6303:5;6299:16;6333:1;6343:169;6357:6;6354:1;6351:13;6343:169;;;6418:13;;6406:26;;6452:12;;;;6487:15;;;;6379:1;6372:9;6343:169;;;-1:-1:-1;6528:3:162;;6098:439;-1:-1:-1;;;;;6098:439:162:o;6542:481::-;6583:3;6621:5;6615:12;6648:6;6643:3;6636:19;6673:1;6683:162;6697:6;6694:1;6691:13;6683:162;;;6759:4;6815:13;;;6811:22;;6805:29;6787:11;;;6783:20;;6776:59;6712:12;6683:162;;;6687:3;6890:1;6883:4;6874:6;6869:3;6865:16;6861:27;6854:38;7012:4;-1:-1:-1;;6937:2:162;6929:6;6925:15;6921:88;6916:3;6912:98;6908:109;6901:116;;;6542:481;;;;:::o;7028:899::-;7451:6;7440:9;7433:25;7494:3;7489:2;7478:9;7474:18;7467:31;7414:4;7521:57;7573:3;7562:9;7558:19;7550:6;7521:57;:::i;:::-;7626:4;7614:17;;7609:2;7594:18;;7587:45;7651:12;7699:15;;;7694:2;7679:18;;7672:43;7752:15;;7746:3;7731:19;;7724:44;7799:3;7784:19;;7777:35;;;7849:22;;;7843:3;7828:19;;7821:51;7889:32;7853:6;7906;7889:32;:::i;:::-;7881:40;7028:899;-1:-1:-1;;;;;;;;;;7028:899:162:o;7932:217::-;8079:2;8068:9;8061:21;8042:4;8099:44;8139:2;8128:9;8124:18;8116:6;8099:44;:::i;8154:896::-;8607:6;8596:9;8589:25;8650:3;8645:2;8634:9;8630:18;8623:31;8570:4;8677:57;8729:3;8718:9;8714:19;8706:6;8677:57;:::i;:::-;8782:9;8774:6;8770:22;8765:2;8754:9;8750:18;8743:50;8816:32;8841:6;8833;8816:32;:::i;:::-;8802:46;;8884:6;8879:2;8868:9;8864:18;8857:34;8940:9;8932:6;8928:22;8922:3;8911:9;8907:19;8900:51;8968:32;8993:6;8985;8968:32;:::i;:::-;8960:40;;;9037:6;9031:3;9020:9;9016:19;9009:35;8154:896;;;;;;;;;:::o;9055:466::-;9353:6;9342:9;9335:25;9396:2;9391;9380:9;9376:18;9369:30;9316:4;9416:56;9468:2;9457:9;9453:18;9445:6;9416:56;:::i;:::-;9408:64;;9508:6;9503:2;9492:9;9488:18;9481:34;9055:466;;;;;;:::o;9526:615::-;9836:6;9825:9;9818:25;9879:3;9874:2;9863:9;9859:18;9852:31;9799:4;9906:57;9958:3;9947:9;9943:19;9935:6;9906:57;:::i;:::-;10011:14;10003:6;9999:27;9994:2;9983:9;9979:18;9972:55;10075:9;10067:6;10063:22;10058:2;10047:9;10043:18;10036:50;10103:32;10128:6;10120;10103:32;:::i","linkReferences":{}},"methodIdentifiers":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":"83b5c95b","onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"5b28cdaf","onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"63584533","onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"a8ba8721","onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":"9faeaf45","onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"57066c9c","onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"55eb5a28","onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"964f667d","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"StoreHook_NotImplemented\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"HookCalled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is to be deleted.\"}},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record was set.\"}},\"onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)\":{\"details\":\"This function should be overridden to provide custom logic. Splice operations in dynamic data always reach the end of the dynamic data to avoid shifting data after the inserted or deleted data.\",\"params\":{\"data\":\"The data to be inserted into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the dynamic data of the record.\",\"dynamicFieldIndex\":\"The index of the dynamic field.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"startWithinField\":\"The start byte position within the field for splicing.\",\"tableId\":\"The ID of the table where the data is to be spliced.\"}},\"onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"This function should be overridden to provide custom logic. Splice operations in static data always overwrite data starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to be written to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start byte position for splicing.\",\"tableId\":\"The ID of the table where the data is to be spliced.\"}},\"onBeforeDeleteRecord(bytes32,bytes32[],bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is to be deleted.\"}},\"onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is to be set.\"}},\"onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)\":{\"details\":\"This function should be overridden to provide custom logic. Splice operations in dynamic data always reach the end of the dynamic data to avoid shifting data after the inserted or deleted data.\",\"params\":{\"data\":\"The data to be inserted into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the dynamic data of the record.\",\"dynamicFieldIndex\":\"The index of the dynamic field.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"startWithinField\":\"The start byte position within the field for splicing.\",\"tableId\":\"The ID of the table where the data is to be spliced.\"}},\"onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"This function should be overridden to provide custom logic. Splice operations in static data always overwrite data starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to be written to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start byte position for splicing.\",\"tableId\":\"The ID of the table where the data is to be spliced.\"}},\"supportsInterface(bytes4)\":{\"details\":\"This function is a part of the ERC-165 standard.\",\"params\":{\"interfaceId\":\"The ID of the interface to check.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"StoreHook_NotImplemented()\":[{\"notice\":\"Error emitted when a function is not implemented.\"}]},\"kind\":\"user\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Hook that runs after deleting a record.\"},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"notice\":\"Hook that runs after setting a record.\"},\"onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)\":{\"notice\":\"Hook that runs after splicing dynamic (variable length) data.\"},\"onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Hook that runs after splicing static (fixed length) data.\"},\"onBeforeDeleteRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Hook that runs before deleting a record.\"},\"onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"notice\":\"Hook that runs before setting a record.\"},\"onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)\":{\"notice\":\"Hook that runs before splicing dynamic (variable length) data.\"},\"onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Hook that runs before splicing static (fixed length) data.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Check if the interface is supported.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/store/test/EchoSubscriber.sol\":\"EchoSubscriber\"},\"evmVersion\":\"cancun\",\"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/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x842b07f2ff9df2e1ecf9bf424b0e5a77e1471c983d674cf86b76c365178d6cc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4c2df8853b020aef1bb8615ac69d5512a9b5385b82c88e03b27dc521c9d007b\",\"dweb:/ipfs/QmWEDiJn69DvHsdrikrMWY8DERWPSeWwVYgPcunfq3yiT7\"]},\"node_modules/@latticexyz/store/src/StoreHook.sol\":{\"keccak256\":\"0x5123aae46b3f37ea6d7d567fd82658ea7f58d06a6ebd76aaf358582459f13173\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7223f7ca27353b8d86bd75441df8221383e6966caa7c25f9a802e7623bb5275d\",\"dweb:/ipfs/QmaGmQK5JK2jS2sodKVxWuKiRNrtN8ErbdqE53PDatEDym\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/test/EchoSubscriber.sol\":{\"keccak256\":\"0x81815bcfe30f3671eb7589f83621866e31aad7385b95ef142a70fa2ef1de0fe8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5dc056be61192d38dee67585d3468c69bb72b76d764a844245e98a1c3a642d8\",\"dweb:/ipfs/QmQsJhfbLD8sEeR3X2JF4NqGPsMtmQr32pKR21Tihr67pT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"StoreHook_NotImplemented"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"HookCalled","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceStaticData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceStaticData"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","tableId":"The ID of the table where the record is to be deleted."}},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"dynamicData":"The dynamic data of the record.","encodedLengths":"The encoded lengths of the dynamic data of the record.","fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","staticData":"The static data of the record.","tableId":"The ID of the table where the record was set."}},"onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":{"details":"This function should be overridden to provide custom logic. Splice operations in dynamic data always reach the end of the dynamic data to avoid shifting data after the inserted or deleted data.","params":{"data":"The data to be inserted into the dynamic data of the record at the start byte.","deleteCount":"The number of bytes to delete in the dynamic data of the record.","dynamicFieldIndex":"The index of the dynamic field.","encodedLengths":"The encoded lengths of the dynamic data of the record.","keyTuple":"An array representing the composite key for the record.","startWithinField":"The start byte position within the field for splicing.","tableId":"The ID of the table where the data is to be spliced."}},"onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":{"details":"This function should be overridden to provide custom logic. Splice operations in static data always overwrite data starting at the start position, so the total length of the data remains the same and no data is shifted.","params":{"data":"The data to be written to the static data of the record at the start byte.","keyTuple":"An array representing the composite key for the record.","start":"The start byte position for splicing.","tableId":"The ID of the table where the data is to be spliced."}},"onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","tableId":"The ID of the table where the record is to be deleted."}},"onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"dynamicData":"The dynamic data of the record.","encodedLengths":"The encoded lengths of the dynamic data of the record.","fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","staticData":"The static data of the record.","tableId":"The ID of the table where the record is to be set."}},"onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":{"details":"This function should be overridden to provide custom logic. Splice operations in dynamic data always reach the end of the dynamic data to avoid shifting data after the inserted or deleted data.","params":{"data":"The data to be inserted into the dynamic data of the record at the start byte.","deleteCount":"The number of bytes to delete in the dynamic data of the record.","dynamicFieldIndex":"The index of the dynamic field.","encodedLengths":"The encoded lengths of the dynamic data of the record.","keyTuple":"An array representing the composite key for the record.","startWithinField":"The start byte position within the field for splicing.","tableId":"The ID of the table where the data is to be spliced."}},"onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":{"details":"This function should be overridden to provide custom logic. Splice operations in static data always overwrite data starting at the start position, so the total length of the data remains the same and no data is shifted.","params":{"data":"The data to be written to the static data of the record at the start byte.","keyTuple":"An array representing the composite key for the record.","start":"The start byte position for splicing.","tableId":"The ID of the table where the data is to be spliced."}},"supportsInterface(bytes4)":{"details":"This function is a part of the ERC-165 standard.","params":{"interfaceId":"The ID of the interface to check."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"notice":"Hook that runs after deleting a record."},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"notice":"Hook that runs after setting a record."},"onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":{"notice":"Hook that runs after splicing dynamic (variable length) data."},"onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":{"notice":"Hook that runs after splicing static (fixed length) data."},"onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":{"notice":"Hook that runs before deleting a record."},"onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"notice":"Hook that runs before setting a record."},"onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":{"notice":"Hook that runs before splicing dynamic (variable length) data."},"onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":{"notice":"Hook that runs before splicing static (fixed length) data."},"supportsInterface(bytes4)":{"notice":"Check if the interface is supported."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/store/test/EchoSubscriber.sol":"EchoSubscriber"},"evmVersion":"cancun","libraries":{}},"sources":{"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x842b07f2ff9df2e1ecf9bf424b0e5a77e1471c983d674cf86b76c365178d6cc5","urls":["bzz-raw://f4c2df8853b020aef1bb8615ac69d5512a9b5385b82c88e03b27dc521c9d007b","dweb:/ipfs/QmWEDiJn69DvHsdrikrMWY8DERWPSeWwVYgPcunfq3yiT7"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreHook.sol":{"keccak256":"0x5123aae46b3f37ea6d7d567fd82658ea7f58d06a6ebd76aaf358582459f13173","urls":["bzz-raw://7223f7ca27353b8d86bd75441df8221383e6966caa7c25f9a802e7623bb5275d","dweb:/ipfs/QmaGmQK5JK2jS2sodKVxWuKiRNrtN8ErbdqE53PDatEDym"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/test/EchoSubscriber.sol":{"keccak256":"0x81815bcfe30f3671eb7589f83621866e31aad7385b95ef142a70fa2ef1de0fe8","urls":["bzz-raw://a5dc056be61192d38dee67585d3468c69bb72b76d764a844245e98a1c3a642d8","dweb:/ipfs/QmQsJhfbLD8sEeR3X2JF4NqGPsMtmQr32pKR21Tihr67pT"],"license":"MIT"}},"version":1},"id":43}
1
+ {"abi":[{"type":"function","name":"onAfterDeleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSetRecord","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"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceDynamicData","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":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onAfterSpliceStaticData","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":"onBeforeDeleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSetRecord","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"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceDynamicData","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":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeSpliceStaticData","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":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"HookCalled","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"StoreHook_NotImplemented","inputs":[]}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b50610b8f8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061009f575f3560e01c80636358453311610072578063964f667d11610058578063964f667d1461012b5780639faeaf451461013e578063a8ba872114610151575f80fd5b8063635845331461010557806383b5c95b14610118575f80fd5b806301ffc9a7146100a357806355eb5a28146100ca57806357066c9c146100df5780635b28cdaf146100f2575b5f80fd5b6100b66100b136600461061c565b610164565b604051901515815260200160405180910390f35b6100dd6100d83660046107c2565b6101fc565b005b6100dd6100ed36600461086e565b6102b4565b6100dd61010036600461086e565b610369565b6100dd6101133660046107c2565b6103c1565b6100dd61012636600461090b565b61041b565b6100dd610139366004610957565b6104c7565b6100dd61014c36600461090b565b610576565b6100dd61015f366004610957565b6105c8565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f657507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166355eb5a28898989898989896040516024016102569796959493929190610a5b565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516102a39250610ab8565b60405180910390a150505050505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166357066c9c88888888888860405160240161030c96959493929190610aca565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516103599250610ab8565b60405180910390a1505050505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff16635b28cdaf88888888888860405160240161030c96959493929190610aca565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166363584533898989898989896040516024016102569796959493929190610a5b565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166383b5c95b85858560405160240161046d93929190610b22565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516104ba9250610ab8565b60405180910390a1505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff1663964f667d8686868660405160240161051b9493929190610b4a565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516105689250610ab8565b60405180910390a150505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff16639faeaf4585858560405160240161046d93929190610b22565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff1663a8ba87218686868660405160240161051b9493929190610b4a565b5f6020828403121561062c575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461065b575f80fd5b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156106b8576106b8610662565b604052919050565b5f82601f8301126106cf575f80fd5b8135602067ffffffffffffffff8211156106eb576106eb610662565b8160051b6106fa82820161068f565b9283528481018201928281019087851115610713575f80fd5b83870192505b8483101561073257823582529183019190830190610719565b979650505050505050565b803564ffffffffff81168114610751575f80fd5b919050565b5f82601f830112610765575f80fd5b813567ffffffffffffffff81111561077f5761077f610662565b6107926020601f19601f8401160161068f565b8181528460208386010111156107a6575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f805f60e0888a0312156107d8575f80fd5b87359650602088013567ffffffffffffffff808211156107f6575f80fd5b6108028b838c016106c0565b975060408a0135915060ff82168214610819575f80fd5b81965061082860608b0161073d565b955061083660808b0161073d565b945060a08a0135935060c08a0135915080821115610852575f80fd5b5061085f8a828b01610756565b91505092959891949750929550565b5f805f805f8060c08789031215610883575f80fd5b86359550602087013567ffffffffffffffff808211156108a1575f80fd5b6108ad8a838b016106c0565b965060408901359150808211156108c2575f80fd5b6108ce8a838b01610756565b95506060890135945060808901359150808211156108ea575f80fd5b506108f789828a01610756565b92505060a087013590509295509295509295565b5f805f6060848603121561091d575f80fd5b83359250602084013567ffffffffffffffff81111561093a575f80fd5b610946868287016106c0565b925050604084013590509250925092565b5f805f806080858703121561096a575f80fd5b84359350602085013567ffffffffffffffff80821115610988575f80fd5b610994888389016106c0565b94506040870135915065ffffffffffff821682146109b0575f80fd5b909250606086013590808211156109c5575f80fd5b506109d287828801610756565b91505092959194509250565b5f815180845260208085019450602084015f5b83811015610a0d578151875295820195908201906001016109f1565b509495945050505050565b5f81518084525f5b81811015610a3c57602081850181015186830182015201610a20565b505f602082860101526020601f19601f83011685010191505092915050565b87815260e060208201525f610a7360e08301896109de565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152610aaa8185610a18565b9a9950505050505050505050565b602081525f61065b6020830184610a18565b86815260c060208201525f610ae260c08301886109de565b8281036040840152610af48188610a18565b90508560608401528281036080840152610b0e8186610a18565b9150508260a0830152979650505050505050565b838152606060208201525f610b3a60608301856109de565b9050826040830152949350505050565b848152608060208201525f610b6260808301866109de565b65ffffffffffff8516604084015282810360608401526107328185610a1856fea164736f6c6343000818000a","sourceMap":"276:2725:43:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061009f575f3560e01c80636358453311610072578063964f667d11610058578063964f667d1461012b5780639faeaf451461013e578063a8ba872114610151575f80fd5b8063635845331461010557806383b5c95b14610118575f80fd5b806301ffc9a7146100a357806355eb5a28146100ca57806357066c9c146100df5780635b28cdaf146100f2575b5f80fd5b6100b66100b136600461061c565b610164565b604051901515815260200160405180910390f35b6100dd6100d83660046107c2565b6101fc565b005b6100dd6100ed36600461086e565b6102b4565b6100dd61010036600461086e565b610369565b6100dd6101133660046107c2565b6103c1565b6100dd61012636600461090b565b61041b565b6100dd610139366004610957565b6104c7565b6100dd61014c36600461090b565b610576565b6100dd61015f366004610957565b6105c8565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f1873396a0000000000000000000000000000000000000000000000000000000014806101f657507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166355eb5a28898989898989896040516024016102569796959493929190610a5b565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516102a39250610ab8565b60405180910390a150505050505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166357066c9c88888888888860405160240161030c96959493929190610aca565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516103599250610ab8565b60405180910390a1505050505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff16635b28cdaf88888888888860405160240161030c96959493929190610aca565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166363584533898989898989896040516024016102569796959493929190610a5b565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff166383b5c95b85858560405160240161046d93929190610b22565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516104ba9250610ab8565b60405180910390a1505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff1663964f667d8686868660405160240161051b9493929190610b4a565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516105689250610ab8565b60405180910390a150505050565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff16639faeaf4585858560405160240161046d93929190610b22565b7f6073633690ca0c2f55f2bd96dfca2d9da28331e7a66750110fbed5082a13156e3073ffffffffffffffffffffffffffffffffffffffff1663a8ba87218686868660405160240161051b9493929190610b4a565b5f6020828403121561062c575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461065b575f80fd5b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156106b8576106b8610662565b604052919050565b5f82601f8301126106cf575f80fd5b8135602067ffffffffffffffff8211156106eb576106eb610662565b8160051b6106fa82820161068f565b9283528481018201928281019087851115610713575f80fd5b83870192505b8483101561073257823582529183019190830190610719565b979650505050505050565b803564ffffffffff81168114610751575f80fd5b919050565b5f82601f830112610765575f80fd5b813567ffffffffffffffff81111561077f5761077f610662565b6107926020601f19601f8401160161068f565b8181528460208386010111156107a6575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f805f60e0888a0312156107d8575f80fd5b87359650602088013567ffffffffffffffff808211156107f6575f80fd5b6108028b838c016106c0565b975060408a0135915060ff82168214610819575f80fd5b81965061082860608b0161073d565b955061083660808b0161073d565b945060a08a0135935060c08a0135915080821115610852575f80fd5b5061085f8a828b01610756565b91505092959891949750929550565b5f805f805f8060c08789031215610883575f80fd5b86359550602087013567ffffffffffffffff808211156108a1575f80fd5b6108ad8a838b016106c0565b965060408901359150808211156108c2575f80fd5b6108ce8a838b01610756565b95506060890135945060808901359150808211156108ea575f80fd5b506108f789828a01610756565b92505060a087013590509295509295509295565b5f805f6060848603121561091d575f80fd5b83359250602084013567ffffffffffffffff81111561093a575f80fd5b610946868287016106c0565b925050604084013590509250925092565b5f805f806080858703121561096a575f80fd5b84359350602085013567ffffffffffffffff80821115610988575f80fd5b610994888389016106c0565b94506040870135915065ffffffffffff821682146109b0575f80fd5b909250606086013590808211156109c5575f80fd5b506109d287828801610756565b91505092959194509250565b5f815180845260208085019450602084015f5b83811015610a0d578151875295820195908201906001016109f1565b509495945050505050565b5f81518084525f5b81811015610a3c57602081850181015186830182015201610a20565b505f602082860101526020601f19601f83011685010191505092915050565b87815260e060208201525f610a7360e08301896109de565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152610aaa8185610a18565b9a9950505050505050505050565b602081525f61065b6020830184610a18565b86815260c060208201525f610ae260c08301886109de565b8281036040840152610af48188610a18565b90508560608401528281036080840152610b0e8186610a18565b9150508260a0830152979650505050505050565b838152606060208201525f610b3a60608301856109de565b9050826040830152949350505050565b848152608060208201525f610b6260808301866109de565b65ffffffffffff8516604084015282810360608401526107328185610a1856fea164736f6c6343000818000a","sourceMap":"276:2725:43:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;931:187:26;;;;;;:::i;:::-;;:::i;:::-;;;516:14:170;;509:22;491:41;;479:2;464:18;931:187:26;;;;;;;1627:453:43;;;;;;:::i;:::-;;:::i;:::-;;345:378;;;;;;:::i;:::-;;:::i;727:376::-;;;;;;:::i;:::-;;:::i;2084:451::-;;;;;;:::i;:::-;;:::i;2780:219::-;;;;;;:::i;:::-;;:::i;1107:257::-;;;;;;:::i;:::-;;:::i;2539:237::-;;;;;;:::i;:::-;;:::i;1368:255::-;;;;;;:::i;:::-;;:::i;931:187:26:-;1007:4;1026:43;;;1041:28;1026:43;;:87;;-1:-1:-1;1073:40:26;;;1088:25;1073:40;1026:87;1019:94;931:187;-1:-1:-1;;931:187:26:o;1627:453:43:-;1888:187;1930:4;:30;;;1971:7;1980:8;1990:17;2009:16;2027:11;2040:14;2056:4;1906:163;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1906:163:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;1888:187;;;;-1:-1:-1;1888:187:43;:::i;:::-;;;;;;;;1627:453;;;;;;;:::o;345:378::-;581:137;614:4;:22;;;639:7;648:8;658:10;670:14;686:11;699;599:113;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;599:113:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;581:137;;;;-1:-1:-1;581:137:43;:::i;:::-;;;;;;;;345:378;;;;;;:::o;727:376::-;962:136;995:4;:21;;;1019:7;1028:8;1038:10;1050:14;1066:11;1079;980:112;;;;;;;;;;;;;:::i;2084:451::-;2344:186;2386:4;:29;;;2426:7;2435:8;2445:17;2464:16;2482:11;2495:14;2511:4;2362:162;;;;;;;;;;;;;;:::i;2780:219::-;2908:86;2934:4;:24;;;2961:7;2970:8;2980:11;2919:74;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2919:74:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;2908:86;;;;-1:-1:-1;2908:86:43;:::i;:::-;;;;;;;;2780:219;;;:::o;1107:257::-;1268:91;1294:4;:29;;;1326:7;1335:8;1345:5;1352:4;1279:79;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1279:79:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;1268:91;;;;-1:-1:-1;1268:91:43;:::i;:::-;;;;;;;;1107:257;;;;:::o;2539:237::-;2684:87;2710:4;:25;;;2738:7;2747:8;2757:11;2695:75;;;;;;;;;;:::i;1368:255::-;1528:90;1554:4;:28;;;1585:7;1594:8;1604:5;1611:4;1539:78;;;;;;;;;;;:::i;14:332:170:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:170:o;543:184::-;595:77;592:1;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:334;803:2;797:9;859:2;849:13;;-1:-1:-1;;845:86:170;833:99;;962:18;947:34;;983:22;;;944:62;941:88;;;1009:18;;:::i;:::-;1045:2;1038:22;732:334;;-1:-1:-1;732:334:170:o;1071:712::-;1125:5;1178:3;1171:4;1163:6;1159:17;1155:27;1145:55;;1196:1;1193;1186:12;1145:55;1232:6;1219:20;1258:4;1281:18;1277:2;1274:26;1271:52;;;1303:18;;:::i;:::-;1349:2;1346:1;1342:10;1372:28;1396:2;1392;1388:11;1372:28;:::i;:::-;1434:15;;;1504;;;1500:24;;;1465:12;;;;1536:15;;;1533:35;;;1564:1;1561;1554:12;1533:35;1600:2;1592:6;1588:15;1577:26;;1612:142;1628:6;1623:3;1620:15;1612:142;;;1694:17;;1682:30;;1645:12;;;;1732;;;;1612:142;;;1772:5;1071:712;-1:-1:-1;;;;;;;1071:712:170:o;1788:165::-;1855:20;;1915:12;1904:24;;1894:35;;1884:63;;1943:1;1940;1933:12;1884:63;1788:165;;;:::o;1958:589::-;2000:5;2053:3;2046:4;2038:6;2034:17;2030:27;2020:55;;2071:1;2068;2061:12;2020:55;2107:6;2094:20;2133:18;2129:2;2126:26;2123:52;;;2155:18;;:::i;:::-;2199:114;2307:4;-1:-1:-1;;2231:4:170;2227:2;2223:13;2219:86;2215:97;2199:114;:::i;:::-;2338:2;2329:7;2322:19;2384:3;2377:4;2372:2;2364:6;2360:15;2356:26;2353:35;2350:55;;;2401:1;2398;2391:12;2350:55;2466:2;2459:4;2451:6;2447:17;2440:4;2431:7;2427:18;2414:55;2514:1;2489:16;;;2507:4;2485:27;2478:38;;;;2493:7;1958:589;-1:-1:-1;;;1958:589:170:o;2552:1074::-;2761:6;2769;2777;2785;2793;2801;2809;2862:3;2850:9;2841:7;2837:23;2833:33;2830:53;;;2879:1;2876;2869:12;2830:53;2915:9;2902:23;2892:33;;2976:2;2965:9;2961:18;2948:32;2999:18;3040:2;3032:6;3029:14;3026:34;;;3056:1;3053;3046:12;3026:34;3079:61;3132:7;3123:6;3112:9;3108:22;3079:61;:::i;:::-;3069:71;;3190:2;3179:9;3175:18;3162:32;3149:45;;3234:4;3227:5;3223:16;3216:5;3213:27;3203:55;;3254:1;3251;3244:12;3203:55;3277:5;3267:15;;3301:37;3334:2;3323:9;3319:18;3301:37;:::i;:::-;3291:47;;3357:38;3390:3;3379:9;3375:19;3357:38;:::i;:::-;3347:48;;3442:3;3431:9;3427:19;3414:33;3404:43;;3500:3;3489:9;3485:19;3472:33;3456:49;;3530:2;3520:8;3517:16;3514:36;;;3546:1;3543;3536:12;3514:36;;3569:51;3612:7;3601:8;3590:9;3586:24;3569:51;:::i;:::-;3559:61;;;2552:1074;;;;;;;;;;:::o;3631:1070::-;3876:6;3884;3892;3900;3908;3916;3969:3;3957:9;3948:7;3944:23;3940:33;3937:53;;;3986:1;3983;3976:12;3937:53;4022:9;4009:23;3999:33;;4083:2;4072:9;4068:18;4055:32;4106:18;4147:2;4139:6;4136:14;4133:34;;;4163:1;4160;4153:12;4133:34;4186:61;4239:7;4230:6;4219:9;4215:22;4186:61;:::i;:::-;4176:71;;4300:2;4289:9;4285:18;4272:32;4256:48;;4329:2;4319:8;4316:16;4313:36;;;4345:1;4342;4335:12;4313:36;4368:51;4411:7;4400:8;4389:9;4385:24;4368:51;:::i;:::-;4358:61;;4466:2;4455:9;4451:18;4438:32;4428:42;;4523:3;4512:9;4508:19;4495:33;4479:49;;4553:2;4543:8;4540:16;4537:36;;;4569:1;4566;4559:12;4537:36;;4592:51;4635:7;4624:8;4613:9;4609:24;4592:51;:::i;:::-;4582:61;;;4690:3;4679:9;4675:19;4662:33;4652:43;;3631:1070;;;;;;;;:::o;4706:547::-;4871:6;4879;4887;4940:2;4928:9;4919:7;4915:23;4911:32;4908:52;;;4956:1;4953;4946:12;4908:52;4992:9;4979:23;4969:33;;5053:2;5042:9;5038:18;5025:32;5080:18;5072:6;5069:30;5066:50;;;5112:1;5109;5102:12;5066:50;5135:61;5188:7;5179:6;5168:9;5164:22;5135:61;:::i;:::-;5125:71;;;5243:2;5232:9;5228:18;5215:32;5205:42;;4706:547;;;;;:::o;5258:835::-;5408:6;5416;5424;5432;5485:3;5473:9;5464:7;5460:23;5456:33;5453:53;;;5502:1;5499;5492:12;5453:53;5538:9;5525:23;5515:33;;5599:2;5588:9;5584:18;5571:32;5622:18;5663:2;5655:6;5652:14;5649:34;;;5679:1;5676;5669:12;5649:34;5702:61;5755:7;5746:6;5735:9;5731:22;5702:61;:::i;:::-;5692:71;;5813:2;5802:9;5798:18;5785:32;5772:45;;5857:14;5850:5;5846:26;5839:5;5836:37;5826:65;;5887:1;5884;5877:12;5826:65;5910:5;;-1:-1:-1;5968:2:170;5953:18;;5940:32;;5984:16;;;5981:36;;;6013:1;6010;6003:12;5981:36;;6036:51;6079:7;6068:8;6057:9;6053:24;6036:51;:::i;:::-;6026:61;;;5258:835;;;;;;;:::o;6098:439::-;6151:3;6189:5;6183:12;6216:6;6211:3;6204:19;6242:4;6271;6266:3;6262:14;6255:21;;6310:4;6303:5;6299:16;6333:1;6343:169;6357:6;6354:1;6351:13;6343:169;;;6418:13;;6406:26;;6452:12;;;;6487:15;;;;6379:1;6372:9;6343:169;;;-1:-1:-1;6528:3:170;;6098:439;-1:-1:-1;;;;;6098:439:170:o;6542:481::-;6583:3;6621:5;6615:12;6648:6;6643:3;6636:19;6673:1;6683:162;6697:6;6694:1;6691:13;6683:162;;;6759:4;6815:13;;;6811:22;;6805:29;6787:11;;;6783:20;;6776:59;6712:12;6683:162;;;6687:3;6890:1;6883:4;6874:6;6869:3;6865:16;6861:27;6854:38;7012:4;-1:-1:-1;;6937:2:170;6929:6;6925:15;6921:88;6916:3;6912:98;6908:109;6901:116;;;6542:481;;;;:::o;7028:899::-;7451:6;7440:9;7433:25;7494:3;7489:2;7478:9;7474:18;7467:31;7414:4;7521:57;7573:3;7562:9;7558:19;7550:6;7521:57;:::i;:::-;7626:4;7614:17;;7609:2;7594:18;;7587:45;7651:12;7699:15;;;7694:2;7679:18;;7672:43;7752:15;;7746:3;7731:19;;7724:44;7799:3;7784:19;;7777:35;;;7849:22;;;7843:3;7828:19;;7821:51;7889:32;7853:6;7906;7889:32;:::i;:::-;7881:40;7028:899;-1:-1:-1;;;;;;;;;;7028:899:170:o;7932:217::-;8079:2;8068:9;8061:21;8042:4;8099:44;8139:2;8128:9;8124:18;8116:6;8099:44;:::i;8154:896::-;8607:6;8596:9;8589:25;8650:3;8645:2;8634:9;8630:18;8623:31;8570:4;8677:57;8729:3;8718:9;8714:19;8706:6;8677:57;:::i;:::-;8782:9;8774:6;8770:22;8765:2;8754:9;8750:18;8743:50;8816:32;8841:6;8833;8816:32;:::i;:::-;8802:46;;8884:6;8879:2;8868:9;8864:18;8857:34;8940:9;8932:6;8928:22;8922:3;8911:9;8907:19;8900:51;8968:32;8993:6;8985;8968:32;:::i;:::-;8960:40;;;9037:6;9031:3;9020:9;9016:19;9009:35;8154:896;;;;;;;;;:::o;9055:466::-;9353:6;9342:9;9335:25;9396:2;9391;9380:9;9376:18;9369:30;9316:4;9416:56;9468:2;9457:9;9453:18;9445:6;9416:56;:::i;:::-;9408:64;;9508:6;9503:2;9492:9;9488:18;9481:34;9055:466;;;;;;:::o;9526:615::-;9836:6;9825:9;9818:25;9879:3;9874:2;9863:9;9859:18;9852:31;9799:4;9906:57;9958:3;9947:9;9943:19;9935:6;9906:57;:::i;:::-;10011:14;10003:6;9999:27;9994:2;9983:9;9979:18;9972:55;10075:9;10067:6;10063:22;10058:2;10047:9;10043:18;10036:50;10103:32;10128:6;10120;10103:32;:::i","linkReferences":{}},"methodIdentifiers":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":"83b5c95b","onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"5b28cdaf","onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"63584533","onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"a8ba8721","onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":"9faeaf45","onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":"57066c9c","onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":"55eb5a28","onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":"964f667d","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"StoreHook_NotImplemented\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"HookCalled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onAfterSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onAfterSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeDeleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"onBeforeSetRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onBeforeSpliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is to be deleted.\"}},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record was set.\"}},\"onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)\":{\"details\":\"This function should be overridden to provide custom logic. Splice operations in dynamic data always reach the end of the dynamic data to avoid shifting data after the inserted or deleted data.\",\"params\":{\"data\":\"The data to be inserted into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the dynamic data of the record.\",\"dynamicFieldIndex\":\"The index of the dynamic field.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"startWithinField\":\"The start byte position within the field for splicing.\",\"tableId\":\"The ID of the table where the data is to be spliced.\"}},\"onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"This function should be overridden to provide custom logic. Splice operations in static data always overwrite data starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to be written to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start byte position for splicing.\",\"tableId\":\"The ID of the table where the data is to be spliced.\"}},\"onBeforeDeleteRecord(bytes32,bytes32[],bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is to be deleted.\"}},\"onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"details\":\"This function should be overridden to provide custom logic.\",\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"fieldLayout\":\"The layout of the field, see FieldLayout.sol.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is to be set.\"}},\"onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)\":{\"details\":\"This function should be overridden to provide custom logic. Splice operations in dynamic data always reach the end of the dynamic data to avoid shifting data after the inserted or deleted data.\",\"params\":{\"data\":\"The data to be inserted into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the dynamic data of the record.\",\"dynamicFieldIndex\":\"The index of the dynamic field.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"startWithinField\":\"The start byte position within the field for splicing.\",\"tableId\":\"The ID of the table where the data is to be spliced.\"}},\"onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"This function should be overridden to provide custom logic. Splice operations in static data always overwrite data starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to be written to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start byte position for splicing.\",\"tableId\":\"The ID of the table where the data is to be spliced.\"}},\"supportsInterface(bytes4)\":{\"details\":\"This function is a part of the ERC-165 standard.\",\"params\":{\"interfaceId\":\"The ID of the interface to check.\"},\"returns\":{\"_0\":\"true if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"StoreHook_NotImplemented()\":[{\"notice\":\"Error emitted when a function is not implemented.\"}]},\"kind\":\"user\",\"methods\":{\"onAfterDeleteRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Hook that runs after deleting a record.\"},\"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"notice\":\"Hook that runs after setting a record.\"},\"onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)\":{\"notice\":\"Hook that runs after splicing dynamic (variable length) data.\"},\"onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Hook that runs after splicing static (fixed length) data.\"},\"onBeforeDeleteRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Hook that runs before deleting a record.\"},\"onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)\":{\"notice\":\"Hook that runs before setting a record.\"},\"onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)\":{\"notice\":\"Hook that runs before splicing dynamic (variable length) data.\"},\"onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Hook that runs before splicing static (fixed length) data.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Check if the interface is supported.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/store/test/EchoSubscriber.sol\":\"EchoSubscriber\"},\"evmVersion\":\"cancun\",\"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/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x842b07f2ff9df2e1ecf9bf424b0e5a77e1471c983d674cf86b76c365178d6cc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4c2df8853b020aef1bb8615ac69d5512a9b5385b82c88e03b27dc521c9d007b\",\"dweb:/ipfs/QmWEDiJn69DvHsdrikrMWY8DERWPSeWwVYgPcunfq3yiT7\"]},\"node_modules/@latticexyz/store/src/StoreHook.sol\":{\"keccak256\":\"0x5123aae46b3f37ea6d7d567fd82658ea7f58d06a6ebd76aaf358582459f13173\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7223f7ca27353b8d86bd75441df8221383e6966caa7c25f9a802e7623bb5275d\",\"dweb:/ipfs/QmaGmQK5JK2jS2sodKVxWuKiRNrtN8ErbdqE53PDatEDym\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/test/EchoSubscriber.sol\":{\"keccak256\":\"0x81815bcfe30f3671eb7589f83621866e31aad7385b95ef142a70fa2ef1de0fe8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5dc056be61192d38dee67585d3468c69bb72b76d764a844245e98a1c3a642d8\",\"dweb:/ipfs/QmQsJhfbLD8sEeR3X2JF4NqGPsMtmQr32pKR21Tihr67pT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"StoreHook_NotImplemented"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"HookCalled","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterSpliceStaticData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeDeleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSetRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onBeforeSpliceStaticData"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","tableId":"The ID of the table where the record is to be deleted."}},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"dynamicData":"The dynamic data of the record.","encodedLengths":"The encoded lengths of the dynamic data of the record.","fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","staticData":"The static data of the record.","tableId":"The ID of the table where the record was set."}},"onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":{"details":"This function should be overridden to provide custom logic. Splice operations in dynamic data always reach the end of the dynamic data to avoid shifting data after the inserted or deleted data.","params":{"data":"The data to be inserted into the dynamic data of the record at the start byte.","deleteCount":"The number of bytes to delete in the dynamic data of the record.","dynamicFieldIndex":"The index of the dynamic field.","encodedLengths":"The encoded lengths of the dynamic data of the record.","keyTuple":"An array representing the composite key for the record.","startWithinField":"The start byte position within the field for splicing.","tableId":"The ID of the table where the data is to be spliced."}},"onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":{"details":"This function should be overridden to provide custom logic. Splice operations in static data always overwrite data starting at the start position, so the total length of the data remains the same and no data is shifted.","params":{"data":"The data to be written to the static data of the record at the start byte.","keyTuple":"An array representing the composite key for the record.","start":"The start byte position for splicing.","tableId":"The ID of the table where the data is to be spliced."}},"onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","tableId":"The ID of the table where the record is to be deleted."}},"onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"details":"This function should be overridden to provide custom logic.","params":{"dynamicData":"The dynamic data of the record.","encodedLengths":"The encoded lengths of the dynamic data of the record.","fieldLayout":"The layout of the field, see FieldLayout.sol.","keyTuple":"An array representing the composite key for the record.","staticData":"The static data of the record.","tableId":"The ID of the table where the record is to be set."}},"onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":{"details":"This function should be overridden to provide custom logic. Splice operations in dynamic data always reach the end of the dynamic data to avoid shifting data after the inserted or deleted data.","params":{"data":"The data to be inserted into the dynamic data of the record at the start byte.","deleteCount":"The number of bytes to delete in the dynamic data of the record.","dynamicFieldIndex":"The index of the dynamic field.","encodedLengths":"The encoded lengths of the dynamic data of the record.","keyTuple":"An array representing the composite key for the record.","startWithinField":"The start byte position within the field for splicing.","tableId":"The ID of the table where the data is to be spliced."}},"onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":{"details":"This function should be overridden to provide custom logic. Splice operations in static data always overwrite data starting at the start position, so the total length of the data remains the same and no data is shifted.","params":{"data":"The data to be written to the static data of the record at the start byte.","keyTuple":"An array representing the composite key for the record.","start":"The start byte position for splicing.","tableId":"The ID of the table where the data is to be spliced."}},"supportsInterface(bytes4)":{"details":"This function is a part of the ERC-165 standard.","params":{"interfaceId":"The ID of the interface to check."},"returns":{"_0":"true if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"onAfterDeleteRecord(bytes32,bytes32[],bytes32)":{"notice":"Hook that runs after deleting a record."},"onAfterSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"notice":"Hook that runs after setting a record."},"onAfterSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":{"notice":"Hook that runs after splicing dynamic (variable length) data."},"onAfterSpliceStaticData(bytes32,bytes32[],uint48,bytes)":{"notice":"Hook that runs after splicing static (fixed length) data."},"onBeforeDeleteRecord(bytes32,bytes32[],bytes32)":{"notice":"Hook that runs before deleting a record."},"onBeforeSetRecord(bytes32,bytes32[],bytes,bytes32,bytes,bytes32)":{"notice":"Hook that runs before setting a record."},"onBeforeSpliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes32,bytes)":{"notice":"Hook that runs before splicing dynamic (variable length) data."},"onBeforeSpliceStaticData(bytes32,bytes32[],uint48,bytes)":{"notice":"Hook that runs before splicing static (fixed length) data."},"supportsInterface(bytes4)":{"notice":"Check if the interface is supported."}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/@latticexyz/store/test/EchoSubscriber.sol":"EchoSubscriber"},"evmVersion":"cancun","libraries":{}},"sources":{"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x842b07f2ff9df2e1ecf9bf424b0e5a77e1471c983d674cf86b76c365178d6cc5","urls":["bzz-raw://f4c2df8853b020aef1bb8615ac69d5512a9b5385b82c88e03b27dc521c9d007b","dweb:/ipfs/QmWEDiJn69DvHsdrikrMWY8DERWPSeWwVYgPcunfq3yiT7"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreHook.sol":{"keccak256":"0x5123aae46b3f37ea6d7d567fd82658ea7f58d06a6ebd76aaf358582459f13173","urls":["bzz-raw://7223f7ca27353b8d86bd75441df8221383e6966caa7c25f9a802e7623bb5275d","dweb:/ipfs/QmaGmQK5JK2jS2sodKVxWuKiRNrtN8ErbdqE53PDatEDym"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/test/EchoSubscriber.sol":{"keccak256":"0x81815bcfe30f3671eb7589f83621866e31aad7385b95ef142a70fa2ef1de0fe8","urls":["bzz-raw://a5dc056be61192d38dee67585d3468c69bb72b76d764a844245e98a1c3a642d8","dweb:/ipfs/QmQsJhfbLD8sEeR3X2JF4NqGPsMtmQr32pKR21Tihr67pT"],"license":"MIT"}},"version":1},"id":43}