@latticexyz/world 2.0.0-alpha.1.21 → 2.0.0-alpha.1.22

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 (133) hide show
  1. package/abi/AccessControl.sol/AccessControl.json +241 -241
  2. package/abi/AccessManagementSystem.sol/AccessManagementSystem.json +157 -157
  3. package/abi/AddressArray.sol/AddressArray.json +1124 -1124
  4. package/abi/ArrayLib.sol/ArrayLib.json +139 -139
  5. package/abi/Bool.sol/Bool.json +704 -704
  6. package/abi/Bytes.sol/Bytes.json +6 -6
  7. package/abi/Call.sol/Call.json +112 -112
  8. package/abi/Callbacks.sol/Callbacks.json +1100 -1100
  9. package/abi/CoreModule.sol/CoreModule.json +542 -542
  10. package/abi/CoreSystem.sol/CoreSystem.json +92 -92
  11. package/abi/DecodeSlice.sol/DecodeSlice.json +3891 -3891
  12. package/abi/EncodeArray.sol/EncodeArray.json +3344 -3344
  13. package/abi/FunctionSelectors.sol/FunctionSelectors.json +1678 -1678
  14. package/abi/Hooks.sol/Hooks.json +1100 -1100
  15. package/abi/IAccessManagementSystem.sol/IAccessManagementSystem.json +32 -32
  16. package/abi/IBaseWorld.sol/IBaseWorld.json +224 -99
  17. package/abi/ICoreSystem.sol/ICoreSystem.json +6 -6
  18. package/abi/IModule.sol/IModule.json +28 -28
  19. package/abi/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +40 -40
  20. package/abi/IStore.sol/IStore.json +551 -349
  21. package/abi/IStore.sol/IStoreData.json +551 -349
  22. package/abi/IStore.sol/IStoreHook.json +495 -349
  23. package/abi/IStore.sol/IStoreRead.json +495 -349
  24. package/abi/IStore.sol/IStoreRegistration.json +495 -349
  25. package/abi/IStore.sol/IStoreWrite.json +551 -349
  26. package/abi/IStoreRegistrationSystem.sol/IStoreRegistrationSystem.json +80 -80
  27. package/abi/ISystemHook.sol/ISystemHook.json +19 -19
  28. package/abi/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +13 -13
  29. package/abi/IWorldKernel.sol/IWorldCall.json +455 -276
  30. package/abi/IWorldKernel.sol/IWorldData.json +524 -276
  31. package/abi/IWorldKernel.sol/IWorldKernel.json +524 -276
  32. package/abi/IWorldKernel.sol/IWorldModuleInstallation.json +455 -276
  33. package/abi/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +198 -198
  34. package/abi/InstalledModules.sol/InstalledModules.json +1351 -1351
  35. package/abi/KeysWithValue.sol/KeysWithValue.json +1124 -1124
  36. package/abi/KeysWithValueHook.sol/KeysWithValueHook.json +416 -416
  37. package/abi/KeysWithValueModule.sol/KeysWithValueModule.json +293 -293
  38. package/abi/Memory.sol/Memory.json +131 -131
  39. package/abi/Mixed.sol/Mixed.json +2781 -2781
  40. package/abi/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +138 -138
  41. package/abi/NamespaceOwner.sol/NamespaceOwner.json +782 -782
  42. package/abi/PackedCounter.sol/PackedCounterLib.json +665 -665
  43. package/abi/ResourceAccess.sol/ResourceAccess.json +926 -926
  44. package/abi/ResourceSelector.sol/ResourceSelector.json +253 -253
  45. package/abi/ResourceType.sol/ResourceType.json +831 -831
  46. package/abi/Schema.sol/SchemaLib.json +1469 -1469
  47. package/abi/SchemaType.sol/SchemaType.json +315 -315
  48. package/abi/Slice.sol/SliceInstance.json +429 -429
  49. package/abi/Slice.sol/SliceLib.json +429 -429
  50. package/abi/Storage.sol/Storage.json +1024 -1061
  51. package/abi/StoreCore.sol/StoreCore.json +10434 -7652
  52. package/abi/StoreCore.sol/StoreCoreExtended.json +10434 -7652
  53. package/abi/StoreCore.sol/StoreCoreInternal.json +10434 -7652
  54. package/abi/StoreMetadata.sol/StoreMetadata.json +2116 -2116
  55. package/abi/StoreRead.sol/StoreRead.json +247 -247
  56. package/abi/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +339 -339
  57. package/abi/StoreSwitch.sol/StoreSwitch.json +1814 -1359
  58. package/abi/System.sol/System.json +31 -31
  59. package/abi/SystemRegistry.sol/SystemRegistry.json +794 -794
  60. package/abi/Systems.sol/Systems.json +1412 -1412
  61. package/abi/TableId.sol/TableId.json +27 -27
  62. package/abi/Tables.sol/Tables.json +92 -92
  63. package/abi/TightCoder.sol/TightCoder.json +275 -275
  64. package/abi/Types.sol/Types.json +8 -8
  65. package/abi/UniqueEntity.sol/UniqueEntity.json +683 -683
  66. package/abi/UniqueEntityModule.sol/UniqueEntityModule.json +232 -232
  67. package/abi/UniqueEntitySystem.sol/UniqueEntitySystem.json +114 -114
  68. package/abi/Utils.sol/Utils.json +67 -67
  69. package/abi/Vector2.sol/Vector2.json +1473 -1473
  70. package/abi/World.sol/World.json +2426 -1491
  71. package/abi/WorldContext.sol/WorldContext.json +65 -65
  72. package/abi/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1140 -1140
  73. package/abi/console.sol/console.json +11417 -11417
  74. package/abi/constants.sol/constants.json +34 -34
  75. package/abi/getKeysWithValue.sol/getKeysWithValue.json +129 -129
  76. package/abi/getTargetTableSelector.sol/getTargetTableSelector.json +75 -75
  77. package/abi/getUniqueEntity.sol/getUniqueEntity.json +88 -88
  78. package/abi/interfaces/IErrors.sol/IErrors.json +57 -57
  79. package/abi/src/Bytes.sol/Bytes.json +1225 -1225
  80. package/abi/src/IStore.sol/IStore.json +727 -525
  81. package/abi/src/IStore.sol/IStoreData.json +727 -525
  82. package/abi/src/IStore.sol/IStoreHook.json +671 -525
  83. package/abi/src/IStore.sol/IStoreRead.json +671 -525
  84. package/abi/src/IStore.sol/IStoreRegistration.json +671 -525
  85. package/abi/src/IStore.sol/IStoreWrite.json +727 -525
  86. package/abi/src/Memory.sol/Memory.json +131 -131
  87. package/abi/src/PackedCounter.sol/PackedCounterLib.json +683 -683
  88. package/abi/src/Schema.sol/SchemaLib.json +1493 -1493
  89. package/abi/src/Slice.sol/SliceInstance.json +429 -429
  90. package/abi/src/Slice.sol/SliceLib.json +429 -429
  91. package/abi/src/StoreCore.sol/StoreCore.json +12500 -9718
  92. package/abi/src/StoreCore.sol/StoreCoreExtended.json +12500 -9718
  93. package/abi/src/StoreCore.sol/StoreCoreInternal.json +12500 -9718
  94. package/abi/src/StoreSwitch.sol/StoreSwitch.json +1822 -1367
  95. package/abi/tightcoder/EncodeArray.sol/EncodeArray.json +3344 -3344
  96. package/package.json +6 -6
  97. package/src/World.sol +32 -0
  98. package/src/interfaces/IWorldKernel.sol +12 -0
  99. package/types/ethers-contracts/IBaseWorld.ts +116 -0
  100. package/types/ethers-contracts/IStore.sol/IStore.ts +55 -0
  101. package/types/ethers-contracts/IStore.sol/IStoreData.ts +55 -0
  102. package/types/ethers-contracts/IStore.sol/IStoreWrite.ts +55 -0
  103. package/types/ethers-contracts/IWorldKernel.sol/IWorldData.ts +61 -0
  104. package/types/ethers-contracts/IWorldKernel.sol/IWorldKernel.ts +61 -0
  105. package/types/ethers-contracts/World.ts +116 -0
  106. package/types/ethers-contracts/factories/AccessManagementSystem__factory.ts +1 -1
  107. package/types/ethers-contracts/factories/CoreModule__factory.ts +1 -1
  108. package/types/ethers-contracts/factories/CoreSystem__factory.ts +1 -1
  109. package/types/ethers-contracts/factories/IBaseWorld__factory.ts +61 -0
  110. package/types/ethers-contracts/factories/IStore.sol/IStoreData__factory.ts +28 -0
  111. package/types/ethers-contracts/factories/IStore.sol/IStoreWrite__factory.ts +28 -0
  112. package/types/ethers-contracts/factories/IStore.sol/IStore__factory.ts +28 -0
  113. package/types/ethers-contracts/factories/IWorldKernel.sol/IWorldData__factory.ts +33 -0
  114. package/types/ethers-contracts/factories/IWorldKernel.sol/IWorldKernel__factory.ts +33 -0
  115. package/types/ethers-contracts/factories/KeysWithValueHook__factory.ts +1 -1
  116. package/types/ethers-contracts/factories/KeysWithValueModule__factory.ts +1 -1
  117. package/types/ethers-contracts/factories/ModuleInstallationSystem__factory.ts +1 -1
  118. package/types/ethers-contracts/factories/StoreCore__factory.ts +1 -1
  119. package/types/ethers-contracts/factories/StoreRead__factory.ts +1 -1
  120. package/types/ethers-contracts/factories/StoreRegistrationSystem__factory.ts +1 -1
  121. package/types/ethers-contracts/factories/StoreSwitch__factory.ts +1 -1
  122. package/types/ethers-contracts/factories/UniqueEntityModule__factory.ts +1 -1
  123. package/types/ethers-contracts/factories/UniqueEntitySystem__factory.ts +1 -1
  124. package/types/ethers-contracts/factories/WorldRegistrationSystem__factory.ts +1 -1
  125. package/types/ethers-contracts/factories/World__factory.ts +62 -1
  126. package/types/ethers-contracts/factories/src/IStore.sol/IStoreData__factory.ts +28 -0
  127. package/types/ethers-contracts/factories/src/IStore.sol/IStoreWrite__factory.ts +28 -0
  128. package/types/ethers-contracts/factories/src/IStore.sol/IStore__factory.ts +28 -0
  129. package/types/ethers-contracts/factories/src/StoreCore__factory.ts +1 -1
  130. package/types/ethers-contracts/factories/src/StoreSwitch__factory.ts +1 -1
  131. package/types/ethers-contracts/src/IStore.sol/IStore.ts +55 -0
  132. package/types/ethers-contracts/src/IStore.sol/IStoreData.ts +55 -0
  133. package/types/ethers-contracts/src/IStore.sol/IStoreWrite.ts +55 -0
@@ -163,6 +163,39 @@
163
163
  "stateMutability": "nonpayable",
164
164
  "type": "function"
165
165
  },
166
+ {
167
+ "inputs": [
168
+ {
169
+ "internalType": "bytes16",
170
+ "name": "namespace",
171
+ "type": "bytes16"
172
+ },
173
+ {
174
+ "internalType": "bytes16",
175
+ "name": "name",
176
+ "type": "bytes16"
177
+ },
178
+ {
179
+ "internalType": "bytes32[]",
180
+ "name": "key",
181
+ "type": "bytes32[]"
182
+ },
183
+ {
184
+ "internalType": "uint8",
185
+ "name": "schemaIndex",
186
+ "type": "uint8"
187
+ },
188
+ {
189
+ "internalType": "uint256",
190
+ "name": "byteLengthToPop",
191
+ "type": "uint256"
192
+ }
193
+ ],
194
+ "name": "popFromField",
195
+ "outputs": [],
196
+ "stateMutability": "nonpayable",
197
+ "type": "function"
198
+ },
166
199
  {
167
200
  "inputs": [
168
201
  {
@@ -310,12 +343,13 @@
310
343
  "call(bytes16,bytes16,bytes)": "832f05f4",
311
344
  "deleteRecord(bytes16,bytes16,bytes32[])": "e3f8cc6b",
312
345
  "installRootModule(address,bytes)": "af068c9e",
346
+ "popFromField(bytes16,bytes16,bytes32[],uint8,uint256)": "77841557",
313
347
  "pushToField(bytes16,bytes16,bytes32[],uint8,bytes)": "6e627cb8",
314
348
  "setField(bytes16,bytes16,bytes32[],uint8,bytes)": "9146e7c8",
315
349
  "setRecord(bytes16,bytes16,bytes32[],bytes)": "11c73ffb",
316
350
  "updateInField(bytes16,bytes16,bytes32[],uint8,uint256,bytes)": "d491953a"
317
351
  },
318
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"InvalidSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"module\",\"type\":\"string\"}],\"name\":\"ModuleAlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"SystemExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes\",\"name\":\"funcSelectorAndArgs\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"startByteIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"dataToSet\",\"type\":\"bytes\"}],\"name\":\"updateInField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"call(bytes16,bytes16,bytes)\":{\"notice\":\"Call the system at the given namespace and name. If the system is not public, the caller must have access to the namespace or name.\"},\"deleteRecord(bytes16,bytes16,bytes32[])\":{\"notice\":\"Delete a record in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World. Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\"},\"pushToField(bytes16,bytes16,bytes32[],uint8,bytes)\":{\"notice\":\"Push data to the end of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"setField(bytes16,bytes16,bytes32[],uint8,bytes)\":{\"notice\":\"Write a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"setRecord(bytes16,bytes16,bytes32[],bytes)\":{\"notice\":\"Write a record in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"updateInField(bytes16,bytes16,bytes32[],uint8,uint256,bytes)\":{\"notice\":\"Update data at `startByteIndex` of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"}},\"notice\":\"The IWorldKernel interface includes all methods that are part of the World contract's internal bytecode. Consumers should use the `IBaseWorld` interface instead, which includes dynamically registered functions selectors from the `CoreModule`.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IWorldKernel.sol\":\"IWorldKernel\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"src/interfaces/IErrors.sol\":{\"keccak256\":\"0x8a8a5caf964d336b38123704893463589b3bf6195405c9929c21291faf0e2f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aa3dcd4d059015580dbcad309db99db7a18fe7c015f1f83f56d84684f27bd14\",\"dweb:/ipfs/QmVpQW1kF4ruDmXtnTSnGRuxr7RtJqo8NwEXtfdA5TVKq1\"]},\"src/interfaces/IModule.sol\":{\"keccak256\":\"0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178\",\"dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf\"]},\"src/interfaces/IWorldKernel.sol\":{\"keccak256\":\"0x5634912fe97592848fb360d55c442f3b37d6a9e77db46695891f0d5d942138c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a48252b3e5286bd9119aad18366ec8b484334b93872239790717e44f2b125af2\",\"dweb:/ipfs/QmZddb4vrvyKNotTqr3gW3KsrVeH7fDYNv5Tr23uVema4x\"]}},\"version\":1}",
352
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"InvalidSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"module\",\"type\":\"string\"}],\"name\":\"ModuleAlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"SystemExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes\",\"name\":\"funcSelectorAndArgs\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"},{\"internalType\":\"bytes16\",\"name\":\"name\",\"type\":\"bytes16\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"startByteIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"dataToSet\",\"type\":\"bytes\"}],\"name\":\"updateInField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"call(bytes16,bytes16,bytes)\":{\"notice\":\"Call the system at the given namespace and name. If the system is not public, the caller must have access to the namespace or name.\"},\"deleteRecord(bytes16,bytes16,bytes32[])\":{\"notice\":\"Delete a record in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World. Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\"},\"popFromField(bytes16,bytes16,bytes32[],uint8,uint256)\":{\"notice\":\"Pop data from the end of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"pushToField(bytes16,bytes16,bytes32[],uint8,bytes)\":{\"notice\":\"Push data to the end of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"setField(bytes16,bytes16,bytes32[],uint8,bytes)\":{\"notice\":\"Write a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"setRecord(bytes16,bytes16,bytes32[],bytes)\":{\"notice\":\"Write a record in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"},\"updateInField(bytes16,bytes16,bytes32[],uint8,uint256,bytes)\":{\"notice\":\"Update data at `startByteIndex` of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name.\"}},\"notice\":\"The IWorldKernel interface includes all methods that are part of the World contract's internal bytecode. Consumers should use the `IBaseWorld` interface instead, which includes dynamically registered functions selectors from the `CoreModule`.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IWorldKernel.sol\":\"IWorldKernel\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"src/interfaces/IErrors.sol\":{\"keccak256\":\"0x8a8a5caf964d336b38123704893463589b3bf6195405c9929c21291faf0e2f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aa3dcd4d059015580dbcad309db99db7a18fe7c015f1f83f56d84684f27bd14\",\"dweb:/ipfs/QmVpQW1kF4ruDmXtnTSnGRuxr7RtJqo8NwEXtfdA5TVKq1\"]},\"src/interfaces/IModule.sol\":{\"keccak256\":\"0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178\",\"dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf\"]},\"src/interfaces/IWorldKernel.sol\":{\"keccak256\":\"0x9baf07e472a70ec8aba9dffb71a7dd7d970c1352c2b11fdbf4c21a54b61458e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c270f22eec9ee162bcb973349e4e96ffcacd70c7df53d0ce7eb33f3bdb1dd6e3\",\"dweb:/ipfs/QmWRgyG2o7cM8dJRNN3d72khRsaGVJBNjVP6XPW2uSyGmU\"]}},\"version\":1}",
319
353
  "metadata": {
320
354
  "compiler": {
321
355
  "version": "0.8.13+commit.abaa5c0e"
@@ -484,6 +518,38 @@
484
518
  "type": "function",
485
519
  "name": "installRootModule"
486
520
  },
521
+ {
522
+ "inputs": [
523
+ {
524
+ "internalType": "bytes16",
525
+ "name": "namespace",
526
+ "type": "bytes16"
527
+ },
528
+ {
529
+ "internalType": "bytes16",
530
+ "name": "name",
531
+ "type": "bytes16"
532
+ },
533
+ {
534
+ "internalType": "bytes32[]",
535
+ "name": "key",
536
+ "type": "bytes32[]"
537
+ },
538
+ {
539
+ "internalType": "uint8",
540
+ "name": "schemaIndex",
541
+ "type": "uint8"
542
+ },
543
+ {
544
+ "internalType": "uint256",
545
+ "name": "byteLengthToPop",
546
+ "type": "uint256"
547
+ }
548
+ ],
549
+ "stateMutability": "nonpayable",
550
+ "type": "function",
551
+ "name": "popFromField"
552
+ },
487
553
  {
488
554
  "inputs": [
489
555
  {
@@ -630,6 +696,9 @@
630
696
  "installRootModule(address,bytes)": {
631
697
  "notice": "Install the given root module in the World. Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace."
632
698
  },
699
+ "popFromField(bytes16,bytes16,bytes32[],uint8,uint256)": {
700
+ "notice": "Pop data from the end of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name."
701
+ },
633
702
  "pushToField(bytes16,bytes16,bytes32[],uint8,bytes)": {
634
703
  "notice": "Push data to the end of a field in the table at the given namespace and name. Requires the caller to have access to the namespace or name."
635
704
  },
@@ -683,10 +752,10 @@
683
752
  "license": "MIT"
684
753
  },
685
754
  "src/interfaces/IWorldKernel.sol": {
686
- "keccak256": "0x5634912fe97592848fb360d55c442f3b37d6a9e77db46695891f0d5d942138c8",
755
+ "keccak256": "0x9baf07e472a70ec8aba9dffb71a7dd7d970c1352c2b11fdbf4c21a54b61458e7",
687
756
  "urls": [
688
- "bzz-raw://a48252b3e5286bd9119aad18366ec8b484334b93872239790717e44f2b125af2",
689
- "dweb:/ipfs/QmZddb4vrvyKNotTqr3gW3KsrVeH7fDYNv5Tr23uVema4x"
757
+ "bzz-raw://c270f22eec9ee162bcb973349e4e96ffcacd70c7df53d0ce7eb33f3bdb1dd6e3",
758
+ "dweb:/ipfs/QmWRgyG2o7cM8dJRNN3d72khRsaGVJBNjVP6XPW2uSyGmU"
690
759
  ],
691
760
  "license": "MIT"
692
761
  }
@@ -695,32 +764,32 @@
695
764
  },
696
765
  "ast": {
697
766
  "absolutePath": "src/interfaces/IWorldKernel.sol",
698
- "id": 33458,
767
+ "id": 34059,
699
768
  "exportedSymbols": {
700
769
  "IErrors": [
701
- 33258
770
+ 33844
702
771
  ],
703
772
  "IModule": [
704
- 33277
773
+ 33863
705
774
  ],
706
775
  "IWorldCall": [
707
- 33447
776
+ 34048
708
777
  ],
709
778
  "IWorldData": [
710
- 33424
779
+ 34025
711
780
  ],
712
781
  "IWorldKernel": [
713
- 33457
782
+ 34058
714
783
  ],
715
784
  "IWorldModuleInstallation": [
716
- 33434
785
+ 34035
717
786
  ]
718
787
  },
719
788
  "nodeType": "SourceUnit",
720
- "src": "32:2848:63",
789
+ "src": "32:3170:63",
721
790
  "nodes": [
722
791
  {
723
- "id": 33347,
792
+ "id": 33933,
724
793
  "nodeType": "PragmaDirective",
725
794
  "src": "32:24:63",
726
795
  "nodes": [],
@@ -732,23 +801,23 @@
732
801
  ]
733
802
  },
734
803
  {
735
- "id": 33349,
804
+ "id": 33935,
736
805
  "nodeType": "ImportDirective",
737
806
  "src": "58:40:63",
738
807
  "nodes": [],
739
808
  "absolutePath": "src/interfaces/IErrors.sol",
740
809
  "file": "./IErrors.sol",
741
810
  "nameLocation": "-1:-1:-1",
742
- "scope": 33458,
743
- "sourceUnit": 33259,
811
+ "scope": 34059,
812
+ "sourceUnit": 33845,
744
813
  "symbolAliases": [
745
814
  {
746
815
  "foreign": {
747
- "id": 33348,
816
+ "id": 33934,
748
817
  "name": "IErrors",
749
818
  "nodeType": "Identifier",
750
819
  "overloadedDeclarations": [],
751
- "referencedDeclaration": 33258,
820
+ "referencedDeclaration": 33844,
752
821
  "src": "67:7:63",
753
822
  "typeDescriptions": {}
754
823
  },
@@ -758,23 +827,23 @@
758
827
  "unitAlias": ""
759
828
  },
760
829
  {
761
- "id": 33351,
830
+ "id": 33937,
762
831
  "nodeType": "ImportDirective",
763
832
  "src": "99:40:63",
764
833
  "nodes": [],
765
834
  "absolutePath": "src/interfaces/IModule.sol",
766
835
  "file": "./IModule.sol",
767
836
  "nameLocation": "-1:-1:-1",
768
- "scope": 33458,
769
- "sourceUnit": 33278,
837
+ "scope": 34059,
838
+ "sourceUnit": 33864,
770
839
  "symbolAliases": [
771
840
  {
772
841
  "foreign": {
773
- "id": 33350,
842
+ "id": 33936,
774
843
  "name": "IModule",
775
844
  "nodeType": "Identifier",
776
845
  "overloadedDeclarations": [],
777
- "referencedDeclaration": 33277,
846
+ "referencedDeclaration": 33863,
778
847
  "src": "108:7:63",
779
848
  "typeDescriptions": {}
780
849
  },
@@ -784,17 +853,17 @@
784
853
  "unitAlias": ""
785
854
  },
786
855
  {
787
- "id": 33424,
856
+ "id": 34025,
788
857
  "nodeType": "ContractDefinition",
789
- "src": "412:1493:63",
858
+ "src": "412:1815:63",
790
859
  "nodes": [
791
860
  {
792
- "id": 33365,
861
+ "id": 33951,
793
862
  "nodeType": "FunctionDefinition",
794
863
  "src": "581:106:63",
795
864
  "nodes": [],
796
865
  "documentation": {
797
- "id": 33353,
866
+ "id": 33939,
798
867
  "nodeType": "StructuredDocumentation",
799
868
  "src": "437:141:63",
800
869
  "text": " Write a record in the table at the given namespace and name.\n Requires the caller to have access to the namespace or name."
@@ -806,17 +875,17 @@
806
875
  "name": "setRecord",
807
876
  "nameLocation": "590:9:63",
808
877
  "parameters": {
809
- "id": 33363,
878
+ "id": 33949,
810
879
  "nodeType": "ParameterList",
811
880
  "parameters": [
812
881
  {
813
882
  "constant": false,
814
- "id": 33355,
883
+ "id": 33941,
815
884
  "mutability": "mutable",
816
885
  "name": "namespace",
817
886
  "nameLocation": "608:9:63",
818
887
  "nodeType": "VariableDeclaration",
819
- "scope": 33365,
888
+ "scope": 33951,
820
889
  "src": "600:17:63",
821
890
  "stateVariable": false,
822
891
  "storageLocation": "default",
@@ -825,7 +894,7 @@
825
894
  "typeString": "bytes16"
826
895
  },
827
896
  "typeName": {
828
- "id": 33354,
897
+ "id": 33940,
829
898
  "name": "bytes16",
830
899
  "nodeType": "ElementaryTypeName",
831
900
  "src": "600:7:63",
@@ -838,12 +907,12 @@
838
907
  },
839
908
  {
840
909
  "constant": false,
841
- "id": 33357,
910
+ "id": 33943,
842
911
  "mutability": "mutable",
843
912
  "name": "name",
844
913
  "nameLocation": "627:4:63",
845
914
  "nodeType": "VariableDeclaration",
846
- "scope": 33365,
915
+ "scope": 33951,
847
916
  "src": "619:12:63",
848
917
  "stateVariable": false,
849
918
  "storageLocation": "default",
@@ -852,7 +921,7 @@
852
921
  "typeString": "bytes16"
853
922
  },
854
923
  "typeName": {
855
- "id": 33356,
924
+ "id": 33942,
856
925
  "name": "bytes16",
857
926
  "nodeType": "ElementaryTypeName",
858
927
  "src": "619:7:63",
@@ -865,12 +934,12 @@
865
934
  },
866
935
  {
867
936
  "constant": false,
868
- "id": 33360,
937
+ "id": 33946,
869
938
  "mutability": "mutable",
870
939
  "name": "key",
871
940
  "nameLocation": "652:3:63",
872
941
  "nodeType": "VariableDeclaration",
873
- "scope": 33365,
942
+ "scope": 33951,
874
943
  "src": "633:22:63",
875
944
  "stateVariable": false,
876
945
  "storageLocation": "calldata",
@@ -880,7 +949,7 @@
880
949
  },
881
950
  "typeName": {
882
951
  "baseType": {
883
- "id": 33358,
952
+ "id": 33944,
884
953
  "name": "bytes32",
885
954
  "nodeType": "ElementaryTypeName",
886
955
  "src": "633:7:63",
@@ -889,7 +958,7 @@
889
958
  "typeString": "bytes32"
890
959
  }
891
960
  },
892
- "id": 33359,
961
+ "id": 33945,
893
962
  "nodeType": "ArrayTypeName",
894
963
  "src": "633:9:63",
895
964
  "typeDescriptions": {
@@ -901,12 +970,12 @@
901
970
  },
902
971
  {
903
972
  "constant": false,
904
- "id": 33362,
973
+ "id": 33948,
905
974
  "mutability": "mutable",
906
975
  "name": "data",
907
976
  "nameLocation": "672:4:63",
908
977
  "nodeType": "VariableDeclaration",
909
- "scope": 33365,
978
+ "scope": 33951,
910
979
  "src": "657:19:63",
911
980
  "stateVariable": false,
912
981
  "storageLocation": "calldata",
@@ -915,7 +984,7 @@
915
984
  "typeString": "bytes"
916
985
  },
917
986
  "typeName": {
918
- "id": 33361,
987
+ "id": 33947,
919
988
  "name": "bytes",
920
989
  "nodeType": "ElementaryTypeName",
921
990
  "src": "657:5:63",
@@ -930,23 +999,23 @@
930
999
  "src": "599:78:63"
931
1000
  },
932
1001
  "returnParameters": {
933
- "id": 33364,
1002
+ "id": 33950,
934
1003
  "nodeType": "ParameterList",
935
1004
  "parameters": [],
936
1005
  "src": "686:0:63"
937
1006
  },
938
- "scope": 33424,
1007
+ "scope": 34025,
939
1008
  "stateMutability": "nonpayable",
940
1009
  "virtual": false,
941
1010
  "visibility": "external"
942
1011
  },
943
1012
  {
944
- "id": 33380,
1013
+ "id": 33966,
945
1014
  "nodeType": "FunctionDefinition",
946
1015
  "src": "834:148:63",
947
1016
  "nodes": [],
948
1017
  "documentation": {
949
- "id": 33366,
1018
+ "id": 33952,
950
1019
  "nodeType": "StructuredDocumentation",
951
1020
  "src": "691:140:63",
952
1021
  "text": " Write a field in the table at the given namespace and name.\n Requires the caller to have access to the namespace or name."
@@ -958,17 +1027,17 @@
958
1027
  "name": "setField",
959
1028
  "nameLocation": "843:8:63",
960
1029
  "parameters": {
961
- "id": 33378,
1030
+ "id": 33964,
962
1031
  "nodeType": "ParameterList",
963
1032
  "parameters": [
964
1033
  {
965
1034
  "constant": false,
966
- "id": 33368,
1035
+ "id": 33954,
967
1036
  "mutability": "mutable",
968
1037
  "name": "namespace",
969
1038
  "nameLocation": "865:9:63",
970
1039
  "nodeType": "VariableDeclaration",
971
- "scope": 33380,
1040
+ "scope": 33966,
972
1041
  "src": "857:17:63",
973
1042
  "stateVariable": false,
974
1043
  "storageLocation": "default",
@@ -977,7 +1046,7 @@
977
1046
  "typeString": "bytes16"
978
1047
  },
979
1048
  "typeName": {
980
- "id": 33367,
1049
+ "id": 33953,
981
1050
  "name": "bytes16",
982
1051
  "nodeType": "ElementaryTypeName",
983
1052
  "src": "857:7:63",
@@ -990,12 +1059,12 @@
990
1059
  },
991
1060
  {
992
1061
  "constant": false,
993
- "id": 33370,
1062
+ "id": 33956,
994
1063
  "mutability": "mutable",
995
1064
  "name": "name",
996
1065
  "nameLocation": "888:4:63",
997
1066
  "nodeType": "VariableDeclaration",
998
- "scope": 33380,
1067
+ "scope": 33966,
999
1068
  "src": "880:12:63",
1000
1069
  "stateVariable": false,
1001
1070
  "storageLocation": "default",
@@ -1004,7 +1073,7 @@
1004
1073
  "typeString": "bytes16"
1005
1074
  },
1006
1075
  "typeName": {
1007
- "id": 33369,
1076
+ "id": 33955,
1008
1077
  "name": "bytes16",
1009
1078
  "nodeType": "ElementaryTypeName",
1010
1079
  "src": "880:7:63",
@@ -1017,12 +1086,12 @@
1017
1086
  },
1018
1087
  {
1019
1088
  "constant": false,
1020
- "id": 33373,
1089
+ "id": 33959,
1021
1090
  "mutability": "mutable",
1022
1091
  "name": "key",
1023
1092
  "nameLocation": "917:3:63",
1024
1093
  "nodeType": "VariableDeclaration",
1025
- "scope": 33380,
1094
+ "scope": 33966,
1026
1095
  "src": "898:22:63",
1027
1096
  "stateVariable": false,
1028
1097
  "storageLocation": "calldata",
@@ -1032,7 +1101,7 @@
1032
1101
  },
1033
1102
  "typeName": {
1034
1103
  "baseType": {
1035
- "id": 33371,
1104
+ "id": 33957,
1036
1105
  "name": "bytes32",
1037
1106
  "nodeType": "ElementaryTypeName",
1038
1107
  "src": "898:7:63",
@@ -1041,7 +1110,7 @@
1041
1110
  "typeString": "bytes32"
1042
1111
  }
1043
1112
  },
1044
- "id": 33372,
1113
+ "id": 33958,
1045
1114
  "nodeType": "ArrayTypeName",
1046
1115
  "src": "898:9:63",
1047
1116
  "typeDescriptions": {
@@ -1053,12 +1122,12 @@
1053
1122
  },
1054
1123
  {
1055
1124
  "constant": false,
1056
- "id": 33375,
1125
+ "id": 33961,
1057
1126
  "mutability": "mutable",
1058
1127
  "name": "schemaIndex",
1059
1128
  "nameLocation": "932:11:63",
1060
1129
  "nodeType": "VariableDeclaration",
1061
- "scope": 33380,
1130
+ "scope": 33966,
1062
1131
  "src": "926:17:63",
1063
1132
  "stateVariable": false,
1064
1133
  "storageLocation": "default",
@@ -1067,7 +1136,7 @@
1067
1136
  "typeString": "uint8"
1068
1137
  },
1069
1138
  "typeName": {
1070
- "id": 33374,
1139
+ "id": 33960,
1071
1140
  "name": "uint8",
1072
1141
  "nodeType": "ElementaryTypeName",
1073
1142
  "src": "926:5:63",
@@ -1080,12 +1149,12 @@
1080
1149
  },
1081
1150
  {
1082
1151
  "constant": false,
1083
- "id": 33377,
1152
+ "id": 33963,
1084
1153
  "mutability": "mutable",
1085
1154
  "name": "data",
1086
1155
  "nameLocation": "964:4:63",
1087
1156
  "nodeType": "VariableDeclaration",
1088
- "scope": 33380,
1157
+ "scope": 33966,
1089
1158
  "src": "949:19:63",
1090
1159
  "stateVariable": false,
1091
1160
  "storageLocation": "calldata",
@@ -1094,7 +1163,7 @@
1094
1163
  "typeString": "bytes"
1095
1164
  },
1096
1165
  "typeName": {
1097
- "id": 33376,
1166
+ "id": 33962,
1098
1167
  "name": "bytes",
1099
1168
  "nodeType": "ElementaryTypeName",
1100
1169
  "src": "949:5:63",
@@ -1109,23 +1178,23 @@
1109
1178
  "src": "851:121:63"
1110
1179
  },
1111
1180
  "returnParameters": {
1112
- "id": 33379,
1181
+ "id": 33965,
1113
1182
  "nodeType": "ParameterList",
1114
1183
  "parameters": [],
1115
1184
  "src": "981:0:63"
1116
1185
  },
1117
- "scope": 33424,
1186
+ "scope": 34025,
1118
1187
  "stateMutability": "nonpayable",
1119
1188
  "virtual": false,
1120
1189
  "visibility": "external"
1121
1190
  },
1122
1191
  {
1123
- "id": 33395,
1192
+ "id": 33981,
1124
1193
  "nodeType": "FunctionDefinition",
1125
1194
  "src": "1147:157:63",
1126
1195
  "nodes": [],
1127
1196
  "documentation": {
1128
- "id": 33381,
1197
+ "id": 33967,
1129
1198
  "nodeType": "StructuredDocumentation",
1130
1199
  "src": "986:158:63",
1131
1200
  "text": " Push data to the end of a field in the table at the given namespace and name.\n Requires the caller to have access to the namespace or name."
@@ -1137,17 +1206,17 @@
1137
1206
  "name": "pushToField",
1138
1207
  "nameLocation": "1156:11:63",
1139
1208
  "parameters": {
1140
- "id": 33393,
1209
+ "id": 33979,
1141
1210
  "nodeType": "ParameterList",
1142
1211
  "parameters": [
1143
1212
  {
1144
1213
  "constant": false,
1145
- "id": 33383,
1214
+ "id": 33969,
1146
1215
  "mutability": "mutable",
1147
1216
  "name": "namespace",
1148
1217
  "nameLocation": "1181:9:63",
1149
1218
  "nodeType": "VariableDeclaration",
1150
- "scope": 33395,
1219
+ "scope": 33981,
1151
1220
  "src": "1173:17:63",
1152
1221
  "stateVariable": false,
1153
1222
  "storageLocation": "default",
@@ -1156,7 +1225,7 @@
1156
1225
  "typeString": "bytes16"
1157
1226
  },
1158
1227
  "typeName": {
1159
- "id": 33382,
1228
+ "id": 33968,
1160
1229
  "name": "bytes16",
1161
1230
  "nodeType": "ElementaryTypeName",
1162
1231
  "src": "1173:7:63",
@@ -1169,12 +1238,12 @@
1169
1238
  },
1170
1239
  {
1171
1240
  "constant": false,
1172
- "id": 33385,
1241
+ "id": 33971,
1173
1242
  "mutability": "mutable",
1174
1243
  "name": "name",
1175
1244
  "nameLocation": "1204:4:63",
1176
1245
  "nodeType": "VariableDeclaration",
1177
- "scope": 33395,
1246
+ "scope": 33981,
1178
1247
  "src": "1196:12:63",
1179
1248
  "stateVariable": false,
1180
1249
  "storageLocation": "default",
@@ -1183,7 +1252,7 @@
1183
1252
  "typeString": "bytes16"
1184
1253
  },
1185
1254
  "typeName": {
1186
- "id": 33384,
1255
+ "id": 33970,
1187
1256
  "name": "bytes16",
1188
1257
  "nodeType": "ElementaryTypeName",
1189
1258
  "src": "1196:7:63",
@@ -1196,12 +1265,12 @@
1196
1265
  },
1197
1266
  {
1198
1267
  "constant": false,
1199
- "id": 33388,
1268
+ "id": 33974,
1200
1269
  "mutability": "mutable",
1201
1270
  "name": "key",
1202
1271
  "nameLocation": "1233:3:63",
1203
1272
  "nodeType": "VariableDeclaration",
1204
- "scope": 33395,
1273
+ "scope": 33981,
1205
1274
  "src": "1214:22:63",
1206
1275
  "stateVariable": false,
1207
1276
  "storageLocation": "calldata",
@@ -1211,7 +1280,7 @@
1211
1280
  },
1212
1281
  "typeName": {
1213
1282
  "baseType": {
1214
- "id": 33386,
1283
+ "id": 33972,
1215
1284
  "name": "bytes32",
1216
1285
  "nodeType": "ElementaryTypeName",
1217
1286
  "src": "1214:7:63",
@@ -1220,7 +1289,7 @@
1220
1289
  "typeString": "bytes32"
1221
1290
  }
1222
1291
  },
1223
- "id": 33387,
1292
+ "id": 33973,
1224
1293
  "nodeType": "ArrayTypeName",
1225
1294
  "src": "1214:9:63",
1226
1295
  "typeDescriptions": {
@@ -1232,12 +1301,12 @@
1232
1301
  },
1233
1302
  {
1234
1303
  "constant": false,
1235
- "id": 33390,
1304
+ "id": 33976,
1236
1305
  "mutability": "mutable",
1237
1306
  "name": "schemaIndex",
1238
1307
  "nameLocation": "1248:11:63",
1239
1308
  "nodeType": "VariableDeclaration",
1240
- "scope": 33395,
1309
+ "scope": 33981,
1241
1310
  "src": "1242:17:63",
1242
1311
  "stateVariable": false,
1243
1312
  "storageLocation": "default",
@@ -1246,7 +1315,7 @@
1246
1315
  "typeString": "uint8"
1247
1316
  },
1248
1317
  "typeName": {
1249
- "id": 33389,
1318
+ "id": 33975,
1250
1319
  "name": "uint8",
1251
1320
  "nodeType": "ElementaryTypeName",
1252
1321
  "src": "1242:5:63",
@@ -1259,12 +1328,12 @@
1259
1328
  },
1260
1329
  {
1261
1330
  "constant": false,
1262
- "id": 33392,
1331
+ "id": 33978,
1263
1332
  "mutability": "mutable",
1264
1333
  "name": "dataToPush",
1265
1334
  "nameLocation": "1280:10:63",
1266
1335
  "nodeType": "VariableDeclaration",
1267
- "scope": 33395,
1336
+ "scope": 33981,
1268
1337
  "src": "1265:25:63",
1269
1338
  "stateVariable": false,
1270
1339
  "storageLocation": "calldata",
@@ -1273,7 +1342,7 @@
1273
1342
  "typeString": "bytes"
1274
1343
  },
1275
1344
  "typeName": {
1276
- "id": 33391,
1345
+ "id": 33977,
1277
1346
  "name": "bytes",
1278
1347
  "nodeType": "ElementaryTypeName",
1279
1348
  "src": "1265:5:63",
@@ -1288,25 +1357,204 @@
1288
1357
  "src": "1167:127:63"
1289
1358
  },
1290
1359
  "returnParameters": {
1291
- "id": 33394,
1360
+ "id": 33980,
1292
1361
  "nodeType": "ParameterList",
1293
1362
  "parameters": [],
1294
1363
  "src": "1303:0:63"
1295
1364
  },
1296
- "scope": 33424,
1365
+ "scope": 34025,
1297
1366
  "stateMutability": "nonpayable",
1298
1367
  "virtual": false,
1299
1368
  "visibility": "external"
1300
1369
  },
1301
1370
  {
1302
- "id": 33412,
1371
+ "id": 33996,
1303
1372
  "nodeType": "FunctionDefinition",
1304
- "src": "1480:186:63",
1373
+ "src": "1470:156:63",
1305
1374
  "nodes": [],
1306
1375
  "documentation": {
1307
- "id": 33396,
1376
+ "id": 33982,
1308
1377
  "nodeType": "StructuredDocumentation",
1309
- "src": "1308:169:63",
1378
+ "src": "1308:159:63",
1379
+ "text": " Pop data from the end of a field in the table at the given namespace and name.\n Requires the caller to have access to the namespace or name."
1380
+ },
1381
+ "functionSelector": "77841557",
1382
+ "implemented": false,
1383
+ "kind": "function",
1384
+ "modifiers": [],
1385
+ "name": "popFromField",
1386
+ "nameLocation": "1479:12:63",
1387
+ "parameters": {
1388
+ "id": 33994,
1389
+ "nodeType": "ParameterList",
1390
+ "parameters": [
1391
+ {
1392
+ "constant": false,
1393
+ "id": 33984,
1394
+ "mutability": "mutable",
1395
+ "name": "namespace",
1396
+ "nameLocation": "1505:9:63",
1397
+ "nodeType": "VariableDeclaration",
1398
+ "scope": 33996,
1399
+ "src": "1497:17:63",
1400
+ "stateVariable": false,
1401
+ "storageLocation": "default",
1402
+ "typeDescriptions": {
1403
+ "typeIdentifier": "t_bytes16",
1404
+ "typeString": "bytes16"
1405
+ },
1406
+ "typeName": {
1407
+ "id": 33983,
1408
+ "name": "bytes16",
1409
+ "nodeType": "ElementaryTypeName",
1410
+ "src": "1497:7:63",
1411
+ "typeDescriptions": {
1412
+ "typeIdentifier": "t_bytes16",
1413
+ "typeString": "bytes16"
1414
+ }
1415
+ },
1416
+ "visibility": "internal"
1417
+ },
1418
+ {
1419
+ "constant": false,
1420
+ "id": 33986,
1421
+ "mutability": "mutable",
1422
+ "name": "name",
1423
+ "nameLocation": "1528:4:63",
1424
+ "nodeType": "VariableDeclaration",
1425
+ "scope": 33996,
1426
+ "src": "1520:12:63",
1427
+ "stateVariable": false,
1428
+ "storageLocation": "default",
1429
+ "typeDescriptions": {
1430
+ "typeIdentifier": "t_bytes16",
1431
+ "typeString": "bytes16"
1432
+ },
1433
+ "typeName": {
1434
+ "id": 33985,
1435
+ "name": "bytes16",
1436
+ "nodeType": "ElementaryTypeName",
1437
+ "src": "1520:7:63",
1438
+ "typeDescriptions": {
1439
+ "typeIdentifier": "t_bytes16",
1440
+ "typeString": "bytes16"
1441
+ }
1442
+ },
1443
+ "visibility": "internal"
1444
+ },
1445
+ {
1446
+ "constant": false,
1447
+ "id": 33989,
1448
+ "mutability": "mutable",
1449
+ "name": "key",
1450
+ "nameLocation": "1557:3:63",
1451
+ "nodeType": "VariableDeclaration",
1452
+ "scope": 33996,
1453
+ "src": "1538:22:63",
1454
+ "stateVariable": false,
1455
+ "storageLocation": "calldata",
1456
+ "typeDescriptions": {
1457
+ "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
1458
+ "typeString": "bytes32[]"
1459
+ },
1460
+ "typeName": {
1461
+ "baseType": {
1462
+ "id": 33987,
1463
+ "name": "bytes32",
1464
+ "nodeType": "ElementaryTypeName",
1465
+ "src": "1538:7:63",
1466
+ "typeDescriptions": {
1467
+ "typeIdentifier": "t_bytes32",
1468
+ "typeString": "bytes32"
1469
+ }
1470
+ },
1471
+ "id": 33988,
1472
+ "nodeType": "ArrayTypeName",
1473
+ "src": "1538:9:63",
1474
+ "typeDescriptions": {
1475
+ "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
1476
+ "typeString": "bytes32[]"
1477
+ }
1478
+ },
1479
+ "visibility": "internal"
1480
+ },
1481
+ {
1482
+ "constant": false,
1483
+ "id": 33991,
1484
+ "mutability": "mutable",
1485
+ "name": "schemaIndex",
1486
+ "nameLocation": "1572:11:63",
1487
+ "nodeType": "VariableDeclaration",
1488
+ "scope": 33996,
1489
+ "src": "1566:17:63",
1490
+ "stateVariable": false,
1491
+ "storageLocation": "default",
1492
+ "typeDescriptions": {
1493
+ "typeIdentifier": "t_uint8",
1494
+ "typeString": "uint8"
1495
+ },
1496
+ "typeName": {
1497
+ "id": 33990,
1498
+ "name": "uint8",
1499
+ "nodeType": "ElementaryTypeName",
1500
+ "src": "1566:5:63",
1501
+ "typeDescriptions": {
1502
+ "typeIdentifier": "t_uint8",
1503
+ "typeString": "uint8"
1504
+ }
1505
+ },
1506
+ "visibility": "internal"
1507
+ },
1508
+ {
1509
+ "constant": false,
1510
+ "id": 33993,
1511
+ "mutability": "mutable",
1512
+ "name": "byteLengthToPop",
1513
+ "nameLocation": "1597:15:63",
1514
+ "nodeType": "VariableDeclaration",
1515
+ "scope": 33996,
1516
+ "src": "1589:23:63",
1517
+ "stateVariable": false,
1518
+ "storageLocation": "default",
1519
+ "typeDescriptions": {
1520
+ "typeIdentifier": "t_uint256",
1521
+ "typeString": "uint256"
1522
+ },
1523
+ "typeName": {
1524
+ "id": 33992,
1525
+ "name": "uint256",
1526
+ "nodeType": "ElementaryTypeName",
1527
+ "src": "1589:7:63",
1528
+ "typeDescriptions": {
1529
+ "typeIdentifier": "t_uint256",
1530
+ "typeString": "uint256"
1531
+ }
1532
+ },
1533
+ "visibility": "internal"
1534
+ }
1535
+ ],
1536
+ "src": "1491:125:63"
1537
+ },
1538
+ "returnParameters": {
1539
+ "id": 33995,
1540
+ "nodeType": "ParameterList",
1541
+ "parameters": [],
1542
+ "src": "1625:0:63"
1543
+ },
1544
+ "scope": 34025,
1545
+ "stateMutability": "nonpayable",
1546
+ "virtual": false,
1547
+ "visibility": "external"
1548
+ },
1549
+ {
1550
+ "id": 34013,
1551
+ "nodeType": "FunctionDefinition",
1552
+ "src": "1802:186:63",
1553
+ "nodes": [],
1554
+ "documentation": {
1555
+ "id": 33997,
1556
+ "nodeType": "StructuredDocumentation",
1557
+ "src": "1630:169:63",
1310
1558
  "text": " Update data at `startByteIndex` of a field in the table at the given namespace and name.\n Requires the caller to have access to the namespace or name."
1311
1559
  },
1312
1560
  "functionSelector": "d491953a",
@@ -1314,20 +1562,20 @@
1314
1562
  "kind": "function",
1315
1563
  "modifiers": [],
1316
1564
  "name": "updateInField",
1317
- "nameLocation": "1489:13:63",
1565
+ "nameLocation": "1811:13:63",
1318
1566
  "parameters": {
1319
- "id": 33410,
1567
+ "id": 34011,
1320
1568
  "nodeType": "ParameterList",
1321
1569
  "parameters": [
1322
1570
  {
1323
1571
  "constant": false,
1324
- "id": 33398,
1572
+ "id": 33999,
1325
1573
  "mutability": "mutable",
1326
1574
  "name": "namespace",
1327
- "nameLocation": "1516:9:63",
1575
+ "nameLocation": "1838:9:63",
1328
1576
  "nodeType": "VariableDeclaration",
1329
- "scope": 33412,
1330
- "src": "1508:17:63",
1577
+ "scope": 34013,
1578
+ "src": "1830:17:63",
1331
1579
  "stateVariable": false,
1332
1580
  "storageLocation": "default",
1333
1581
  "typeDescriptions": {
@@ -1335,10 +1583,10 @@
1335
1583
  "typeString": "bytes16"
1336
1584
  },
1337
1585
  "typeName": {
1338
- "id": 33397,
1586
+ "id": 33998,
1339
1587
  "name": "bytes16",
1340
1588
  "nodeType": "ElementaryTypeName",
1341
- "src": "1508:7:63",
1589
+ "src": "1830:7:63",
1342
1590
  "typeDescriptions": {
1343
1591
  "typeIdentifier": "t_bytes16",
1344
1592
  "typeString": "bytes16"
@@ -1348,13 +1596,13 @@
1348
1596
  },
1349
1597
  {
1350
1598
  "constant": false,
1351
- "id": 33400,
1599
+ "id": 34001,
1352
1600
  "mutability": "mutable",
1353
1601
  "name": "name",
1354
- "nameLocation": "1539:4:63",
1602
+ "nameLocation": "1861:4:63",
1355
1603
  "nodeType": "VariableDeclaration",
1356
- "scope": 33412,
1357
- "src": "1531:12:63",
1604
+ "scope": 34013,
1605
+ "src": "1853:12:63",
1358
1606
  "stateVariable": false,
1359
1607
  "storageLocation": "default",
1360
1608
  "typeDescriptions": {
@@ -1362,10 +1610,10 @@
1362
1610
  "typeString": "bytes16"
1363
1611
  },
1364
1612
  "typeName": {
1365
- "id": 33399,
1613
+ "id": 34000,
1366
1614
  "name": "bytes16",
1367
1615
  "nodeType": "ElementaryTypeName",
1368
- "src": "1531:7:63",
1616
+ "src": "1853:7:63",
1369
1617
  "typeDescriptions": {
1370
1618
  "typeIdentifier": "t_bytes16",
1371
1619
  "typeString": "bytes16"
@@ -1375,13 +1623,13 @@
1375
1623
  },
1376
1624
  {
1377
1625
  "constant": false,
1378
- "id": 33403,
1626
+ "id": 34004,
1379
1627
  "mutability": "mutable",
1380
1628
  "name": "key",
1381
- "nameLocation": "1568:3:63",
1629
+ "nameLocation": "1890:3:63",
1382
1630
  "nodeType": "VariableDeclaration",
1383
- "scope": 33412,
1384
- "src": "1549:22:63",
1631
+ "scope": 34013,
1632
+ "src": "1871:22:63",
1385
1633
  "stateVariable": false,
1386
1634
  "storageLocation": "calldata",
1387
1635
  "typeDescriptions": {
@@ -1390,18 +1638,18 @@
1390
1638
  },
1391
1639
  "typeName": {
1392
1640
  "baseType": {
1393
- "id": 33401,
1641
+ "id": 34002,
1394
1642
  "name": "bytes32",
1395
1643
  "nodeType": "ElementaryTypeName",
1396
- "src": "1549:7:63",
1644
+ "src": "1871:7:63",
1397
1645
  "typeDescriptions": {
1398
1646
  "typeIdentifier": "t_bytes32",
1399
1647
  "typeString": "bytes32"
1400
1648
  }
1401
1649
  },
1402
- "id": 33402,
1650
+ "id": 34003,
1403
1651
  "nodeType": "ArrayTypeName",
1404
- "src": "1549:9:63",
1652
+ "src": "1871:9:63",
1405
1653
  "typeDescriptions": {
1406
1654
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
1407
1655
  "typeString": "bytes32[]"
@@ -1411,13 +1659,13 @@
1411
1659
  },
1412
1660
  {
1413
1661
  "constant": false,
1414
- "id": 33405,
1662
+ "id": 34006,
1415
1663
  "mutability": "mutable",
1416
1664
  "name": "schemaIndex",
1417
- "nameLocation": "1583:11:63",
1665
+ "nameLocation": "1905:11:63",
1418
1666
  "nodeType": "VariableDeclaration",
1419
- "scope": 33412,
1420
- "src": "1577:17:63",
1667
+ "scope": 34013,
1668
+ "src": "1899:17:63",
1421
1669
  "stateVariable": false,
1422
1670
  "storageLocation": "default",
1423
1671
  "typeDescriptions": {
@@ -1425,10 +1673,10 @@
1425
1673
  "typeString": "uint8"
1426
1674
  },
1427
1675
  "typeName": {
1428
- "id": 33404,
1676
+ "id": 34005,
1429
1677
  "name": "uint8",
1430
1678
  "nodeType": "ElementaryTypeName",
1431
- "src": "1577:5:63",
1679
+ "src": "1899:5:63",
1432
1680
  "typeDescriptions": {
1433
1681
  "typeIdentifier": "t_uint8",
1434
1682
  "typeString": "uint8"
@@ -1438,13 +1686,13 @@
1438
1686
  },
1439
1687
  {
1440
1688
  "constant": false,
1441
- "id": 33407,
1689
+ "id": 34008,
1442
1690
  "mutability": "mutable",
1443
1691
  "name": "startByteIndex",
1444
- "nameLocation": "1608:14:63",
1692
+ "nameLocation": "1930:14:63",
1445
1693
  "nodeType": "VariableDeclaration",
1446
- "scope": 33412,
1447
- "src": "1600:22:63",
1694
+ "scope": 34013,
1695
+ "src": "1922:22:63",
1448
1696
  "stateVariable": false,
1449
1697
  "storageLocation": "default",
1450
1698
  "typeDescriptions": {
@@ -1452,10 +1700,10 @@
1452
1700
  "typeString": "uint256"
1453
1701
  },
1454
1702
  "typeName": {
1455
- "id": 33406,
1703
+ "id": 34007,
1456
1704
  "name": "uint256",
1457
1705
  "nodeType": "ElementaryTypeName",
1458
- "src": "1600:7:63",
1706
+ "src": "1922:7:63",
1459
1707
  "typeDescriptions": {
1460
1708
  "typeIdentifier": "t_uint256",
1461
1709
  "typeString": "uint256"
@@ -1465,13 +1713,13 @@
1465
1713
  },
1466
1714
  {
1467
1715
  "constant": false,
1468
- "id": 33409,
1716
+ "id": 34010,
1469
1717
  "mutability": "mutable",
1470
1718
  "name": "dataToSet",
1471
- "nameLocation": "1643:9:63",
1719
+ "nameLocation": "1965:9:63",
1472
1720
  "nodeType": "VariableDeclaration",
1473
- "scope": 33412,
1474
- "src": "1628:24:63",
1721
+ "scope": 34013,
1722
+ "src": "1950:24:63",
1475
1723
  "stateVariable": false,
1476
1724
  "storageLocation": "calldata",
1477
1725
  "typeDescriptions": {
@@ -1479,10 +1727,10 @@
1479
1727
  "typeString": "bytes"
1480
1728
  },
1481
1729
  "typeName": {
1482
- "id": 33408,
1730
+ "id": 34009,
1483
1731
  "name": "bytes",
1484
1732
  "nodeType": "ElementaryTypeName",
1485
- "src": "1628:5:63",
1733
+ "src": "1950:5:63",
1486
1734
  "typeDescriptions": {
1487
1735
  "typeIdentifier": "t_bytes_storage_ptr",
1488
1736
  "typeString": "bytes"
@@ -1491,28 +1739,28 @@
1491
1739
  "visibility": "internal"
1492
1740
  }
1493
1741
  ],
1494
- "src": "1502:154:63"
1742
+ "src": "1824:154:63"
1495
1743
  },
1496
1744
  "returnParameters": {
1497
- "id": 33411,
1745
+ "id": 34012,
1498
1746
  "nodeType": "ParameterList",
1499
1747
  "parameters": [],
1500
- "src": "1665:0:63"
1748
+ "src": "1987:0:63"
1501
1749
  },
1502
- "scope": 33424,
1750
+ "scope": 34025,
1503
1751
  "stateMutability": "nonpayable",
1504
1752
  "virtual": false,
1505
1753
  "visibility": "external"
1506
1754
  },
1507
1755
  {
1508
- "id": 33423,
1756
+ "id": 34024,
1509
1757
  "nodeType": "FunctionDefinition",
1510
- "src": "1815:88:63",
1758
+ "src": "2137:88:63",
1511
1759
  "nodes": [],
1512
1760
  "documentation": {
1513
- "id": 33413,
1761
+ "id": 34014,
1514
1762
  "nodeType": "StructuredDocumentation",
1515
- "src": "1670:142:63",
1763
+ "src": "1992:142:63",
1516
1764
  "text": " Delete a record in the table at the given namespace and name.\n Requires the caller to have access to the namespace or name."
1517
1765
  },
1518
1766
  "functionSelector": "e3f8cc6b",
@@ -1520,20 +1768,20 @@
1520
1768
  "kind": "function",
1521
1769
  "modifiers": [],
1522
1770
  "name": "deleteRecord",
1523
- "nameLocation": "1824:12:63",
1771
+ "nameLocation": "2146:12:63",
1524
1772
  "parameters": {
1525
- "id": 33421,
1773
+ "id": 34022,
1526
1774
  "nodeType": "ParameterList",
1527
1775
  "parameters": [
1528
1776
  {
1529
1777
  "constant": false,
1530
- "id": 33415,
1778
+ "id": 34016,
1531
1779
  "mutability": "mutable",
1532
1780
  "name": "namespace",
1533
- "nameLocation": "1845:9:63",
1781
+ "nameLocation": "2167:9:63",
1534
1782
  "nodeType": "VariableDeclaration",
1535
- "scope": 33423,
1536
- "src": "1837:17:63",
1783
+ "scope": 34024,
1784
+ "src": "2159:17:63",
1537
1785
  "stateVariable": false,
1538
1786
  "storageLocation": "default",
1539
1787
  "typeDescriptions": {
@@ -1541,10 +1789,10 @@
1541
1789
  "typeString": "bytes16"
1542
1790
  },
1543
1791
  "typeName": {
1544
- "id": 33414,
1792
+ "id": 34015,
1545
1793
  "name": "bytes16",
1546
1794
  "nodeType": "ElementaryTypeName",
1547
- "src": "1837:7:63",
1795
+ "src": "2159:7:63",
1548
1796
  "typeDescriptions": {
1549
1797
  "typeIdentifier": "t_bytes16",
1550
1798
  "typeString": "bytes16"
@@ -1554,13 +1802,13 @@
1554
1802
  },
1555
1803
  {
1556
1804
  "constant": false,
1557
- "id": 33417,
1805
+ "id": 34018,
1558
1806
  "mutability": "mutable",
1559
1807
  "name": "name",
1560
- "nameLocation": "1864:4:63",
1808
+ "nameLocation": "2186:4:63",
1561
1809
  "nodeType": "VariableDeclaration",
1562
- "scope": 33423,
1563
- "src": "1856:12:63",
1810
+ "scope": 34024,
1811
+ "src": "2178:12:63",
1564
1812
  "stateVariable": false,
1565
1813
  "storageLocation": "default",
1566
1814
  "typeDescriptions": {
@@ -1568,10 +1816,10 @@
1568
1816
  "typeString": "bytes16"
1569
1817
  },
1570
1818
  "typeName": {
1571
- "id": 33416,
1819
+ "id": 34017,
1572
1820
  "name": "bytes16",
1573
1821
  "nodeType": "ElementaryTypeName",
1574
- "src": "1856:7:63",
1822
+ "src": "2178:7:63",
1575
1823
  "typeDescriptions": {
1576
1824
  "typeIdentifier": "t_bytes16",
1577
1825
  "typeString": "bytes16"
@@ -1581,13 +1829,13 @@
1581
1829
  },
1582
1830
  {
1583
1831
  "constant": false,
1584
- "id": 33420,
1832
+ "id": 34021,
1585
1833
  "mutability": "mutable",
1586
1834
  "name": "key",
1587
- "nameLocation": "1889:3:63",
1835
+ "nameLocation": "2211:3:63",
1588
1836
  "nodeType": "VariableDeclaration",
1589
- "scope": 33423,
1590
- "src": "1870:22:63",
1837
+ "scope": 34024,
1838
+ "src": "2192:22:63",
1591
1839
  "stateVariable": false,
1592
1840
  "storageLocation": "calldata",
1593
1841
  "typeDescriptions": {
@@ -1596,18 +1844,18 @@
1596
1844
  },
1597
1845
  "typeName": {
1598
1846
  "baseType": {
1599
- "id": 33418,
1847
+ "id": 34019,
1600
1848
  "name": "bytes32",
1601
1849
  "nodeType": "ElementaryTypeName",
1602
- "src": "1870:7:63",
1850
+ "src": "2192:7:63",
1603
1851
  "typeDescriptions": {
1604
1852
  "typeIdentifier": "t_bytes32",
1605
1853
  "typeString": "bytes32"
1606
1854
  }
1607
1855
  },
1608
- "id": 33419,
1856
+ "id": 34020,
1609
1857
  "nodeType": "ArrayTypeName",
1610
- "src": "1870:9:63",
1858
+ "src": "2192:9:63",
1611
1859
  "typeDescriptions": {
1612
1860
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
1613
1861
  "typeString": "bytes32[]"
@@ -1616,15 +1864,15 @@
1616
1864
  "visibility": "internal"
1617
1865
  }
1618
1866
  ],
1619
- "src": "1836:57:63"
1867
+ "src": "2158:57:63"
1620
1868
  },
1621
1869
  "returnParameters": {
1622
- "id": 33422,
1870
+ "id": 34023,
1623
1871
  "nodeType": "ParameterList",
1624
1872
  "parameters": [],
1625
- "src": "1902:0:63"
1873
+ "src": "2224:0:63"
1626
1874
  },
1627
- "scope": 33424,
1875
+ "scope": 34025,
1628
1876
  "stateMutability": "nonpayable",
1629
1877
  "virtual": false,
1630
1878
  "visibility": "external"
@@ -1636,34 +1884,34 @@
1636
1884
  "contractDependencies": [],
1637
1885
  "contractKind": "interface",
1638
1886
  "documentation": {
1639
- "id": 33352,
1887
+ "id": 33938,
1640
1888
  "nodeType": "StructuredDocumentation",
1641
1889
  "src": "141:270:63",
1642
1890
  "text": " The IWorldData interface includes methods for reading and writing table values.\n These methods are frequently invoked during runtime, so it is essential to prioritize\n optimizing their gas cost, and they are part of the World contract's internal bytecode."
1643
1891
  },
1644
1892
  "fullyImplemented": false,
1645
1893
  "linearizedBaseContracts": [
1646
- 33424
1894
+ 34025
1647
1895
  ],
1648
1896
  "name": "IWorldData",
1649
1897
  "nameLocation": "422:10:63",
1650
- "scope": 33458,
1898
+ "scope": 34059,
1651
1899
  "usedErrors": []
1652
1900
  },
1653
1901
  {
1654
- "id": 33434,
1902
+ "id": 34035,
1655
1903
  "nodeType": "ContractDefinition",
1656
- "src": "1907:296:63",
1904
+ "src": "2229:296:63",
1657
1905
  "nodes": [
1658
1906
  {
1659
- "id": 33433,
1907
+ "id": 34034,
1660
1908
  "nodeType": "FunctionDefinition",
1661
- "src": "2130:71:63",
1909
+ "src": "2452:71:63",
1662
1910
  "nodes": [],
1663
1911
  "documentation": {
1664
- "id": 33425,
1912
+ "id": 34026,
1665
1913
  "nodeType": "StructuredDocumentation",
1666
- "src": "1946:181:63",
1914
+ "src": "2268:181:63",
1667
1915
  "text": " Install the given root module in the World.\n Requires the caller to own the root namespace.\n The module is delegatecalled and installed in the root namespace."
1668
1916
  },
1669
1917
  "functionSelector": "af068c9e",
@@ -1671,40 +1919,40 @@
1671
1919
  "kind": "function",
1672
1920
  "modifiers": [],
1673
1921
  "name": "installRootModule",
1674
- "nameLocation": "2139:17:63",
1922
+ "nameLocation": "2461:17:63",
1675
1923
  "parameters": {
1676
- "id": 33431,
1924
+ "id": 34032,
1677
1925
  "nodeType": "ParameterList",
1678
1926
  "parameters": [
1679
1927
  {
1680
1928
  "constant": false,
1681
- "id": 33428,
1929
+ "id": 34029,
1682
1930
  "mutability": "mutable",
1683
1931
  "name": "module",
1684
- "nameLocation": "2165:6:63",
1932
+ "nameLocation": "2487:6:63",
1685
1933
  "nodeType": "VariableDeclaration",
1686
- "scope": 33433,
1687
- "src": "2157:14:63",
1934
+ "scope": 34034,
1935
+ "src": "2479:14:63",
1688
1936
  "stateVariable": false,
1689
1937
  "storageLocation": "default",
1690
1938
  "typeDescriptions": {
1691
- "typeIdentifier": "t_contract$_IModule_$33277",
1939
+ "typeIdentifier": "t_contract$_IModule_$33863",
1692
1940
  "typeString": "contract IModule"
1693
1941
  },
1694
1942
  "typeName": {
1695
- "id": 33427,
1943
+ "id": 34028,
1696
1944
  "nodeType": "UserDefinedTypeName",
1697
1945
  "pathNode": {
1698
- "id": 33426,
1946
+ "id": 34027,
1699
1947
  "name": "IModule",
1700
1948
  "nodeType": "IdentifierPath",
1701
- "referencedDeclaration": 33277,
1702
- "src": "2157:7:63"
1949
+ "referencedDeclaration": 33863,
1950
+ "src": "2479:7:63"
1703
1951
  },
1704
- "referencedDeclaration": 33277,
1705
- "src": "2157:7:63",
1952
+ "referencedDeclaration": 33863,
1953
+ "src": "2479:7:63",
1706
1954
  "typeDescriptions": {
1707
- "typeIdentifier": "t_contract$_IModule_$33277",
1955
+ "typeIdentifier": "t_contract$_IModule_$33863",
1708
1956
  "typeString": "contract IModule"
1709
1957
  }
1710
1958
  },
@@ -1712,13 +1960,13 @@
1712
1960
  },
1713
1961
  {
1714
1962
  "constant": false,
1715
- "id": 33430,
1963
+ "id": 34031,
1716
1964
  "mutability": "mutable",
1717
1965
  "name": "args",
1718
- "nameLocation": "2186:4:63",
1966
+ "nameLocation": "2508:4:63",
1719
1967
  "nodeType": "VariableDeclaration",
1720
- "scope": 33433,
1721
- "src": "2173:17:63",
1968
+ "scope": 34034,
1969
+ "src": "2495:17:63",
1722
1970
  "stateVariable": false,
1723
1971
  "storageLocation": "memory",
1724
1972
  "typeDescriptions": {
@@ -1726,10 +1974,10 @@
1726
1974
  "typeString": "bytes"
1727
1975
  },
1728
1976
  "typeName": {
1729
- "id": 33429,
1977
+ "id": 34030,
1730
1978
  "name": "bytes",
1731
1979
  "nodeType": "ElementaryTypeName",
1732
- "src": "2173:5:63",
1980
+ "src": "2495:5:63",
1733
1981
  "typeDescriptions": {
1734
1982
  "typeIdentifier": "t_bytes_storage_ptr",
1735
1983
  "typeString": "bytes"
@@ -1738,15 +1986,15 @@
1738
1986
  "visibility": "internal"
1739
1987
  }
1740
1988
  ],
1741
- "src": "2156:35:63"
1989
+ "src": "2478:35:63"
1742
1990
  },
1743
1991
  "returnParameters": {
1744
- "id": 33432,
1992
+ "id": 34033,
1745
1993
  "nodeType": "ParameterList",
1746
1994
  "parameters": [],
1747
- "src": "2200:0:63"
1995
+ "src": "2522:0:63"
1748
1996
  },
1749
- "scope": 33434,
1997
+ "scope": 34035,
1750
1998
  "stateMutability": "nonpayable",
1751
1999
  "virtual": false,
1752
2000
  "visibility": "external"
@@ -1759,27 +2007,27 @@
1759
2007
  "contractKind": "interface",
1760
2008
  "fullyImplemented": false,
1761
2009
  "linearizedBaseContracts": [
1762
- 33434
2010
+ 34035
1763
2011
  ],
1764
2012
  "name": "IWorldModuleInstallation",
1765
- "nameLocation": "1917:24:63",
1766
- "scope": 33458,
2013
+ "nameLocation": "2239:24:63",
2014
+ "scope": 34059,
1767
2015
  "usedErrors": []
1768
2016
  },
1769
2017
  {
1770
- "id": 33447,
2018
+ "id": 34048,
1771
2019
  "nodeType": "ContractDefinition",
1772
- "src": "2205:318:63",
2020
+ "src": "2527:318:63",
1773
2021
  "nodes": [
1774
2022
  {
1775
- "id": 33446,
2023
+ "id": 34047,
1776
2024
  "nodeType": "FunctionDefinition",
1777
- "src": "2384:137:63",
2025
+ "src": "2706:137:63",
1778
2026
  "nodes": [],
1779
2027
  "documentation": {
1780
- "id": 33435,
2028
+ "id": 34036,
1781
2029
  "nodeType": "StructuredDocumentation",
1782
- "src": "2230:151:63",
2030
+ "src": "2552:151:63",
1783
2031
  "text": " Call the system at the given namespace and name.\n If the system is not public, the caller must have access to the namespace or name."
1784
2032
  },
1785
2033
  "functionSelector": "832f05f4",
@@ -1787,20 +2035,20 @@
1787
2035
  "kind": "function",
1788
2036
  "modifiers": [],
1789
2037
  "name": "call",
1790
- "nameLocation": "2393:4:63",
2038
+ "nameLocation": "2715:4:63",
1791
2039
  "parameters": {
1792
- "id": 33442,
2040
+ "id": 34043,
1793
2041
  "nodeType": "ParameterList",
1794
2042
  "parameters": [
1795
2043
  {
1796
2044
  "constant": false,
1797
- "id": 33437,
2045
+ "id": 34038,
1798
2046
  "mutability": "mutable",
1799
2047
  "name": "namespace",
1800
- "nameLocation": "2411:9:63",
2048
+ "nameLocation": "2733:9:63",
1801
2049
  "nodeType": "VariableDeclaration",
1802
- "scope": 33446,
1803
- "src": "2403:17:63",
2050
+ "scope": 34047,
2051
+ "src": "2725:17:63",
1804
2052
  "stateVariable": false,
1805
2053
  "storageLocation": "default",
1806
2054
  "typeDescriptions": {
@@ -1808,10 +2056,10 @@
1808
2056
  "typeString": "bytes16"
1809
2057
  },
1810
2058
  "typeName": {
1811
- "id": 33436,
2059
+ "id": 34037,
1812
2060
  "name": "bytes16",
1813
2061
  "nodeType": "ElementaryTypeName",
1814
- "src": "2403:7:63",
2062
+ "src": "2725:7:63",
1815
2063
  "typeDescriptions": {
1816
2064
  "typeIdentifier": "t_bytes16",
1817
2065
  "typeString": "bytes16"
@@ -1821,13 +2069,13 @@
1821
2069
  },
1822
2070
  {
1823
2071
  "constant": false,
1824
- "id": 33439,
2072
+ "id": 34040,
1825
2073
  "mutability": "mutable",
1826
2074
  "name": "name",
1827
- "nameLocation": "2434:4:63",
2075
+ "nameLocation": "2756:4:63",
1828
2076
  "nodeType": "VariableDeclaration",
1829
- "scope": 33446,
1830
- "src": "2426:12:63",
2077
+ "scope": 34047,
2078
+ "src": "2748:12:63",
1831
2079
  "stateVariable": false,
1832
2080
  "storageLocation": "default",
1833
2081
  "typeDescriptions": {
@@ -1835,10 +2083,10 @@
1835
2083
  "typeString": "bytes16"
1836
2084
  },
1837
2085
  "typeName": {
1838
- "id": 33438,
2086
+ "id": 34039,
1839
2087
  "name": "bytes16",
1840
2088
  "nodeType": "ElementaryTypeName",
1841
- "src": "2426:7:63",
2089
+ "src": "2748:7:63",
1842
2090
  "typeDescriptions": {
1843
2091
  "typeIdentifier": "t_bytes16",
1844
2092
  "typeString": "bytes16"
@@ -1848,13 +2096,13 @@
1848
2096
  },
1849
2097
  {
1850
2098
  "constant": false,
1851
- "id": 33441,
2099
+ "id": 34042,
1852
2100
  "mutability": "mutable",
1853
2101
  "name": "funcSelectorAndArgs",
1854
- "nameLocation": "2457:19:63",
2102
+ "nameLocation": "2779:19:63",
1855
2103
  "nodeType": "VariableDeclaration",
1856
- "scope": 33446,
1857
- "src": "2444:32:63",
2104
+ "scope": 34047,
2105
+ "src": "2766:32:63",
1858
2106
  "stateVariable": false,
1859
2107
  "storageLocation": "memory",
1860
2108
  "typeDescriptions": {
@@ -1862,10 +2110,10 @@
1862
2110
  "typeString": "bytes"
1863
2111
  },
1864
2112
  "typeName": {
1865
- "id": 33440,
2113
+ "id": 34041,
1866
2114
  "name": "bytes",
1867
2115
  "nodeType": "ElementaryTypeName",
1868
- "src": "2444:5:63",
2116
+ "src": "2766:5:63",
1869
2117
  "typeDescriptions": {
1870
2118
  "typeIdentifier": "t_bytes_storage_ptr",
1871
2119
  "typeString": "bytes"
@@ -1874,21 +2122,21 @@
1874
2122
  "visibility": "internal"
1875
2123
  }
1876
2124
  ],
1877
- "src": "2397:83:63"
2125
+ "src": "2719:83:63"
1878
2126
  },
1879
2127
  "returnParameters": {
1880
- "id": 33445,
2128
+ "id": 34046,
1881
2129
  "nodeType": "ParameterList",
1882
2130
  "parameters": [
1883
2131
  {
1884
2132
  "constant": false,
1885
- "id": 33444,
2133
+ "id": 34045,
1886
2134
  "mutability": "mutable",
1887
2135
  "name": "",
1888
2136
  "nameLocation": "-1:-1:-1",
1889
2137
  "nodeType": "VariableDeclaration",
1890
- "scope": 33446,
1891
- "src": "2507:12:63",
2138
+ "scope": 34047,
2139
+ "src": "2829:12:63",
1892
2140
  "stateVariable": false,
1893
2141
  "storageLocation": "memory",
1894
2142
  "typeDescriptions": {
@@ -1896,10 +2144,10 @@
1896
2144
  "typeString": "bytes"
1897
2145
  },
1898
2146
  "typeName": {
1899
- "id": 33443,
2147
+ "id": 34044,
1900
2148
  "name": "bytes",
1901
2149
  "nodeType": "ElementaryTypeName",
1902
- "src": "2507:5:63",
2150
+ "src": "2829:5:63",
1903
2151
  "typeDescriptions": {
1904
2152
  "typeIdentifier": "t_bytes_storage_ptr",
1905
2153
  "typeString": "bytes"
@@ -1908,9 +2156,9 @@
1908
2156
  "visibility": "internal"
1909
2157
  }
1910
2158
  ],
1911
- "src": "2506:14:63"
2159
+ "src": "2828:14:63"
1912
2160
  },
1913
- "scope": 33447,
2161
+ "scope": 34048,
1914
2162
  "stateMutability": "payable",
1915
2163
  "virtual": false,
1916
2164
  "visibility": "external"
@@ -1923,98 +2171,98 @@
1923
2171
  "contractKind": "interface",
1924
2172
  "fullyImplemented": false,
1925
2173
  "linearizedBaseContracts": [
1926
- 33447
2174
+ 34048
1927
2175
  ],
1928
2176
  "name": "IWorldCall",
1929
- "nameLocation": "2215:10:63",
1930
- "scope": 33458,
2177
+ "nameLocation": "2537:10:63",
2178
+ "scope": 34059,
1931
2179
  "usedErrors": []
1932
2180
  },
1933
2181
  {
1934
- "id": 33457,
2182
+ "id": 34058,
1935
2183
  "nodeType": "ContractDefinition",
1936
- "src": "2791:88:63",
2184
+ "src": "3113:88:63",
1937
2185
  "nodes": [],
1938
2186
  "abstract": false,
1939
2187
  "baseContracts": [
1940
2188
  {
1941
2189
  "baseName": {
1942
- "id": 33449,
2190
+ "id": 34050,
1943
2191
  "name": "IWorldData",
1944
2192
  "nodeType": "IdentifierPath",
1945
- "referencedDeclaration": 33424,
1946
- "src": "2817:10:63"
2193
+ "referencedDeclaration": 34025,
2194
+ "src": "3139:10:63"
1947
2195
  },
1948
- "id": 33450,
2196
+ "id": 34051,
1949
2197
  "nodeType": "InheritanceSpecifier",
1950
- "src": "2817:10:63"
2198
+ "src": "3139:10:63"
1951
2199
  },
1952
2200
  {
1953
2201
  "baseName": {
1954
- "id": 33451,
2202
+ "id": 34052,
1955
2203
  "name": "IWorldModuleInstallation",
1956
2204
  "nodeType": "IdentifierPath",
1957
- "referencedDeclaration": 33434,
1958
- "src": "2829:24:63"
2205
+ "referencedDeclaration": 34035,
2206
+ "src": "3151:24:63"
1959
2207
  },
1960
- "id": 33452,
2208
+ "id": 34053,
1961
2209
  "nodeType": "InheritanceSpecifier",
1962
- "src": "2829:24:63"
2210
+ "src": "3151:24:63"
1963
2211
  },
1964
2212
  {
1965
2213
  "baseName": {
1966
- "id": 33453,
2214
+ "id": 34054,
1967
2215
  "name": "IWorldCall",
1968
2216
  "nodeType": "IdentifierPath",
1969
- "referencedDeclaration": 33447,
1970
- "src": "2855:10:63"
2217
+ "referencedDeclaration": 34048,
2218
+ "src": "3177:10:63"
1971
2219
  },
1972
- "id": 33454,
2220
+ "id": 34055,
1973
2221
  "nodeType": "InheritanceSpecifier",
1974
- "src": "2855:10:63"
2222
+ "src": "3177:10:63"
1975
2223
  },
1976
2224
  {
1977
2225
  "baseName": {
1978
- "id": 33455,
2226
+ "id": 34056,
1979
2227
  "name": "IErrors",
1980
2228
  "nodeType": "IdentifierPath",
1981
- "referencedDeclaration": 33258,
1982
- "src": "2867:7:63"
2229
+ "referencedDeclaration": 33844,
2230
+ "src": "3189:7:63"
1983
2231
  },
1984
- "id": 33456,
2232
+ "id": 34057,
1985
2233
  "nodeType": "InheritanceSpecifier",
1986
- "src": "2867:7:63"
2234
+ "src": "3189:7:63"
1987
2235
  }
1988
2236
  ],
1989
2237
  "canonicalName": "IWorldKernel",
1990
2238
  "contractDependencies": [],
1991
2239
  "contractKind": "interface",
1992
2240
  "documentation": {
1993
- "id": 33448,
2241
+ "id": 34049,
1994
2242
  "nodeType": "StructuredDocumentation",
1995
- "src": "2525:265:63",
2243
+ "src": "2847:265:63",
1996
2244
  "text": " The IWorldKernel interface includes all methods that are part of the World contract's\n internal bytecode.\n Consumers should use the `IBaseWorld` interface instead, which includes dynamically\n registered functions selectors from the `CoreModule`."
1997
2245
  },
1998
2246
  "fullyImplemented": false,
1999
2247
  "linearizedBaseContracts": [
2000
- 33457,
2001
- 33258,
2002
- 33447,
2003
- 33434,
2004
- 33424
2248
+ 34058,
2249
+ 33844,
2250
+ 34048,
2251
+ 34035,
2252
+ 34025
2005
2253
  ],
2006
2254
  "name": "IWorldKernel",
2007
- "nameLocation": "2801:12:63",
2008
- "scope": 33458,
2255
+ "nameLocation": "3123:12:63",
2256
+ "scope": 34059,
2009
2257
  "usedErrors": [
2010
- 33227,
2011
- 33231,
2012
- 33237,
2013
- 33241,
2014
- 33245,
2015
- 33249,
2016
- 33253,
2017
- 33257
2258
+ 33813,
2259
+ 33817,
2260
+ 33823,
2261
+ 33827,
2262
+ 33831,
2263
+ 33835,
2264
+ 33839,
2265
+ 33843
2018
2266
  ]
2019
2267
  }
2020
2268
  ],