@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
@@ -220,6 +220,34 @@
220
220
  "stateMutability": "view",
221
221
  "type": "function"
222
222
  },
223
+ {
224
+ "inputs": [
225
+ {
226
+ "internalType": "bytes32",
227
+ "name": "table",
228
+ "type": "bytes32"
229
+ },
230
+ {
231
+ "internalType": "bytes32[]",
232
+ "name": "key",
233
+ "type": "bytes32[]"
234
+ },
235
+ {
236
+ "internalType": "uint8",
237
+ "name": "schemaIndex",
238
+ "type": "uint8"
239
+ },
240
+ {
241
+ "internalType": "uint256",
242
+ "name": "byteLengthToPop",
243
+ "type": "uint256"
244
+ }
245
+ ],
246
+ "name": "popFromField",
247
+ "outputs": [],
248
+ "stateMutability": "nonpayable",
249
+ "type": "function"
250
+ },
223
251
  {
224
252
  "inputs": [
225
253
  {
@@ -351,12 +379,13 @@
351
379
  "getRecord(bytes32,bytes32[],bytes32)": "419b58fd",
352
380
  "getSchema(bytes32)": "a2ea7c6e",
353
381
  "isStore()": "a5c2f007",
382
+ "popFromField(bytes32,bytes32[],uint8,uint256)": "8c1f9a54",
354
383
  "pushToField(bytes32,bytes32[],uint8,bytes)": "0c1a6000",
355
384
  "setField(bytes32,bytes32[],uint8,bytes)": "114a7266",
356
385
  "setRecord(bytes32,bytes32[],bytes)": "8ed41f2f",
357
386
  "updateInField(bytes32,bytes32[],uint8,uint256,bytes)": "776d4047"
358
387
  },
359
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"StoreDeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetField\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetRecord\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isStore\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"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\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"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\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"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\":{},\"notice\":\"The IStoreData interface includes methods for reading and writing table values. These methods are frequently invoked during runtime, so it is essential to prioritize optimizing their gas cost\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/store/src/IStore.sol\":\"IStoreData\"},\"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\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0xe881f296ba0fe410faa6395ee4a65b9bf154947aebc6aa323d41a0484504221e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba7f706464d14365ff751936ba96f79f200df7bcd9d9f8abccd0b41387ca7967\",\"dweb:/ipfs/QmTiHgH3ZM2oJoqsbNs3iwwPFNYFNU7m8co87woxRLaUZ6\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x117331c70b8cda783991a6b3e14861176068086526548d334cef8e1c24e16d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://613026caf6782e8a4ad0f366781fc13141492b667a723bdea69250c9b517c790\",\"dweb:/ipfs/QmQqwBSjcrDUoVvmXxeKZZpyGSEpeMTh2QZRExQTdZLrCt\"]},\"node_modules/@latticexyz/store/src/IErrors.sol\":{\"keccak256\":\"0xc29b8d9d2597c6e9fcfbb37714cfa02270983c95e5a54b4c70eb9d99abcfe4e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df9591141bec48fb57df31c0c5632085d5347d194292b14b479930bac5c8274\",\"dweb:/ipfs/Qmaa3yV9YeJ14wYyWcFYHjAhRc9qaU6WrejNAmdSP7oQRV\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x83954f095b02ffb6ea0d391ecf6092e8304b03119dced171fbce4ee7483d3de2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02aeafbedef0b4d5845cd8e707673872fd4fc165fe8508ad348506f053e73ee5\",\"dweb:/ipfs/QmcE33C9Mw7fdnhHKmrabwzBH2JyjF4XCG3S4D9AtzMXs2\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x706d0d1ddd874bdcd4f73422721420b32939c1c96d4718db8b1b8e9f78bfa76c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed8c858fa9c3756cb70cb92bb860e0ae6429eb62551b502fb4a883e1344eb42\",\"dweb:/ipfs/QmezLAADZmFj8bKS9dccTQYHcpy4g8PSZ75AuvppSwjrW7\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xf06793dc2e9e9994403d29125359eb2f326b0e6e502d51a8e6e4e45fc9d90a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cb23bf421b29839200e5584a770186309dd05cd77d4345c964f47528117a244\",\"dweb:/ipfs/QmQBvrDAtoqibky7CjCLKxGz3MquxK1iNk2Yac55Lc4xF5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x14879c6c859cad89451616dcee1ab6222fd565849809b89407de48f0c1a01133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924caa18aa0e656a295da626d586dfb120bbea321123010462b0640c7e0c52c4\",\"dweb:/ipfs/QmNueqwy4g5mwq9kXaPzue8X2mqyFjH2P2AFi3pNN3WTAt\"]},\"node_modules/@latticexyz/store/src/Utils.sol\":{\"keccak256\":\"0x426216bfa1c0e70640787007a6e39257cf09e586fd04831ea4fb3dd9c5768fc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38e657fa9cfaebe39477eaff27d1ad4d7eeaf0c0058539d2ec7e6976d93df4f4\",\"dweb:/ipfs/QmRuaxqRjUrHHC2ZyTnpmq6sfrWGCDh91B6F5chFAToU6U\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xe760dfb8ff20cfb44eee6a5f03ac84abbc91382fca2e36c88c92046e6b3a66e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eb4b355c547ffee62031d8dfb80844fa31fa4460543a088278083662dc4c12\",\"dweb:/ipfs/Qmf8sRcrjJ6hEQ8TPwwe6KcXcE2MPw7Juvf7fKBZ1fBCt6\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xff0278a4e35174bbed8a38dad8ae7506f725bfe95f0b7c13829c353d68dd25dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26249ec0c2fa3a3430a2f8edbfc5cd678e34ea1cf1d7490ecaf1e925c976eb85\",\"dweb:/ipfs/QmUpkhr5kFiDKc7rZ2z5HcTf5PkrWVJu5sa31tYv911cPL\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}",
388
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"StoreDeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetField\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetRecord\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isStore\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"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\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"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\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"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\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"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\":{},\"notice\":\"The IStoreData interface includes methods for reading and writing table values. These methods are frequently invoked during runtime, so it is essential to prioritize optimizing their gas cost\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/store/src/IStore.sol\":\"IStoreData\"},\"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\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0xe881f296ba0fe410faa6395ee4a65b9bf154947aebc6aa323d41a0484504221e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba7f706464d14365ff751936ba96f79f200df7bcd9d9f8abccd0b41387ca7967\",\"dweb:/ipfs/QmTiHgH3ZM2oJoqsbNs3iwwPFNYFNU7m8co87woxRLaUZ6\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x117331c70b8cda783991a6b3e14861176068086526548d334cef8e1c24e16d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://613026caf6782e8a4ad0f366781fc13141492b667a723bdea69250c9b517c790\",\"dweb:/ipfs/QmQqwBSjcrDUoVvmXxeKZZpyGSEpeMTh2QZRExQTdZLrCt\"]},\"node_modules/@latticexyz/store/src/IErrors.sol\":{\"keccak256\":\"0xc29b8d9d2597c6e9fcfbb37714cfa02270983c95e5a54b4c70eb9d99abcfe4e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df9591141bec48fb57df31c0c5632085d5347d194292b14b479930bac5c8274\",\"dweb:/ipfs/Qmaa3yV9YeJ14wYyWcFYHjAhRc9qaU6WrejNAmdSP7oQRV\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x465c23c85a77fdc6001f06a6899080c1d6cfef9858886d7d922e54fce1eb79e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6358088868fa52711e65d3462eb6b6762fe736eb7f033909e3260280b6a87957\",\"dweb:/ipfs/QmdkwwvTa9Hzc5SDP4C1hvrKzc8SxWNDrxNqQKw4ZoCKzL\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x706d0d1ddd874bdcd4f73422721420b32939c1c96d4718db8b1b8e9f78bfa76c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed8c858fa9c3756cb70cb92bb860e0ae6429eb62551b502fb4a883e1344eb42\",\"dweb:/ipfs/QmezLAADZmFj8bKS9dccTQYHcpy4g8PSZ75AuvppSwjrW7\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xf06793dc2e9e9994403d29125359eb2f326b0e6e502d51a8e6e4e45fc9d90a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cb23bf421b29839200e5584a770186309dd05cd77d4345c964f47528117a244\",\"dweb:/ipfs/QmQBvrDAtoqibky7CjCLKxGz3MquxK1iNk2Yac55Lc4xF5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x14879c6c859cad89451616dcee1ab6222fd565849809b89407de48f0c1a01133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924caa18aa0e656a295da626d586dfb120bbea321123010462b0640c7e0c52c4\",\"dweb:/ipfs/QmNueqwy4g5mwq9kXaPzue8X2mqyFjH2P2AFi3pNN3WTAt\"]},\"node_modules/@latticexyz/store/src/Utils.sol\":{\"keccak256\":\"0x426216bfa1c0e70640787007a6e39257cf09e586fd04831ea4fb3dd9c5768fc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38e657fa9cfaebe39477eaff27d1ad4d7eeaf0c0058539d2ec7e6976d93df4f4\",\"dweb:/ipfs/QmRuaxqRjUrHHC2ZyTnpmq6sfrWGCDh91B6F5chFAToU6U\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xe760dfb8ff20cfb44eee6a5f03ac84abbc91382fca2e36c88c92046e6b3a66e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eb4b355c547ffee62031d8dfb80844fa31fa4460543a088278083662dc4c12\",\"dweb:/ipfs/Qmf8sRcrjJ6hEQ8TPwwe6KcXcE2MPw7Juvf7fKBZ1fBCt6\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xff0278a4e35174bbed8a38dad8ae7506f725bfe95f0b7c13829c353d68dd25dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26249ec0c2fa3a3430a2f8edbfc5cd678e34ea1cf1d7490ecaf1e925c976eb85\",\"dweb:/ipfs/QmUpkhr5kFiDKc7rZ2z5HcTf5PkrWVJu5sa31tYv911cPL\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}",
360
389
  "metadata": {
361
390
  "compiler": {
362
391
  "version": "0.8.13+commit.abaa5c0e"
@@ -582,6 +611,33 @@
582
611
  "type": "function",
583
612
  "name": "isStore"
584
613
  },
614
+ {
615
+ "inputs": [
616
+ {
617
+ "internalType": "bytes32",
618
+ "name": "table",
619
+ "type": "bytes32"
620
+ },
621
+ {
622
+ "internalType": "bytes32[]",
623
+ "name": "key",
624
+ "type": "bytes32[]"
625
+ },
626
+ {
627
+ "internalType": "uint8",
628
+ "name": "schemaIndex",
629
+ "type": "uint8"
630
+ },
631
+ {
632
+ "internalType": "uint256",
633
+ "name": "byteLengthToPop",
634
+ "type": "uint256"
635
+ }
636
+ ],
637
+ "stateMutability": "nonpayable",
638
+ "type": "function",
639
+ "name": "popFromField"
640
+ },
585
641
  {
586
642
  "inputs": [
587
643
  {
@@ -747,10 +803,10 @@
747
803
  "license": "MIT"
748
804
  },
749
805
  "node_modules/@latticexyz/store/src/IStore.sol": {
750
- "keccak256": "0x83954f095b02ffb6ea0d391ecf6092e8304b03119dced171fbce4ee7483d3de2",
806
+ "keccak256": "0x465c23c85a77fdc6001f06a6899080c1d6cfef9858886d7d922e54fce1eb79e6",
751
807
  "urls": [
752
- "bzz-raw://02aeafbedef0b4d5845cd8e707673872fd4fc165fe8508ad348506f053e73ee5",
753
- "dweb:/ipfs/QmcE33C9Mw7fdnhHKmrabwzBH2JyjF4XCG3S4D9AtzMXs2"
808
+ "bzz-raw://6358088868fa52711e65d3462eb6b6762fe736eb7f033909e3260280b6a87957",
809
+ "dweb:/ipfs/QmdkwwvTa9Hzc5SDP4C1hvrKzc8SxWNDrxNqQKw4ZoCKzL"
754
810
  ],
755
811
  "license": "MIT"
756
812
  },
@@ -815,38 +871,38 @@
815
871
  },
816
872
  "ast": {
817
873
  "absolutePath": "node_modules/@latticexyz/store/src/IStore.sol",
818
- "id": 17412,
874
+ "id": 17685,
819
875
  "exportedSymbols": {
820
876
  "IErrors": [
821
- 43030
877
+ 43631
822
878
  ],
823
879
  "IStore": [
824
- 17368
880
+ 17641
825
881
  ],
826
882
  "IStoreData": [
827
- 17332
883
+ 17605
828
884
  ],
829
885
  "IStoreHook": [
830
- 17411
886
+ 17684
831
887
  ],
832
888
  "IStoreRead": [
833
- 17242
889
+ 17503
834
890
  ],
835
891
  "IStoreRegistration": [
836
- 17363
892
+ 17636
837
893
  ],
838
894
  "IStoreWrite": [
839
- 17326
895
+ 17599
840
896
  ],
841
897
  "Schema": [
842
- 17918
898
+ 18191
843
899
  ]
844
900
  },
845
901
  "nodeType": "SourceUnit",
846
- "src": "32:3537:24",
902
+ "src": "32:3715:24",
847
903
  "nodes": [
848
904
  {
849
- "id": 17183,
905
+ "id": 17444,
850
906
  "nodeType": "PragmaDirective",
851
907
  "src": "32:24:24",
852
908
  "nodes": [],
@@ -858,23 +914,23 @@
858
914
  ]
859
915
  },
860
916
  {
861
- "id": 17185,
917
+ "id": 17446,
862
918
  "nodeType": "ImportDirective",
863
919
  "src": "58:40:24",
864
920
  "nodes": [],
865
921
  "absolutePath": "node_modules/@latticexyz/store/src/IErrors.sol",
866
922
  "file": "./IErrors.sol",
867
923
  "nameLocation": "-1:-1:-1",
868
- "scope": 17412,
869
- "sourceUnit": 43031,
924
+ "scope": 17685,
925
+ "sourceUnit": 43632,
870
926
  "symbolAliases": [
871
927
  {
872
928
  "foreign": {
873
- "id": 17184,
929
+ "id": 17445,
874
930
  "name": "IErrors",
875
931
  "nodeType": "Identifier",
876
932
  "overloadedDeclarations": [],
877
- "referencedDeclaration": 43030,
933
+ "referencedDeclaration": 43631,
878
934
  "src": "67:7:24",
879
935
  "typeDescriptions": {}
880
936
  },
@@ -884,23 +940,23 @@
884
940
  "unitAlias": ""
885
941
  },
886
942
  {
887
- "id": 17187,
943
+ "id": 17448,
888
944
  "nodeType": "ImportDirective",
889
945
  "src": "99:38:24",
890
946
  "nodes": [],
891
947
  "absolutePath": "node_modules/@latticexyz/store/src/Schema.sol",
892
948
  "file": "./Schema.sol",
893
949
  "nameLocation": "-1:-1:-1",
894
- "scope": 17412,
895
- "sourceUnit": 18686,
950
+ "scope": 17685,
951
+ "sourceUnit": 18959,
896
952
  "symbolAliases": [
897
953
  {
898
954
  "foreign": {
899
- "id": 17186,
955
+ "id": 17447,
900
956
  "name": "Schema",
901
957
  "nodeType": "Identifier",
902
958
  "overloadedDeclarations": [],
903
- "referencedDeclaration": 17918,
959
+ "referencedDeclaration": 18191,
904
960
  "src": "108:6:24",
905
961
  "typeDescriptions": {}
906
962
  },
@@ -910,12 +966,12 @@
910
966
  "unitAlias": ""
911
967
  },
912
968
  {
913
- "id": 17242,
969
+ "id": 17503,
914
970
  "nodeType": "ContractDefinition",
915
971
  "src": "139:932:24",
916
972
  "nodes": [
917
973
  {
918
- "id": 17195,
974
+ "id": 17456,
919
975
  "nodeType": "FunctionDefinition",
920
976
  "src": "164:72:24",
921
977
  "nodes": [],
@@ -926,17 +982,17 @@
926
982
  "name": "getSchema",
927
983
  "nameLocation": "173:9:24",
928
984
  "parameters": {
929
- "id": 17190,
985
+ "id": 17451,
930
986
  "nodeType": "ParameterList",
931
987
  "parameters": [
932
988
  {
933
989
  "constant": false,
934
- "id": 17189,
990
+ "id": 17450,
935
991
  "mutability": "mutable",
936
992
  "name": "table",
937
993
  "nameLocation": "191:5:24",
938
994
  "nodeType": "VariableDeclaration",
939
- "scope": 17195,
995
+ "scope": 17456,
940
996
  "src": "183:13:24",
941
997
  "stateVariable": false,
942
998
  "storageLocation": "default",
@@ -945,7 +1001,7 @@
945
1001
  "typeString": "bytes32"
946
1002
  },
947
1003
  "typeName": {
948
- "id": 17188,
1004
+ "id": 17449,
949
1005
  "name": "bytes32",
950
1006
  "nodeType": "ElementaryTypeName",
951
1007
  "src": "183:7:24",
@@ -960,38 +1016,38 @@
960
1016
  "src": "182:15:24"
961
1017
  },
962
1018
  "returnParameters": {
963
- "id": 17194,
1019
+ "id": 17455,
964
1020
  "nodeType": "ParameterList",
965
1021
  "parameters": [
966
1022
  {
967
1023
  "constant": false,
968
- "id": 17193,
1024
+ "id": 17454,
969
1025
  "mutability": "mutable",
970
1026
  "name": "schema",
971
1027
  "nameLocation": "228:6:24",
972
1028
  "nodeType": "VariableDeclaration",
973
- "scope": 17195,
1029
+ "scope": 17456,
974
1030
  "src": "221:13:24",
975
1031
  "stateVariable": false,
976
1032
  "storageLocation": "default",
977
1033
  "typeDescriptions": {
978
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
1034
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
979
1035
  "typeString": "Schema"
980
1036
  },
981
1037
  "typeName": {
982
- "id": 17192,
1038
+ "id": 17453,
983
1039
  "nodeType": "UserDefinedTypeName",
984
1040
  "pathNode": {
985
- "id": 17191,
1041
+ "id": 17452,
986
1042
  "name": "Schema",
987
1043
  "nodeType": "IdentifierPath",
988
- "referencedDeclaration": 17918,
1044
+ "referencedDeclaration": 18191,
989
1045
  "src": "221:6:24"
990
1046
  },
991
- "referencedDeclaration": 17918,
1047
+ "referencedDeclaration": 18191,
992
1048
  "src": "221:6:24",
993
1049
  "typeDescriptions": {
994
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
1050
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
995
1051
  "typeString": "Schema"
996
1052
  }
997
1053
  },
@@ -1000,13 +1056,13 @@
1000
1056
  ],
1001
1057
  "src": "220:15:24"
1002
1058
  },
1003
- "scope": 17242,
1059
+ "scope": 17503,
1004
1060
  "stateMutability": "view",
1005
1061
  "virtual": false,
1006
1062
  "visibility": "external"
1007
1063
  },
1008
1064
  {
1009
- "id": 17203,
1065
+ "id": 17464,
1010
1066
  "nodeType": "FunctionDefinition",
1011
1067
  "src": "240:75:24",
1012
1068
  "nodes": [],
@@ -1017,17 +1073,17 @@
1017
1073
  "name": "getKeySchema",
1018
1074
  "nameLocation": "249:12:24",
1019
1075
  "parameters": {
1020
- "id": 17198,
1076
+ "id": 17459,
1021
1077
  "nodeType": "ParameterList",
1022
1078
  "parameters": [
1023
1079
  {
1024
1080
  "constant": false,
1025
- "id": 17197,
1081
+ "id": 17458,
1026
1082
  "mutability": "mutable",
1027
1083
  "name": "table",
1028
1084
  "nameLocation": "270:5:24",
1029
1085
  "nodeType": "VariableDeclaration",
1030
- "scope": 17203,
1086
+ "scope": 17464,
1031
1087
  "src": "262:13:24",
1032
1088
  "stateVariable": false,
1033
1089
  "storageLocation": "default",
@@ -1036,7 +1092,7 @@
1036
1092
  "typeString": "bytes32"
1037
1093
  },
1038
1094
  "typeName": {
1039
- "id": 17196,
1095
+ "id": 17457,
1040
1096
  "name": "bytes32",
1041
1097
  "nodeType": "ElementaryTypeName",
1042
1098
  "src": "262:7:24",
@@ -1051,38 +1107,38 @@
1051
1107
  "src": "261:15:24"
1052
1108
  },
1053
1109
  "returnParameters": {
1054
- "id": 17202,
1110
+ "id": 17463,
1055
1111
  "nodeType": "ParameterList",
1056
1112
  "parameters": [
1057
1113
  {
1058
1114
  "constant": false,
1059
- "id": 17201,
1115
+ "id": 17462,
1060
1116
  "mutability": "mutable",
1061
1117
  "name": "schema",
1062
1118
  "nameLocation": "307:6:24",
1063
1119
  "nodeType": "VariableDeclaration",
1064
- "scope": 17203,
1120
+ "scope": 17464,
1065
1121
  "src": "300:13:24",
1066
1122
  "stateVariable": false,
1067
1123
  "storageLocation": "default",
1068
1124
  "typeDescriptions": {
1069
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
1125
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
1070
1126
  "typeString": "Schema"
1071
1127
  },
1072
1128
  "typeName": {
1073
- "id": 17200,
1129
+ "id": 17461,
1074
1130
  "nodeType": "UserDefinedTypeName",
1075
1131
  "pathNode": {
1076
- "id": 17199,
1132
+ "id": 17460,
1077
1133
  "name": "Schema",
1078
1134
  "nodeType": "IdentifierPath",
1079
- "referencedDeclaration": 17918,
1135
+ "referencedDeclaration": 18191,
1080
1136
  "src": "300:6:24"
1081
1137
  },
1082
- "referencedDeclaration": 17918,
1138
+ "referencedDeclaration": 18191,
1083
1139
  "src": "300:6:24",
1084
1140
  "typeDescriptions": {
1085
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
1141
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
1086
1142
  "typeString": "Schema"
1087
1143
  }
1088
1144
  },
@@ -1091,13 +1147,13 @@
1091
1147
  ],
1092
1148
  "src": "299:15:24"
1093
1149
  },
1094
- "scope": 17242,
1150
+ "scope": 17503,
1095
1151
  "stateMutability": "view",
1096
1152
  "virtual": false,
1097
1153
  "visibility": "external"
1098
1154
  },
1099
1155
  {
1100
- "id": 17213,
1156
+ "id": 17474,
1101
1157
  "nodeType": "FunctionDefinition",
1102
1158
  "src": "395:98:24",
1103
1159
  "nodes": [],
@@ -1108,17 +1164,17 @@
1108
1164
  "name": "getRecord",
1109
1165
  "nameLocation": "404:9:24",
1110
1166
  "parameters": {
1111
- "id": 17209,
1167
+ "id": 17470,
1112
1168
  "nodeType": "ParameterList",
1113
1169
  "parameters": [
1114
1170
  {
1115
1171
  "constant": false,
1116
- "id": 17205,
1172
+ "id": 17466,
1117
1173
  "mutability": "mutable",
1118
1174
  "name": "table",
1119
1175
  "nameLocation": "422:5:24",
1120
1176
  "nodeType": "VariableDeclaration",
1121
- "scope": 17213,
1177
+ "scope": 17474,
1122
1178
  "src": "414:13:24",
1123
1179
  "stateVariable": false,
1124
1180
  "storageLocation": "default",
@@ -1127,7 +1183,7 @@
1127
1183
  "typeString": "bytes32"
1128
1184
  },
1129
1185
  "typeName": {
1130
- "id": 17204,
1186
+ "id": 17465,
1131
1187
  "name": "bytes32",
1132
1188
  "nodeType": "ElementaryTypeName",
1133
1189
  "src": "414:7:24",
@@ -1140,12 +1196,12 @@
1140
1196
  },
1141
1197
  {
1142
1198
  "constant": false,
1143
- "id": 17208,
1199
+ "id": 17469,
1144
1200
  "mutability": "mutable",
1145
1201
  "name": "key",
1146
1202
  "nameLocation": "446:3:24",
1147
1203
  "nodeType": "VariableDeclaration",
1148
- "scope": 17213,
1204
+ "scope": 17474,
1149
1205
  "src": "429:20:24",
1150
1206
  "stateVariable": false,
1151
1207
  "storageLocation": "memory",
@@ -1155,7 +1211,7 @@
1155
1211
  },
1156
1212
  "typeName": {
1157
1213
  "baseType": {
1158
- "id": 17206,
1214
+ "id": 17467,
1159
1215
  "name": "bytes32",
1160
1216
  "nodeType": "ElementaryTypeName",
1161
1217
  "src": "429:7:24",
@@ -1164,7 +1220,7 @@
1164
1220
  "typeString": "bytes32"
1165
1221
  }
1166
1222
  },
1167
- "id": 17207,
1223
+ "id": 17468,
1168
1224
  "nodeType": "ArrayTypeName",
1169
1225
  "src": "429:9:24",
1170
1226
  "typeDescriptions": {
@@ -1178,17 +1234,17 @@
1178
1234
  "src": "413:37:24"
1179
1235
  },
1180
1236
  "returnParameters": {
1181
- "id": 17212,
1237
+ "id": 17473,
1182
1238
  "nodeType": "ParameterList",
1183
1239
  "parameters": [
1184
1240
  {
1185
1241
  "constant": false,
1186
- "id": 17211,
1242
+ "id": 17472,
1187
1243
  "mutability": "mutable",
1188
1244
  "name": "data",
1189
1245
  "nameLocation": "487:4:24",
1190
1246
  "nodeType": "VariableDeclaration",
1191
- "scope": 17213,
1247
+ "scope": 17474,
1192
1248
  "src": "474:17:24",
1193
1249
  "stateVariable": false,
1194
1250
  "storageLocation": "memory",
@@ -1197,7 +1253,7 @@
1197
1253
  "typeString": "bytes"
1198
1254
  },
1199
1255
  "typeName": {
1200
- "id": 17210,
1256
+ "id": 17471,
1201
1257
  "name": "bytes",
1202
1258
  "nodeType": "ElementaryTypeName",
1203
1259
  "src": "474:5:24",
@@ -1211,13 +1267,13 @@
1211
1267
  ],
1212
1268
  "src": "473:19:24"
1213
1269
  },
1214
- "scope": 17242,
1270
+ "scope": 17503,
1215
1271
  "stateMutability": "view",
1216
1272
  "virtual": false,
1217
1273
  "visibility": "external"
1218
1274
  },
1219
1275
  {
1220
- "id": 17226,
1276
+ "id": 17487,
1221
1277
  "nodeType": "FunctionDefinition",
1222
1278
  "src": "541:115:24",
1223
1279
  "nodes": [],
@@ -1228,17 +1284,17 @@
1228
1284
  "name": "getRecord",
1229
1285
  "nameLocation": "550:9:24",
1230
1286
  "parameters": {
1231
- "id": 17222,
1287
+ "id": 17483,
1232
1288
  "nodeType": "ParameterList",
1233
1289
  "parameters": [
1234
1290
  {
1235
1291
  "constant": false,
1236
- "id": 17215,
1292
+ "id": 17476,
1237
1293
  "mutability": "mutable",
1238
1294
  "name": "table",
1239
1295
  "nameLocation": "568:5:24",
1240
1296
  "nodeType": "VariableDeclaration",
1241
- "scope": 17226,
1297
+ "scope": 17487,
1242
1298
  "src": "560:13:24",
1243
1299
  "stateVariable": false,
1244
1300
  "storageLocation": "default",
@@ -1247,7 +1303,7 @@
1247
1303
  "typeString": "bytes32"
1248
1304
  },
1249
1305
  "typeName": {
1250
- "id": 17214,
1306
+ "id": 17475,
1251
1307
  "name": "bytes32",
1252
1308
  "nodeType": "ElementaryTypeName",
1253
1309
  "src": "560:7:24",
@@ -1260,12 +1316,12 @@
1260
1316
  },
1261
1317
  {
1262
1318
  "constant": false,
1263
- "id": 17218,
1319
+ "id": 17479,
1264
1320
  "mutability": "mutable",
1265
1321
  "name": "key",
1266
1322
  "nameLocation": "594:3:24",
1267
1323
  "nodeType": "VariableDeclaration",
1268
- "scope": 17226,
1324
+ "scope": 17487,
1269
1325
  "src": "575:22:24",
1270
1326
  "stateVariable": false,
1271
1327
  "storageLocation": "calldata",
@@ -1275,7 +1331,7 @@
1275
1331
  },
1276
1332
  "typeName": {
1277
1333
  "baseType": {
1278
- "id": 17216,
1334
+ "id": 17477,
1279
1335
  "name": "bytes32",
1280
1336
  "nodeType": "ElementaryTypeName",
1281
1337
  "src": "575:7:24",
@@ -1284,7 +1340,7 @@
1284
1340
  "typeString": "bytes32"
1285
1341
  }
1286
1342
  },
1287
- "id": 17217,
1343
+ "id": 17478,
1288
1344
  "nodeType": "ArrayTypeName",
1289
1345
  "src": "575:9:24",
1290
1346
  "typeDescriptions": {
@@ -1296,33 +1352,33 @@
1296
1352
  },
1297
1353
  {
1298
1354
  "constant": false,
1299
- "id": 17221,
1355
+ "id": 17482,
1300
1356
  "mutability": "mutable",
1301
1357
  "name": "schema",
1302
1358
  "nameLocation": "606:6:24",
1303
1359
  "nodeType": "VariableDeclaration",
1304
- "scope": 17226,
1360
+ "scope": 17487,
1305
1361
  "src": "599:13:24",
1306
1362
  "stateVariable": false,
1307
1363
  "storageLocation": "default",
1308
1364
  "typeDescriptions": {
1309
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
1365
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
1310
1366
  "typeString": "Schema"
1311
1367
  },
1312
1368
  "typeName": {
1313
- "id": 17220,
1369
+ "id": 17481,
1314
1370
  "nodeType": "UserDefinedTypeName",
1315
1371
  "pathNode": {
1316
- "id": 17219,
1372
+ "id": 17480,
1317
1373
  "name": "Schema",
1318
1374
  "nodeType": "IdentifierPath",
1319
- "referencedDeclaration": 17918,
1375
+ "referencedDeclaration": 18191,
1320
1376
  "src": "599:6:24"
1321
1377
  },
1322
- "referencedDeclaration": 17918,
1378
+ "referencedDeclaration": 18191,
1323
1379
  "src": "599:6:24",
1324
1380
  "typeDescriptions": {
1325
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
1381
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
1326
1382
  "typeString": "Schema"
1327
1383
  }
1328
1384
  },
@@ -1332,17 +1388,17 @@
1332
1388
  "src": "559:54:24"
1333
1389
  },
1334
1390
  "returnParameters": {
1335
- "id": 17225,
1391
+ "id": 17486,
1336
1392
  "nodeType": "ParameterList",
1337
1393
  "parameters": [
1338
1394
  {
1339
1395
  "constant": false,
1340
- "id": 17224,
1396
+ "id": 17485,
1341
1397
  "mutability": "mutable",
1342
1398
  "name": "data",
1343
1399
  "nameLocation": "650:4:24",
1344
1400
  "nodeType": "VariableDeclaration",
1345
- "scope": 17226,
1401
+ "scope": 17487,
1346
1402
  "src": "637:17:24",
1347
1403
  "stateVariable": false,
1348
1404
  "storageLocation": "memory",
@@ -1351,7 +1407,7 @@
1351
1407
  "typeString": "bytes"
1352
1408
  },
1353
1409
  "typeName": {
1354
- "id": 17223,
1410
+ "id": 17484,
1355
1411
  "name": "bytes",
1356
1412
  "nodeType": "ElementaryTypeName",
1357
1413
  "src": "637:5:24",
@@ -1365,13 +1421,13 @@
1365
1421
  ],
1366
1422
  "src": "636:19:24"
1367
1423
  },
1368
- "scope": 17242,
1424
+ "scope": 17503,
1369
1425
  "stateMutability": "view",
1370
1426
  "virtual": false,
1371
1427
  "visibility": "external"
1372
1428
  },
1373
1429
  {
1374
- "id": 17238,
1430
+ "id": 17499,
1375
1431
  "nodeType": "FunctionDefinition",
1376
1432
  "src": "698:118:24",
1377
1433
  "nodes": [],
@@ -1382,17 +1438,17 @@
1382
1438
  "name": "getField",
1383
1439
  "nameLocation": "707:8:24",
1384
1440
  "parameters": {
1385
- "id": 17234,
1441
+ "id": 17495,
1386
1442
  "nodeType": "ParameterList",
1387
1443
  "parameters": [
1388
1444
  {
1389
1445
  "constant": false,
1390
- "id": 17228,
1446
+ "id": 17489,
1391
1447
  "mutability": "mutable",
1392
1448
  "name": "table",
1393
1449
  "nameLocation": "724:5:24",
1394
1450
  "nodeType": "VariableDeclaration",
1395
- "scope": 17238,
1451
+ "scope": 17499,
1396
1452
  "src": "716:13:24",
1397
1453
  "stateVariable": false,
1398
1454
  "storageLocation": "default",
@@ -1401,7 +1457,7 @@
1401
1457
  "typeString": "bytes32"
1402
1458
  },
1403
1459
  "typeName": {
1404
- "id": 17227,
1460
+ "id": 17488,
1405
1461
  "name": "bytes32",
1406
1462
  "nodeType": "ElementaryTypeName",
1407
1463
  "src": "716:7:24",
@@ -1414,12 +1470,12 @@
1414
1470
  },
1415
1471
  {
1416
1472
  "constant": false,
1417
- "id": 17231,
1473
+ "id": 17492,
1418
1474
  "mutability": "mutable",
1419
1475
  "name": "key",
1420
1476
  "nameLocation": "750:3:24",
1421
1477
  "nodeType": "VariableDeclaration",
1422
- "scope": 17238,
1478
+ "scope": 17499,
1423
1479
  "src": "731:22:24",
1424
1480
  "stateVariable": false,
1425
1481
  "storageLocation": "calldata",
@@ -1429,7 +1485,7 @@
1429
1485
  },
1430
1486
  "typeName": {
1431
1487
  "baseType": {
1432
- "id": 17229,
1488
+ "id": 17490,
1433
1489
  "name": "bytes32",
1434
1490
  "nodeType": "ElementaryTypeName",
1435
1491
  "src": "731:7:24",
@@ -1438,7 +1494,7 @@
1438
1494
  "typeString": "bytes32"
1439
1495
  }
1440
1496
  },
1441
- "id": 17230,
1497
+ "id": 17491,
1442
1498
  "nodeType": "ArrayTypeName",
1443
1499
  "src": "731:9:24",
1444
1500
  "typeDescriptions": {
@@ -1450,12 +1506,12 @@
1450
1506
  },
1451
1507
  {
1452
1508
  "constant": false,
1453
- "id": 17233,
1509
+ "id": 17494,
1454
1510
  "mutability": "mutable",
1455
1511
  "name": "schemaIndex",
1456
1512
  "nameLocation": "761:11:24",
1457
1513
  "nodeType": "VariableDeclaration",
1458
- "scope": 17238,
1514
+ "scope": 17499,
1459
1515
  "src": "755:17:24",
1460
1516
  "stateVariable": false,
1461
1517
  "storageLocation": "default",
@@ -1464,7 +1520,7 @@
1464
1520
  "typeString": "uint8"
1465
1521
  },
1466
1522
  "typeName": {
1467
- "id": 17232,
1523
+ "id": 17493,
1468
1524
  "name": "uint8",
1469
1525
  "nodeType": "ElementaryTypeName",
1470
1526
  "src": "755:5:24",
@@ -1479,17 +1535,17 @@
1479
1535
  "src": "715:58:24"
1480
1536
  },
1481
1537
  "returnParameters": {
1482
- "id": 17237,
1538
+ "id": 17498,
1483
1539
  "nodeType": "ParameterList",
1484
1540
  "parameters": [
1485
1541
  {
1486
1542
  "constant": false,
1487
- "id": 17236,
1543
+ "id": 17497,
1488
1544
  "mutability": "mutable",
1489
1545
  "name": "data",
1490
1546
  "nameLocation": "810:4:24",
1491
1547
  "nodeType": "VariableDeclaration",
1492
- "scope": 17238,
1548
+ "scope": 17499,
1493
1549
  "src": "797:17:24",
1494
1550
  "stateVariable": false,
1495
1551
  "storageLocation": "memory",
@@ -1498,7 +1554,7 @@
1498
1554
  "typeString": "bytes"
1499
1555
  },
1500
1556
  "typeName": {
1501
- "id": 17235,
1557
+ "id": 17496,
1502
1558
  "name": "bytes",
1503
1559
  "nodeType": "ElementaryTypeName",
1504
1560
  "src": "797:5:24",
@@ -1512,13 +1568,13 @@
1512
1568
  ],
1513
1569
  "src": "796:19:24"
1514
1570
  },
1515
- "scope": 17242,
1571
+ "scope": 17503,
1516
1572
  "stateMutability": "view",
1517
1573
  "virtual": false,
1518
1574
  "visibility": "external"
1519
1575
  },
1520
1576
  {
1521
- "id": 17241,
1577
+ "id": 17502,
1522
1578
  "nodeType": "FunctionDefinition",
1523
1579
  "src": "1036:33:24",
1524
1580
  "nodes": [],
@@ -1529,18 +1585,18 @@
1529
1585
  "name": "isStore",
1530
1586
  "nameLocation": "1045:7:24",
1531
1587
  "parameters": {
1532
- "id": 17239,
1588
+ "id": 17500,
1533
1589
  "nodeType": "ParameterList",
1534
1590
  "parameters": [],
1535
1591
  "src": "1052:2:24"
1536
1592
  },
1537
1593
  "returnParameters": {
1538
- "id": 17240,
1594
+ "id": 17501,
1539
1595
  "nodeType": "ParameterList",
1540
1596
  "parameters": [],
1541
1597
  "src": "1068:0:24"
1542
1598
  },
1543
- "scope": 17242,
1599
+ "scope": 17503,
1544
1600
  "stateMutability": "view",
1545
1601
  "virtual": false,
1546
1602
  "visibility": "external"
@@ -1553,20 +1609,20 @@
1553
1609
  "contractKind": "interface",
1554
1610
  "fullyImplemented": false,
1555
1611
  "linearizedBaseContracts": [
1556
- 17242
1612
+ 17503
1557
1613
  ],
1558
1614
  "name": "IStoreRead",
1559
1615
  "nameLocation": "149:10:24",
1560
- "scope": 17412,
1616
+ "scope": 17685,
1561
1617
  "usedErrors": []
1562
1618
  },
1563
1619
  {
1564
- "id": 17326,
1620
+ "id": 17599,
1565
1621
  "nodeType": "ContractDefinition",
1566
- "src": "1073:1061:24",
1622
+ "src": "1073:1239:24",
1567
1623
  "nodes": [
1568
1624
  {
1569
- "id": 17251,
1625
+ "id": 17512,
1570
1626
  "nodeType": "EventDefinition",
1571
1627
  "src": "1099:63:24",
1572
1628
  "nodes": [],
@@ -1575,18 +1631,18 @@
1575
1631
  "name": "StoreSetRecord",
1576
1632
  "nameLocation": "1105:14:24",
1577
1633
  "parameters": {
1578
- "id": 17250,
1634
+ "id": 17511,
1579
1635
  "nodeType": "ParameterList",
1580
1636
  "parameters": [
1581
1637
  {
1582
1638
  "constant": false,
1583
- "id": 17244,
1639
+ "id": 17505,
1584
1640
  "indexed": false,
1585
1641
  "mutability": "mutable",
1586
1642
  "name": "table",
1587
1643
  "nameLocation": "1128:5:24",
1588
1644
  "nodeType": "VariableDeclaration",
1589
- "scope": 17251,
1645
+ "scope": 17512,
1590
1646
  "src": "1120:13:24",
1591
1647
  "stateVariable": false,
1592
1648
  "storageLocation": "default",
@@ -1595,7 +1651,7 @@
1595
1651
  "typeString": "bytes32"
1596
1652
  },
1597
1653
  "typeName": {
1598
- "id": 17243,
1654
+ "id": 17504,
1599
1655
  "name": "bytes32",
1600
1656
  "nodeType": "ElementaryTypeName",
1601
1657
  "src": "1120:7:24",
@@ -1608,13 +1664,13 @@
1608
1664
  },
1609
1665
  {
1610
1666
  "constant": false,
1611
- "id": 17247,
1667
+ "id": 17508,
1612
1668
  "indexed": false,
1613
1669
  "mutability": "mutable",
1614
1670
  "name": "key",
1615
1671
  "nameLocation": "1145:3:24",
1616
1672
  "nodeType": "VariableDeclaration",
1617
- "scope": 17251,
1673
+ "scope": 17512,
1618
1674
  "src": "1135:13:24",
1619
1675
  "stateVariable": false,
1620
1676
  "storageLocation": "default",
@@ -1624,7 +1680,7 @@
1624
1680
  },
1625
1681
  "typeName": {
1626
1682
  "baseType": {
1627
- "id": 17245,
1683
+ "id": 17506,
1628
1684
  "name": "bytes32",
1629
1685
  "nodeType": "ElementaryTypeName",
1630
1686
  "src": "1135:7:24",
@@ -1633,7 +1689,7 @@
1633
1689
  "typeString": "bytes32"
1634
1690
  }
1635
1691
  },
1636
- "id": 17246,
1692
+ "id": 17507,
1637
1693
  "nodeType": "ArrayTypeName",
1638
1694
  "src": "1135:9:24",
1639
1695
  "typeDescriptions": {
@@ -1645,13 +1701,13 @@
1645
1701
  },
1646
1702
  {
1647
1703
  "constant": false,
1648
- "id": 17249,
1704
+ "id": 17510,
1649
1705
  "indexed": false,
1650
1706
  "mutability": "mutable",
1651
1707
  "name": "data",
1652
1708
  "nameLocation": "1156:4:24",
1653
1709
  "nodeType": "VariableDeclaration",
1654
- "scope": 17251,
1710
+ "scope": 17512,
1655
1711
  "src": "1150:10:24",
1656
1712
  "stateVariable": false,
1657
1713
  "storageLocation": "default",
@@ -1660,7 +1716,7 @@
1660
1716
  "typeString": "bytes"
1661
1717
  },
1662
1718
  "typeName": {
1663
- "id": 17248,
1719
+ "id": 17509,
1664
1720
  "name": "bytes",
1665
1721
  "nodeType": "ElementaryTypeName",
1666
1722
  "src": "1150:5:24",
@@ -1676,7 +1732,7 @@
1676
1732
  }
1677
1733
  },
1678
1734
  {
1679
- "id": 17262,
1735
+ "id": 17523,
1680
1736
  "nodeType": "EventDefinition",
1681
1737
  "src": "1165:81:24",
1682
1738
  "nodes": [],
@@ -1685,18 +1741,18 @@
1685
1741
  "name": "StoreSetField",
1686
1742
  "nameLocation": "1171:13:24",
1687
1743
  "parameters": {
1688
- "id": 17261,
1744
+ "id": 17522,
1689
1745
  "nodeType": "ParameterList",
1690
1746
  "parameters": [
1691
1747
  {
1692
1748
  "constant": false,
1693
- "id": 17253,
1749
+ "id": 17514,
1694
1750
  "indexed": false,
1695
1751
  "mutability": "mutable",
1696
1752
  "name": "table",
1697
1753
  "nameLocation": "1193:5:24",
1698
1754
  "nodeType": "VariableDeclaration",
1699
- "scope": 17262,
1755
+ "scope": 17523,
1700
1756
  "src": "1185:13:24",
1701
1757
  "stateVariable": false,
1702
1758
  "storageLocation": "default",
@@ -1705,7 +1761,7 @@
1705
1761
  "typeString": "bytes32"
1706
1762
  },
1707
1763
  "typeName": {
1708
- "id": 17252,
1764
+ "id": 17513,
1709
1765
  "name": "bytes32",
1710
1766
  "nodeType": "ElementaryTypeName",
1711
1767
  "src": "1185:7:24",
@@ -1718,13 +1774,13 @@
1718
1774
  },
1719
1775
  {
1720
1776
  "constant": false,
1721
- "id": 17256,
1777
+ "id": 17517,
1722
1778
  "indexed": false,
1723
1779
  "mutability": "mutable",
1724
1780
  "name": "key",
1725
1781
  "nameLocation": "1210:3:24",
1726
1782
  "nodeType": "VariableDeclaration",
1727
- "scope": 17262,
1783
+ "scope": 17523,
1728
1784
  "src": "1200:13:24",
1729
1785
  "stateVariable": false,
1730
1786
  "storageLocation": "default",
@@ -1734,7 +1790,7 @@
1734
1790
  },
1735
1791
  "typeName": {
1736
1792
  "baseType": {
1737
- "id": 17254,
1793
+ "id": 17515,
1738
1794
  "name": "bytes32",
1739
1795
  "nodeType": "ElementaryTypeName",
1740
1796
  "src": "1200:7:24",
@@ -1743,7 +1799,7 @@
1743
1799
  "typeString": "bytes32"
1744
1800
  }
1745
1801
  },
1746
- "id": 17255,
1802
+ "id": 17516,
1747
1803
  "nodeType": "ArrayTypeName",
1748
1804
  "src": "1200:9:24",
1749
1805
  "typeDescriptions": {
@@ -1755,13 +1811,13 @@
1755
1811
  },
1756
1812
  {
1757
1813
  "constant": false,
1758
- "id": 17258,
1814
+ "id": 17519,
1759
1815
  "indexed": false,
1760
1816
  "mutability": "mutable",
1761
1817
  "name": "schemaIndex",
1762
1818
  "nameLocation": "1221:11:24",
1763
1819
  "nodeType": "VariableDeclaration",
1764
- "scope": 17262,
1820
+ "scope": 17523,
1765
1821
  "src": "1215:17:24",
1766
1822
  "stateVariable": false,
1767
1823
  "storageLocation": "default",
@@ -1770,7 +1826,7 @@
1770
1826
  "typeString": "uint8"
1771
1827
  },
1772
1828
  "typeName": {
1773
- "id": 17257,
1829
+ "id": 17518,
1774
1830
  "name": "uint8",
1775
1831
  "nodeType": "ElementaryTypeName",
1776
1832
  "src": "1215:5:24",
@@ -1783,13 +1839,13 @@
1783
1839
  },
1784
1840
  {
1785
1841
  "constant": false,
1786
- "id": 17260,
1842
+ "id": 17521,
1787
1843
  "indexed": false,
1788
1844
  "mutability": "mutable",
1789
1845
  "name": "data",
1790
1846
  "nameLocation": "1240:4:24",
1791
1847
  "nodeType": "VariableDeclaration",
1792
- "scope": 17262,
1848
+ "scope": 17523,
1793
1849
  "src": "1234:10:24",
1794
1850
  "stateVariable": false,
1795
1851
  "storageLocation": "default",
@@ -1798,7 +1854,7 @@
1798
1854
  "typeString": "bytes"
1799
1855
  },
1800
1856
  "typeName": {
1801
- "id": 17259,
1857
+ "id": 17520,
1802
1858
  "name": "bytes",
1803
1859
  "nodeType": "ElementaryTypeName",
1804
1860
  "src": "1234:5:24",
@@ -1814,7 +1870,7 @@
1814
1870
  }
1815
1871
  },
1816
1872
  {
1817
- "id": 17269,
1873
+ "id": 17530,
1818
1874
  "nodeType": "EventDefinition",
1819
1875
  "src": "1249:54:24",
1820
1876
  "nodes": [],
@@ -1823,18 +1879,18 @@
1823
1879
  "name": "StoreDeleteRecord",
1824
1880
  "nameLocation": "1255:17:24",
1825
1881
  "parameters": {
1826
- "id": 17268,
1882
+ "id": 17529,
1827
1883
  "nodeType": "ParameterList",
1828
1884
  "parameters": [
1829
1885
  {
1830
1886
  "constant": false,
1831
- "id": 17264,
1887
+ "id": 17525,
1832
1888
  "indexed": false,
1833
1889
  "mutability": "mutable",
1834
1890
  "name": "table",
1835
1891
  "nameLocation": "1281:5:24",
1836
1892
  "nodeType": "VariableDeclaration",
1837
- "scope": 17269,
1893
+ "scope": 17530,
1838
1894
  "src": "1273:13:24",
1839
1895
  "stateVariable": false,
1840
1896
  "storageLocation": "default",
@@ -1843,7 +1899,7 @@
1843
1899
  "typeString": "bytes32"
1844
1900
  },
1845
1901
  "typeName": {
1846
- "id": 17263,
1902
+ "id": 17524,
1847
1903
  "name": "bytes32",
1848
1904
  "nodeType": "ElementaryTypeName",
1849
1905
  "src": "1273:7:24",
@@ -1856,13 +1912,13 @@
1856
1912
  },
1857
1913
  {
1858
1914
  "constant": false,
1859
- "id": 17267,
1915
+ "id": 17528,
1860
1916
  "indexed": false,
1861
1917
  "mutability": "mutable",
1862
1918
  "name": "key",
1863
1919
  "nameLocation": "1298:3:24",
1864
1920
  "nodeType": "VariableDeclaration",
1865
- "scope": 17269,
1921
+ "scope": 17530,
1866
1922
  "src": "1288:13:24",
1867
1923
  "stateVariable": false,
1868
1924
  "storageLocation": "default",
@@ -1872,7 +1928,7 @@
1872
1928
  },
1873
1929
  "typeName": {
1874
1930
  "baseType": {
1875
- "id": 17265,
1931
+ "id": 17526,
1876
1932
  "name": "bytes32",
1877
1933
  "nodeType": "ElementaryTypeName",
1878
1934
  "src": "1288:7:24",
@@ -1881,7 +1937,7 @@
1881
1937
  "typeString": "bytes32"
1882
1938
  }
1883
1939
  },
1884
- "id": 17266,
1940
+ "id": 17527,
1885
1941
  "nodeType": "ArrayTypeName",
1886
1942
  "src": "1288:9:24",
1887
1943
  "typeDescriptions": {
@@ -1896,7 +1952,7 @@
1896
1952
  }
1897
1953
  },
1898
1954
  {
1899
- "id": 17279,
1955
+ "id": 17540,
1900
1956
  "nodeType": "FunctionDefinition",
1901
1957
  "src": "1358:88:24",
1902
1958
  "nodes": [],
@@ -1907,17 +1963,17 @@
1907
1963
  "name": "setRecord",
1908
1964
  "nameLocation": "1367:9:24",
1909
1965
  "parameters": {
1910
- "id": 17277,
1966
+ "id": 17538,
1911
1967
  "nodeType": "ParameterList",
1912
1968
  "parameters": [
1913
1969
  {
1914
1970
  "constant": false,
1915
- "id": 17271,
1971
+ "id": 17532,
1916
1972
  "mutability": "mutable",
1917
1973
  "name": "table",
1918
1974
  "nameLocation": "1385:5:24",
1919
1975
  "nodeType": "VariableDeclaration",
1920
- "scope": 17279,
1976
+ "scope": 17540,
1921
1977
  "src": "1377:13:24",
1922
1978
  "stateVariable": false,
1923
1979
  "storageLocation": "default",
@@ -1926,7 +1982,7 @@
1926
1982
  "typeString": "bytes32"
1927
1983
  },
1928
1984
  "typeName": {
1929
- "id": 17270,
1985
+ "id": 17531,
1930
1986
  "name": "bytes32",
1931
1987
  "nodeType": "ElementaryTypeName",
1932
1988
  "src": "1377:7:24",
@@ -1939,12 +1995,12 @@
1939
1995
  },
1940
1996
  {
1941
1997
  "constant": false,
1942
- "id": 17274,
1998
+ "id": 17535,
1943
1999
  "mutability": "mutable",
1944
2000
  "name": "key",
1945
2001
  "nameLocation": "1411:3:24",
1946
2002
  "nodeType": "VariableDeclaration",
1947
- "scope": 17279,
2003
+ "scope": 17540,
1948
2004
  "src": "1392:22:24",
1949
2005
  "stateVariable": false,
1950
2006
  "storageLocation": "calldata",
@@ -1954,7 +2010,7 @@
1954
2010
  },
1955
2011
  "typeName": {
1956
2012
  "baseType": {
1957
- "id": 17272,
2013
+ "id": 17533,
1958
2014
  "name": "bytes32",
1959
2015
  "nodeType": "ElementaryTypeName",
1960
2016
  "src": "1392:7:24",
@@ -1963,7 +2019,7 @@
1963
2019
  "typeString": "bytes32"
1964
2020
  }
1965
2021
  },
1966
- "id": 17273,
2022
+ "id": 17534,
1967
2023
  "nodeType": "ArrayTypeName",
1968
2024
  "src": "1392:9:24",
1969
2025
  "typeDescriptions": {
@@ -1975,12 +2031,12 @@
1975
2031
  },
1976
2032
  {
1977
2033
  "constant": false,
1978
- "id": 17276,
2034
+ "id": 17537,
1979
2035
  "mutability": "mutable",
1980
2036
  "name": "data",
1981
2037
  "nameLocation": "1431:4:24",
1982
2038
  "nodeType": "VariableDeclaration",
1983
- "scope": 17279,
2039
+ "scope": 17540,
1984
2040
  "src": "1416:19:24",
1985
2041
  "stateVariable": false,
1986
2042
  "storageLocation": "calldata",
@@ -1989,7 +2045,7 @@
1989
2045
  "typeString": "bytes"
1990
2046
  },
1991
2047
  "typeName": {
1992
- "id": 17275,
2048
+ "id": 17536,
1993
2049
  "name": "bytes",
1994
2050
  "nodeType": "ElementaryTypeName",
1995
2051
  "src": "1416:5:24",
@@ -2004,18 +2060,18 @@
2004
2060
  "src": "1376:60:24"
2005
2061
  },
2006
2062
  "returnParameters": {
2007
- "id": 17278,
2063
+ "id": 17539,
2008
2064
  "nodeType": "ParameterList",
2009
2065
  "parameters": [],
2010
2066
  "src": "1445:0:24"
2011
2067
  },
2012
- "scope": 17326,
2068
+ "scope": 17599,
2013
2069
  "stateMutability": "nonpayable",
2014
2070
  "virtual": false,
2015
2071
  "visibility": "external"
2016
2072
  },
2017
2073
  {
2018
- "id": 17291,
2074
+ "id": 17552,
2019
2075
  "nodeType": "FunctionDefinition",
2020
2076
  "src": "1488:106:24",
2021
2077
  "nodes": [],
@@ -2026,17 +2082,17 @@
2026
2082
  "name": "setField",
2027
2083
  "nameLocation": "1497:8:24",
2028
2084
  "parameters": {
2029
- "id": 17289,
2085
+ "id": 17550,
2030
2086
  "nodeType": "ParameterList",
2031
2087
  "parameters": [
2032
2088
  {
2033
2089
  "constant": false,
2034
- "id": 17281,
2090
+ "id": 17542,
2035
2091
  "mutability": "mutable",
2036
2092
  "name": "table",
2037
2093
  "nameLocation": "1514:5:24",
2038
2094
  "nodeType": "VariableDeclaration",
2039
- "scope": 17291,
2095
+ "scope": 17552,
2040
2096
  "src": "1506:13:24",
2041
2097
  "stateVariable": false,
2042
2098
  "storageLocation": "default",
@@ -2045,7 +2101,7 @@
2045
2101
  "typeString": "bytes32"
2046
2102
  },
2047
2103
  "typeName": {
2048
- "id": 17280,
2104
+ "id": 17541,
2049
2105
  "name": "bytes32",
2050
2106
  "nodeType": "ElementaryTypeName",
2051
2107
  "src": "1506:7:24",
@@ -2058,12 +2114,12 @@
2058
2114
  },
2059
2115
  {
2060
2116
  "constant": false,
2061
- "id": 17284,
2117
+ "id": 17545,
2062
2118
  "mutability": "mutable",
2063
2119
  "name": "key",
2064
2120
  "nameLocation": "1540:3:24",
2065
2121
  "nodeType": "VariableDeclaration",
2066
- "scope": 17291,
2122
+ "scope": 17552,
2067
2123
  "src": "1521:22:24",
2068
2124
  "stateVariable": false,
2069
2125
  "storageLocation": "calldata",
@@ -2073,7 +2129,7 @@
2073
2129
  },
2074
2130
  "typeName": {
2075
2131
  "baseType": {
2076
- "id": 17282,
2132
+ "id": 17543,
2077
2133
  "name": "bytes32",
2078
2134
  "nodeType": "ElementaryTypeName",
2079
2135
  "src": "1521:7:24",
@@ -2082,7 +2138,7 @@
2082
2138
  "typeString": "bytes32"
2083
2139
  }
2084
2140
  },
2085
- "id": 17283,
2141
+ "id": 17544,
2086
2142
  "nodeType": "ArrayTypeName",
2087
2143
  "src": "1521:9:24",
2088
2144
  "typeDescriptions": {
@@ -2094,12 +2150,12 @@
2094
2150
  },
2095
2151
  {
2096
2152
  "constant": false,
2097
- "id": 17286,
2153
+ "id": 17547,
2098
2154
  "mutability": "mutable",
2099
2155
  "name": "schemaIndex",
2100
2156
  "nameLocation": "1551:11:24",
2101
2157
  "nodeType": "VariableDeclaration",
2102
- "scope": 17291,
2158
+ "scope": 17552,
2103
2159
  "src": "1545:17:24",
2104
2160
  "stateVariable": false,
2105
2161
  "storageLocation": "default",
@@ -2108,7 +2164,7 @@
2108
2164
  "typeString": "uint8"
2109
2165
  },
2110
2166
  "typeName": {
2111
- "id": 17285,
2167
+ "id": 17546,
2112
2168
  "name": "uint8",
2113
2169
  "nodeType": "ElementaryTypeName",
2114
2170
  "src": "1545:5:24",
@@ -2121,12 +2177,12 @@
2121
2177
  },
2122
2178
  {
2123
2179
  "constant": false,
2124
- "id": 17288,
2180
+ "id": 17549,
2125
2181
  "mutability": "mutable",
2126
2182
  "name": "data",
2127
2183
  "nameLocation": "1579:4:24",
2128
2184
  "nodeType": "VariableDeclaration",
2129
- "scope": 17291,
2185
+ "scope": 17552,
2130
2186
  "src": "1564:19:24",
2131
2187
  "stateVariable": false,
2132
2188
  "storageLocation": "calldata",
@@ -2135,7 +2191,7 @@
2135
2191
  "typeString": "bytes"
2136
2192
  },
2137
2193
  "typeName": {
2138
- "id": 17287,
2194
+ "id": 17548,
2139
2195
  "name": "bytes",
2140
2196
  "nodeType": "ElementaryTypeName",
2141
2197
  "src": "1564:5:24",
@@ -2150,18 +2206,18 @@
2150
2206
  "src": "1505:79:24"
2151
2207
  },
2152
2208
  "returnParameters": {
2153
- "id": 17290,
2209
+ "id": 17551,
2154
2210
  "nodeType": "ParameterList",
2155
2211
  "parameters": [],
2156
2212
  "src": "1593:0:24"
2157
2213
  },
2158
- "scope": 17326,
2214
+ "scope": 17599,
2159
2215
  "stateMutability": "nonpayable",
2160
2216
  "virtual": false,
2161
2217
  "visibility": "external"
2162
2218
  },
2163
2219
  {
2164
- "id": 17303,
2220
+ "id": 17564,
2165
2221
  "nodeType": "FunctionDefinition",
2166
2222
  "src": "1659:115:24",
2167
2223
  "nodes": [],
@@ -2172,17 +2228,17 @@
2172
2228
  "name": "pushToField",
2173
2229
  "nameLocation": "1668:11:24",
2174
2230
  "parameters": {
2175
- "id": 17301,
2231
+ "id": 17562,
2176
2232
  "nodeType": "ParameterList",
2177
2233
  "parameters": [
2178
2234
  {
2179
2235
  "constant": false,
2180
- "id": 17293,
2236
+ "id": 17554,
2181
2237
  "mutability": "mutable",
2182
2238
  "name": "table",
2183
2239
  "nameLocation": "1688:5:24",
2184
2240
  "nodeType": "VariableDeclaration",
2185
- "scope": 17303,
2241
+ "scope": 17564,
2186
2242
  "src": "1680:13:24",
2187
2243
  "stateVariable": false,
2188
2244
  "storageLocation": "default",
@@ -2191,7 +2247,7 @@
2191
2247
  "typeString": "bytes32"
2192
2248
  },
2193
2249
  "typeName": {
2194
- "id": 17292,
2250
+ "id": 17553,
2195
2251
  "name": "bytes32",
2196
2252
  "nodeType": "ElementaryTypeName",
2197
2253
  "src": "1680:7:24",
@@ -2204,12 +2260,12 @@
2204
2260
  },
2205
2261
  {
2206
2262
  "constant": false,
2207
- "id": 17296,
2263
+ "id": 17557,
2208
2264
  "mutability": "mutable",
2209
2265
  "name": "key",
2210
2266
  "nameLocation": "1714:3:24",
2211
2267
  "nodeType": "VariableDeclaration",
2212
- "scope": 17303,
2268
+ "scope": 17564,
2213
2269
  "src": "1695:22:24",
2214
2270
  "stateVariable": false,
2215
2271
  "storageLocation": "calldata",
@@ -2219,7 +2275,7 @@
2219
2275
  },
2220
2276
  "typeName": {
2221
2277
  "baseType": {
2222
- "id": 17294,
2278
+ "id": 17555,
2223
2279
  "name": "bytes32",
2224
2280
  "nodeType": "ElementaryTypeName",
2225
2281
  "src": "1695:7:24",
@@ -2228,7 +2284,7 @@
2228
2284
  "typeString": "bytes32"
2229
2285
  }
2230
2286
  },
2231
- "id": 17295,
2287
+ "id": 17556,
2232
2288
  "nodeType": "ArrayTypeName",
2233
2289
  "src": "1695:9:24",
2234
2290
  "typeDescriptions": {
@@ -2240,12 +2296,12 @@
2240
2296
  },
2241
2297
  {
2242
2298
  "constant": false,
2243
- "id": 17298,
2299
+ "id": 17559,
2244
2300
  "mutability": "mutable",
2245
2301
  "name": "schemaIndex",
2246
2302
  "nameLocation": "1725:11:24",
2247
2303
  "nodeType": "VariableDeclaration",
2248
- "scope": 17303,
2304
+ "scope": 17564,
2249
2305
  "src": "1719:17:24",
2250
2306
  "stateVariable": false,
2251
2307
  "storageLocation": "default",
@@ -2254,7 +2310,7 @@
2254
2310
  "typeString": "uint8"
2255
2311
  },
2256
2312
  "typeName": {
2257
- "id": 17297,
2313
+ "id": 17558,
2258
2314
  "name": "uint8",
2259
2315
  "nodeType": "ElementaryTypeName",
2260
2316
  "src": "1719:5:24",
@@ -2267,12 +2323,12 @@
2267
2323
  },
2268
2324
  {
2269
2325
  "constant": false,
2270
- "id": 17300,
2326
+ "id": 17561,
2271
2327
  "mutability": "mutable",
2272
2328
  "name": "dataToPush",
2273
2329
  "nameLocation": "1753:10:24",
2274
2330
  "nodeType": "VariableDeclaration",
2275
- "scope": 17303,
2331
+ "scope": 17564,
2276
2332
  "src": "1738:25:24",
2277
2333
  "stateVariable": false,
2278
2334
  "storageLocation": "calldata",
@@ -2281,7 +2337,7 @@
2281
2337
  "typeString": "bytes"
2282
2338
  },
2283
2339
  "typeName": {
2284
- "id": 17299,
2340
+ "id": 17560,
2285
2341
  "name": "bytes",
2286
2342
  "nodeType": "ElementaryTypeName",
2287
2343
  "src": "1738:5:24",
@@ -2296,40 +2352,186 @@
2296
2352
  "src": "1679:85:24"
2297
2353
  },
2298
2354
  "returnParameters": {
2299
- "id": 17302,
2355
+ "id": 17563,
2300
2356
  "nodeType": "ParameterList",
2301
2357
  "parameters": [],
2302
2358
  "src": "1773:0:24"
2303
2359
  },
2304
- "scope": 17326,
2360
+ "scope": 17599,
2361
+ "stateMutability": "nonpayable",
2362
+ "virtual": false,
2363
+ "visibility": "external"
2364
+ },
2365
+ {
2366
+ "id": 17576,
2367
+ "nodeType": "FunctionDefinition",
2368
+ "src": "1838:114:24",
2369
+ "nodes": [],
2370
+ "functionSelector": "8c1f9a54",
2371
+ "implemented": false,
2372
+ "kind": "function",
2373
+ "modifiers": [],
2374
+ "name": "popFromField",
2375
+ "nameLocation": "1847:12:24",
2376
+ "parameters": {
2377
+ "id": 17574,
2378
+ "nodeType": "ParameterList",
2379
+ "parameters": [
2380
+ {
2381
+ "constant": false,
2382
+ "id": 17566,
2383
+ "mutability": "mutable",
2384
+ "name": "table",
2385
+ "nameLocation": "1868:5:24",
2386
+ "nodeType": "VariableDeclaration",
2387
+ "scope": 17576,
2388
+ "src": "1860:13:24",
2389
+ "stateVariable": false,
2390
+ "storageLocation": "default",
2391
+ "typeDescriptions": {
2392
+ "typeIdentifier": "t_bytes32",
2393
+ "typeString": "bytes32"
2394
+ },
2395
+ "typeName": {
2396
+ "id": 17565,
2397
+ "name": "bytes32",
2398
+ "nodeType": "ElementaryTypeName",
2399
+ "src": "1860:7:24",
2400
+ "typeDescriptions": {
2401
+ "typeIdentifier": "t_bytes32",
2402
+ "typeString": "bytes32"
2403
+ }
2404
+ },
2405
+ "visibility": "internal"
2406
+ },
2407
+ {
2408
+ "constant": false,
2409
+ "id": 17569,
2410
+ "mutability": "mutable",
2411
+ "name": "key",
2412
+ "nameLocation": "1894:3:24",
2413
+ "nodeType": "VariableDeclaration",
2414
+ "scope": 17576,
2415
+ "src": "1875:22:24",
2416
+ "stateVariable": false,
2417
+ "storageLocation": "calldata",
2418
+ "typeDescriptions": {
2419
+ "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
2420
+ "typeString": "bytes32[]"
2421
+ },
2422
+ "typeName": {
2423
+ "baseType": {
2424
+ "id": 17567,
2425
+ "name": "bytes32",
2426
+ "nodeType": "ElementaryTypeName",
2427
+ "src": "1875:7:24",
2428
+ "typeDescriptions": {
2429
+ "typeIdentifier": "t_bytes32",
2430
+ "typeString": "bytes32"
2431
+ }
2432
+ },
2433
+ "id": 17568,
2434
+ "nodeType": "ArrayTypeName",
2435
+ "src": "1875:9:24",
2436
+ "typeDescriptions": {
2437
+ "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
2438
+ "typeString": "bytes32[]"
2439
+ }
2440
+ },
2441
+ "visibility": "internal"
2442
+ },
2443
+ {
2444
+ "constant": false,
2445
+ "id": 17571,
2446
+ "mutability": "mutable",
2447
+ "name": "schemaIndex",
2448
+ "nameLocation": "1905:11:24",
2449
+ "nodeType": "VariableDeclaration",
2450
+ "scope": 17576,
2451
+ "src": "1899:17:24",
2452
+ "stateVariable": false,
2453
+ "storageLocation": "default",
2454
+ "typeDescriptions": {
2455
+ "typeIdentifier": "t_uint8",
2456
+ "typeString": "uint8"
2457
+ },
2458
+ "typeName": {
2459
+ "id": 17570,
2460
+ "name": "uint8",
2461
+ "nodeType": "ElementaryTypeName",
2462
+ "src": "1899:5:24",
2463
+ "typeDescriptions": {
2464
+ "typeIdentifier": "t_uint8",
2465
+ "typeString": "uint8"
2466
+ }
2467
+ },
2468
+ "visibility": "internal"
2469
+ },
2470
+ {
2471
+ "constant": false,
2472
+ "id": 17573,
2473
+ "mutability": "mutable",
2474
+ "name": "byteLengthToPop",
2475
+ "nameLocation": "1926:15:24",
2476
+ "nodeType": "VariableDeclaration",
2477
+ "scope": 17576,
2478
+ "src": "1918:23:24",
2479
+ "stateVariable": false,
2480
+ "storageLocation": "default",
2481
+ "typeDescriptions": {
2482
+ "typeIdentifier": "t_uint256",
2483
+ "typeString": "uint256"
2484
+ },
2485
+ "typeName": {
2486
+ "id": 17572,
2487
+ "name": "uint256",
2488
+ "nodeType": "ElementaryTypeName",
2489
+ "src": "1918:7:24",
2490
+ "typeDescriptions": {
2491
+ "typeIdentifier": "t_uint256",
2492
+ "typeString": "uint256"
2493
+ }
2494
+ },
2495
+ "visibility": "internal"
2496
+ }
2497
+ ],
2498
+ "src": "1859:83:24"
2499
+ },
2500
+ "returnParameters": {
2501
+ "id": 17575,
2502
+ "nodeType": "ParameterList",
2503
+ "parameters": [],
2504
+ "src": "1951:0:24"
2505
+ },
2506
+ "scope": 17599,
2305
2507
  "stateMutability": "nonpayable",
2306
2508
  "virtual": false,
2307
2509
  "visibility": "external"
2308
2510
  },
2309
2511
  {
2310
- "id": 17317,
2512
+ "id": 17590,
2311
2513
  "nodeType": "FunctionDefinition",
2312
- "src": "1845:164:24",
2514
+ "src": "2023:164:24",
2313
2515
  "nodes": [],
2314
2516
  "functionSelector": "776d4047",
2315
2517
  "implemented": false,
2316
2518
  "kind": "function",
2317
2519
  "modifiers": [],
2318
2520
  "name": "updateInField",
2319
- "nameLocation": "1854:13:24",
2521
+ "nameLocation": "2032:13:24",
2320
2522
  "parameters": {
2321
- "id": 17315,
2523
+ "id": 17588,
2322
2524
  "nodeType": "ParameterList",
2323
2525
  "parameters": [
2324
2526
  {
2325
2527
  "constant": false,
2326
- "id": 17305,
2528
+ "id": 17578,
2327
2529
  "mutability": "mutable",
2328
2530
  "name": "table",
2329
- "nameLocation": "1881:5:24",
2531
+ "nameLocation": "2059:5:24",
2330
2532
  "nodeType": "VariableDeclaration",
2331
- "scope": 17317,
2332
- "src": "1873:13:24",
2533
+ "scope": 17590,
2534
+ "src": "2051:13:24",
2333
2535
  "stateVariable": false,
2334
2536
  "storageLocation": "default",
2335
2537
  "typeDescriptions": {
@@ -2337,10 +2539,10 @@
2337
2539
  "typeString": "bytes32"
2338
2540
  },
2339
2541
  "typeName": {
2340
- "id": 17304,
2542
+ "id": 17577,
2341
2543
  "name": "bytes32",
2342
2544
  "nodeType": "ElementaryTypeName",
2343
- "src": "1873:7:24",
2545
+ "src": "2051:7:24",
2344
2546
  "typeDescriptions": {
2345
2547
  "typeIdentifier": "t_bytes32",
2346
2548
  "typeString": "bytes32"
@@ -2350,13 +2552,13 @@
2350
2552
  },
2351
2553
  {
2352
2554
  "constant": false,
2353
- "id": 17308,
2555
+ "id": 17581,
2354
2556
  "mutability": "mutable",
2355
2557
  "name": "key",
2356
- "nameLocation": "1911:3:24",
2558
+ "nameLocation": "2089:3:24",
2357
2559
  "nodeType": "VariableDeclaration",
2358
- "scope": 17317,
2359
- "src": "1892:22:24",
2560
+ "scope": 17590,
2561
+ "src": "2070:22:24",
2360
2562
  "stateVariable": false,
2361
2563
  "storageLocation": "calldata",
2362
2564
  "typeDescriptions": {
@@ -2365,18 +2567,18 @@
2365
2567
  },
2366
2568
  "typeName": {
2367
2569
  "baseType": {
2368
- "id": 17306,
2570
+ "id": 17579,
2369
2571
  "name": "bytes32",
2370
2572
  "nodeType": "ElementaryTypeName",
2371
- "src": "1892:7:24",
2573
+ "src": "2070:7:24",
2372
2574
  "typeDescriptions": {
2373
2575
  "typeIdentifier": "t_bytes32",
2374
2576
  "typeString": "bytes32"
2375
2577
  }
2376
2578
  },
2377
- "id": 17307,
2579
+ "id": 17580,
2378
2580
  "nodeType": "ArrayTypeName",
2379
- "src": "1892:9:24",
2581
+ "src": "2070:9:24",
2380
2582
  "typeDescriptions": {
2381
2583
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
2382
2584
  "typeString": "bytes32[]"
@@ -2386,13 +2588,13 @@
2386
2588
  },
2387
2589
  {
2388
2590
  "constant": false,
2389
- "id": 17310,
2591
+ "id": 17583,
2390
2592
  "mutability": "mutable",
2391
2593
  "name": "schemaIndex",
2392
- "nameLocation": "1926:11:24",
2594
+ "nameLocation": "2104:11:24",
2393
2595
  "nodeType": "VariableDeclaration",
2394
- "scope": 17317,
2395
- "src": "1920:17:24",
2596
+ "scope": 17590,
2597
+ "src": "2098:17:24",
2396
2598
  "stateVariable": false,
2397
2599
  "storageLocation": "default",
2398
2600
  "typeDescriptions": {
@@ -2400,10 +2602,10 @@
2400
2602
  "typeString": "uint8"
2401
2603
  },
2402
2604
  "typeName": {
2403
- "id": 17309,
2605
+ "id": 17582,
2404
2606
  "name": "uint8",
2405
2607
  "nodeType": "ElementaryTypeName",
2406
- "src": "1920:5:24",
2608
+ "src": "2098:5:24",
2407
2609
  "typeDescriptions": {
2408
2610
  "typeIdentifier": "t_uint8",
2409
2611
  "typeString": "uint8"
@@ -2413,13 +2615,13 @@
2413
2615
  },
2414
2616
  {
2415
2617
  "constant": false,
2416
- "id": 17312,
2618
+ "id": 17585,
2417
2619
  "mutability": "mutable",
2418
2620
  "name": "startByteIndex",
2419
- "nameLocation": "1951:14:24",
2621
+ "nameLocation": "2129:14:24",
2420
2622
  "nodeType": "VariableDeclaration",
2421
- "scope": 17317,
2422
- "src": "1943:22:24",
2623
+ "scope": 17590,
2624
+ "src": "2121:22:24",
2423
2625
  "stateVariable": false,
2424
2626
  "storageLocation": "default",
2425
2627
  "typeDescriptions": {
@@ -2427,10 +2629,10 @@
2427
2629
  "typeString": "uint256"
2428
2630
  },
2429
2631
  "typeName": {
2430
- "id": 17311,
2632
+ "id": 17584,
2431
2633
  "name": "uint256",
2432
2634
  "nodeType": "ElementaryTypeName",
2433
- "src": "1943:7:24",
2635
+ "src": "2121:7:24",
2434
2636
  "typeDescriptions": {
2435
2637
  "typeIdentifier": "t_uint256",
2436
2638
  "typeString": "uint256"
@@ -2440,13 +2642,13 @@
2440
2642
  },
2441
2643
  {
2442
2644
  "constant": false,
2443
- "id": 17314,
2645
+ "id": 17587,
2444
2646
  "mutability": "mutable",
2445
2647
  "name": "dataToSet",
2446
- "nameLocation": "1986:9:24",
2648
+ "nameLocation": "2164:9:24",
2447
2649
  "nodeType": "VariableDeclaration",
2448
- "scope": 17317,
2449
- "src": "1971:24:24",
2650
+ "scope": 17590,
2651
+ "src": "2149:24:24",
2450
2652
  "stateVariable": false,
2451
2653
  "storageLocation": "calldata",
2452
2654
  "typeDescriptions": {
@@ -2454,10 +2656,10 @@
2454
2656
  "typeString": "bytes"
2455
2657
  },
2456
2658
  "typeName": {
2457
- "id": 17313,
2659
+ "id": 17586,
2458
2660
  "name": "bytes",
2459
2661
  "nodeType": "ElementaryTypeName",
2460
- "src": "1971:5:24",
2662
+ "src": "2149:5:24",
2461
2663
  "typeDescriptions": {
2462
2664
  "typeIdentifier": "t_bytes_storage_ptr",
2463
2665
  "typeString": "bytes"
@@ -2466,43 +2668,43 @@
2466
2668
  "visibility": "internal"
2467
2669
  }
2468
2670
  ],
2469
- "src": "1867:132:24"
2671
+ "src": "2045:132:24"
2470
2672
  },
2471
2673
  "returnParameters": {
2472
- "id": 17316,
2674
+ "id": 17589,
2473
2675
  "nodeType": "ParameterList",
2474
2676
  "parameters": [],
2475
- "src": "2008:0:24"
2677
+ "src": "2186:0:24"
2476
2678
  },
2477
- "scope": 17326,
2679
+ "scope": 17599,
2478
2680
  "stateMutability": "nonpayable",
2479
2681
  "virtual": false,
2480
2682
  "visibility": "external"
2481
2683
  },
2482
2684
  {
2483
- "id": 17325,
2685
+ "id": 17598,
2484
2686
  "nodeType": "FunctionDefinition",
2485
- "src": "2064:68:24",
2687
+ "src": "2242:68:24",
2486
2688
  "nodes": [],
2487
2689
  "functionSelector": "505a181d",
2488
2690
  "implemented": false,
2489
2691
  "kind": "function",
2490
2692
  "modifiers": [],
2491
2693
  "name": "deleteRecord",
2492
- "nameLocation": "2073:12:24",
2694
+ "nameLocation": "2251:12:24",
2493
2695
  "parameters": {
2494
- "id": 17323,
2696
+ "id": 17596,
2495
2697
  "nodeType": "ParameterList",
2496
2698
  "parameters": [
2497
2699
  {
2498
2700
  "constant": false,
2499
- "id": 17319,
2701
+ "id": 17592,
2500
2702
  "mutability": "mutable",
2501
2703
  "name": "table",
2502
- "nameLocation": "2094:5:24",
2704
+ "nameLocation": "2272:5:24",
2503
2705
  "nodeType": "VariableDeclaration",
2504
- "scope": 17325,
2505
- "src": "2086:13:24",
2706
+ "scope": 17598,
2707
+ "src": "2264:13:24",
2506
2708
  "stateVariable": false,
2507
2709
  "storageLocation": "default",
2508
2710
  "typeDescriptions": {
@@ -2510,10 +2712,10 @@
2510
2712
  "typeString": "bytes32"
2511
2713
  },
2512
2714
  "typeName": {
2513
- "id": 17318,
2715
+ "id": 17591,
2514
2716
  "name": "bytes32",
2515
2717
  "nodeType": "ElementaryTypeName",
2516
- "src": "2086:7:24",
2718
+ "src": "2264:7:24",
2517
2719
  "typeDescriptions": {
2518
2720
  "typeIdentifier": "t_bytes32",
2519
2721
  "typeString": "bytes32"
@@ -2523,13 +2725,13 @@
2523
2725
  },
2524
2726
  {
2525
2727
  "constant": false,
2526
- "id": 17322,
2728
+ "id": 17595,
2527
2729
  "mutability": "mutable",
2528
2730
  "name": "key",
2529
- "nameLocation": "2118:3:24",
2731
+ "nameLocation": "2296:3:24",
2530
2732
  "nodeType": "VariableDeclaration",
2531
- "scope": 17325,
2532
- "src": "2101:20:24",
2733
+ "scope": 17598,
2734
+ "src": "2279:20:24",
2533
2735
  "stateVariable": false,
2534
2736
  "storageLocation": "memory",
2535
2737
  "typeDescriptions": {
@@ -2538,18 +2740,18 @@
2538
2740
  },
2539
2741
  "typeName": {
2540
2742
  "baseType": {
2541
- "id": 17320,
2743
+ "id": 17593,
2542
2744
  "name": "bytes32",
2543
2745
  "nodeType": "ElementaryTypeName",
2544
- "src": "2101:7:24",
2746
+ "src": "2279:7:24",
2545
2747
  "typeDescriptions": {
2546
2748
  "typeIdentifier": "t_bytes32",
2547
2749
  "typeString": "bytes32"
2548
2750
  }
2549
2751
  },
2550
- "id": 17321,
2752
+ "id": 17594,
2551
2753
  "nodeType": "ArrayTypeName",
2552
- "src": "2101:9:24",
2754
+ "src": "2279:9:24",
2553
2755
  "typeDescriptions": {
2554
2756
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
2555
2757
  "typeString": "bytes32[]"
@@ -2558,15 +2760,15 @@
2558
2760
  "visibility": "internal"
2559
2761
  }
2560
2762
  ],
2561
- "src": "2085:37:24"
2763
+ "src": "2263:37:24"
2562
2764
  },
2563
2765
  "returnParameters": {
2564
- "id": 17324,
2766
+ "id": 17597,
2565
2767
  "nodeType": "ParameterList",
2566
2768
  "parameters": [],
2567
- "src": "2131:0:24"
2769
+ "src": "2309:0:24"
2568
2770
  },
2569
- "scope": 17326,
2771
+ "scope": 17599,
2570
2772
  "stateMutability": "nonpayable",
2571
2773
  "virtual": false,
2572
2774
  "visibility": "external"
@@ -2579,94 +2781,94 @@
2579
2781
  "contractKind": "interface",
2580
2782
  "fullyImplemented": false,
2581
2783
  "linearizedBaseContracts": [
2582
- 17326
2784
+ 17599
2583
2785
  ],
2584
2786
  "name": "IStoreWrite",
2585
2787
  "nameLocation": "1083:11:24",
2586
- "scope": 17412,
2788
+ "scope": 17685,
2587
2789
  "usedErrors": []
2588
2790
  },
2589
2791
  {
2590
- "id": 17332,
2792
+ "id": 17605,
2591
2793
  "nodeType": "ContractDefinition",
2592
- "src": "2345:52:24",
2794
+ "src": "2523:52:24",
2593
2795
  "nodes": [],
2594
2796
  "abstract": false,
2595
2797
  "baseContracts": [
2596
2798
  {
2597
2799
  "baseName": {
2598
- "id": 17328,
2800
+ "id": 17601,
2599
2801
  "name": "IStoreRead",
2600
2802
  "nodeType": "IdentifierPath",
2601
- "referencedDeclaration": 17242,
2602
- "src": "2369:10:24"
2803
+ "referencedDeclaration": 17503,
2804
+ "src": "2547:10:24"
2603
2805
  },
2604
- "id": 17329,
2806
+ "id": 17602,
2605
2807
  "nodeType": "InheritanceSpecifier",
2606
- "src": "2369:10:24"
2808
+ "src": "2547:10:24"
2607
2809
  },
2608
2810
  {
2609
2811
  "baseName": {
2610
- "id": 17330,
2812
+ "id": 17603,
2611
2813
  "name": "IStoreWrite",
2612
2814
  "nodeType": "IdentifierPath",
2613
- "referencedDeclaration": 17326,
2614
- "src": "2381:11:24"
2815
+ "referencedDeclaration": 17599,
2816
+ "src": "2559:11:24"
2615
2817
  },
2616
- "id": 17331,
2818
+ "id": 17604,
2617
2819
  "nodeType": "InheritanceSpecifier",
2618
- "src": "2381:11:24"
2820
+ "src": "2559:11:24"
2619
2821
  }
2620
2822
  ],
2621
2823
  "canonicalName": "IStoreData",
2622
2824
  "contractDependencies": [],
2623
2825
  "contractKind": "interface",
2624
2826
  "documentation": {
2625
- "id": 17327,
2827
+ "id": 17600,
2626
2828
  "nodeType": "StructuredDocumentation",
2627
- "src": "2136:208:24",
2829
+ "src": "2314:208:24",
2628
2830
  "text": " The IStoreData 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"
2629
2831
  },
2630
2832
  "fullyImplemented": false,
2631
2833
  "linearizedBaseContracts": [
2632
- 17332,
2633
- 17326,
2634
- 17242
2834
+ 17605,
2835
+ 17599,
2836
+ 17503
2635
2837
  ],
2636
2838
  "name": "IStoreData",
2637
- "nameLocation": "2355:10:24",
2638
- "scope": 17412,
2839
+ "nameLocation": "2533:10:24",
2840
+ "scope": 17685,
2639
2841
  "usedErrors": []
2640
2842
  },
2641
2843
  {
2642
- "id": 17363,
2844
+ "id": 17636,
2643
2845
  "nodeType": "ContractDefinition",
2644
- "src": "2650:367:24",
2846
+ "src": "2828:367:24",
2645
2847
  "nodes": [
2646
2848
  {
2647
- "id": 17344,
2849
+ "id": 17617,
2648
2850
  "nodeType": "FunctionDefinition",
2649
- "src": "2683:81:24",
2851
+ "src": "2861:81:24",
2650
2852
  "nodes": [],
2651
2853
  "functionSelector": "d5933686",
2652
2854
  "implemented": false,
2653
2855
  "kind": "function",
2654
2856
  "modifiers": [],
2655
2857
  "name": "registerSchema",
2656
- "nameLocation": "2692:14:24",
2858
+ "nameLocation": "2870:14:24",
2657
2859
  "parameters": {
2658
- "id": 17342,
2860
+ "id": 17615,
2659
2861
  "nodeType": "ParameterList",
2660
2862
  "parameters": [
2661
2863
  {
2662
2864
  "constant": false,
2663
- "id": 17335,
2865
+ "id": 17608,
2664
2866
  "mutability": "mutable",
2665
2867
  "name": "table",
2666
- "nameLocation": "2715:5:24",
2868
+ "nameLocation": "2893:5:24",
2667
2869
  "nodeType": "VariableDeclaration",
2668
- "scope": 17344,
2669
- "src": "2707:13:24",
2870
+ "scope": 17617,
2871
+ "src": "2885:13:24",
2670
2872
  "stateVariable": false,
2671
2873
  "storageLocation": "default",
2672
2874
  "typeDescriptions": {
@@ -2674,10 +2876,10 @@
2674
2876
  "typeString": "bytes32"
2675
2877
  },
2676
2878
  "typeName": {
2677
- "id": 17334,
2879
+ "id": 17607,
2678
2880
  "name": "bytes32",
2679
2881
  "nodeType": "ElementaryTypeName",
2680
- "src": "2707:7:24",
2882
+ "src": "2885:7:24",
2681
2883
  "typeDescriptions": {
2682
2884
  "typeIdentifier": "t_bytes32",
2683
2885
  "typeString": "bytes32"
@@ -2687,33 +2889,33 @@
2687
2889
  },
2688
2890
  {
2689
2891
  "constant": false,
2690
- "id": 17338,
2892
+ "id": 17611,
2691
2893
  "mutability": "mutable",
2692
2894
  "name": "schema",
2693
- "nameLocation": "2729:6:24",
2895
+ "nameLocation": "2907:6:24",
2694
2896
  "nodeType": "VariableDeclaration",
2695
- "scope": 17344,
2696
- "src": "2722:13:24",
2897
+ "scope": 17617,
2898
+ "src": "2900:13:24",
2697
2899
  "stateVariable": false,
2698
2900
  "storageLocation": "default",
2699
2901
  "typeDescriptions": {
2700
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
2902
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
2701
2903
  "typeString": "Schema"
2702
2904
  },
2703
2905
  "typeName": {
2704
- "id": 17337,
2906
+ "id": 17610,
2705
2907
  "nodeType": "UserDefinedTypeName",
2706
2908
  "pathNode": {
2707
- "id": 17336,
2909
+ "id": 17609,
2708
2910
  "name": "Schema",
2709
2911
  "nodeType": "IdentifierPath",
2710
- "referencedDeclaration": 17918,
2711
- "src": "2722:6:24"
2912
+ "referencedDeclaration": 18191,
2913
+ "src": "2900:6:24"
2712
2914
  },
2713
- "referencedDeclaration": 17918,
2714
- "src": "2722:6:24",
2915
+ "referencedDeclaration": 18191,
2916
+ "src": "2900:6:24",
2715
2917
  "typeDescriptions": {
2716
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
2918
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
2717
2919
  "typeString": "Schema"
2718
2920
  }
2719
2921
  },
@@ -2721,76 +2923,76 @@
2721
2923
  },
2722
2924
  {
2723
2925
  "constant": false,
2724
- "id": 17341,
2926
+ "id": 17614,
2725
2927
  "mutability": "mutable",
2726
2928
  "name": "keySchema",
2727
- "nameLocation": "2744:9:24",
2929
+ "nameLocation": "2922:9:24",
2728
2930
  "nodeType": "VariableDeclaration",
2729
- "scope": 17344,
2730
- "src": "2737:16:24",
2931
+ "scope": 17617,
2932
+ "src": "2915:16:24",
2731
2933
  "stateVariable": false,
2732
2934
  "storageLocation": "default",
2733
2935
  "typeDescriptions": {
2734
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
2936
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
2735
2937
  "typeString": "Schema"
2736
2938
  },
2737
2939
  "typeName": {
2738
- "id": 17340,
2940
+ "id": 17613,
2739
2941
  "nodeType": "UserDefinedTypeName",
2740
2942
  "pathNode": {
2741
- "id": 17339,
2943
+ "id": 17612,
2742
2944
  "name": "Schema",
2743
2945
  "nodeType": "IdentifierPath",
2744
- "referencedDeclaration": 17918,
2745
- "src": "2737:6:24"
2946
+ "referencedDeclaration": 18191,
2947
+ "src": "2915:6:24"
2746
2948
  },
2747
- "referencedDeclaration": 17918,
2748
- "src": "2737:6:24",
2949
+ "referencedDeclaration": 18191,
2950
+ "src": "2915:6:24",
2749
2951
  "typeDescriptions": {
2750
- "typeIdentifier": "t_userDefinedValueType$_Schema_$17918",
2952
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$18191",
2751
2953
  "typeString": "Schema"
2752
2954
  }
2753
2955
  },
2754
2956
  "visibility": "internal"
2755
2957
  }
2756
2958
  ],
2757
- "src": "2706:48:24"
2959
+ "src": "2884:48:24"
2758
2960
  },
2759
2961
  "returnParameters": {
2760
- "id": 17343,
2962
+ "id": 17616,
2761
2963
  "nodeType": "ParameterList",
2762
2964
  "parameters": [],
2763
- "src": "2763:0:24"
2965
+ "src": "2941:0:24"
2764
2966
  },
2765
- "scope": 17363,
2967
+ "scope": 17636,
2766
2968
  "stateMutability": "nonpayable",
2767
2969
  "virtual": false,
2768
2970
  "visibility": "external"
2769
2971
  },
2770
2972
  {
2771
- "id": 17354,
2973
+ "id": 17627,
2772
2974
  "nodeType": "FunctionDefinition",
2773
- "src": "2768:102:24",
2975
+ "src": "2946:102:24",
2774
2976
  "nodes": [],
2775
2977
  "functionSelector": "fe86a89f",
2776
2978
  "implemented": false,
2777
2979
  "kind": "function",
2778
2980
  "modifiers": [],
2779
2981
  "name": "setMetadata",
2780
- "nameLocation": "2777:11:24",
2982
+ "nameLocation": "2955:11:24",
2781
2983
  "parameters": {
2782
- "id": 17352,
2984
+ "id": 17625,
2783
2985
  "nodeType": "ParameterList",
2784
2986
  "parameters": [
2785
2987
  {
2786
2988
  "constant": false,
2787
- "id": 17346,
2989
+ "id": 17619,
2788
2990
  "mutability": "mutable",
2789
2991
  "name": "table",
2790
- "nameLocation": "2797:5:24",
2992
+ "nameLocation": "2975:5:24",
2791
2993
  "nodeType": "VariableDeclaration",
2792
- "scope": 17354,
2793
- "src": "2789:13:24",
2994
+ "scope": 17627,
2995
+ "src": "2967:13:24",
2794
2996
  "stateVariable": false,
2795
2997
  "storageLocation": "default",
2796
2998
  "typeDescriptions": {
@@ -2798,10 +3000,10 @@
2798
3000
  "typeString": "bytes32"
2799
3001
  },
2800
3002
  "typeName": {
2801
- "id": 17345,
3003
+ "id": 17618,
2802
3004
  "name": "bytes32",
2803
3005
  "nodeType": "ElementaryTypeName",
2804
- "src": "2789:7:24",
3006
+ "src": "2967:7:24",
2805
3007
  "typeDescriptions": {
2806
3008
  "typeIdentifier": "t_bytes32",
2807
3009
  "typeString": "bytes32"
@@ -2811,13 +3013,13 @@
2811
3013
  },
2812
3014
  {
2813
3015
  "constant": false,
2814
- "id": 17348,
3016
+ "id": 17621,
2815
3017
  "mutability": "mutable",
2816
3018
  "name": "tableName",
2817
- "nameLocation": "2820:9:24",
3019
+ "nameLocation": "2998:9:24",
2818
3020
  "nodeType": "VariableDeclaration",
2819
- "scope": 17354,
2820
- "src": "2804:25:24",
3021
+ "scope": 17627,
3022
+ "src": "2982:25:24",
2821
3023
  "stateVariable": false,
2822
3024
  "storageLocation": "calldata",
2823
3025
  "typeDescriptions": {
@@ -2825,10 +3027,10 @@
2825
3027
  "typeString": "string"
2826
3028
  },
2827
3029
  "typeName": {
2828
- "id": 17347,
3030
+ "id": 17620,
2829
3031
  "name": "string",
2830
3032
  "nodeType": "ElementaryTypeName",
2831
- "src": "2804:6:24",
3033
+ "src": "2982:6:24",
2832
3034
  "typeDescriptions": {
2833
3035
  "typeIdentifier": "t_string_storage_ptr",
2834
3036
  "typeString": "string"
@@ -2838,13 +3040,13 @@
2838
3040
  },
2839
3041
  {
2840
3042
  "constant": false,
2841
- "id": 17351,
3043
+ "id": 17624,
2842
3044
  "mutability": "mutable",
2843
3045
  "name": "fieldNames",
2844
- "nameLocation": "2849:10:24",
3046
+ "nameLocation": "3027:10:24",
2845
3047
  "nodeType": "VariableDeclaration",
2846
- "scope": 17354,
2847
- "src": "2831:28:24",
3048
+ "scope": 17627,
3049
+ "src": "3009:28:24",
2848
3050
  "stateVariable": false,
2849
3051
  "storageLocation": "calldata",
2850
3052
  "typeDescriptions": {
@@ -2853,18 +3055,18 @@
2853
3055
  },
2854
3056
  "typeName": {
2855
3057
  "baseType": {
2856
- "id": 17349,
3058
+ "id": 17622,
2857
3059
  "name": "string",
2858
3060
  "nodeType": "ElementaryTypeName",
2859
- "src": "2831:6:24",
3061
+ "src": "3009:6:24",
2860
3062
  "typeDescriptions": {
2861
3063
  "typeIdentifier": "t_string_storage_ptr",
2862
3064
  "typeString": "string"
2863
3065
  }
2864
3066
  },
2865
- "id": 17350,
3067
+ "id": 17623,
2866
3068
  "nodeType": "ArrayTypeName",
2867
- "src": "2831:8:24",
3069
+ "src": "3009:8:24",
2868
3070
  "typeDescriptions": {
2869
3071
  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
2870
3072
  "typeString": "string[]"
@@ -2873,43 +3075,43 @@
2873
3075
  "visibility": "internal"
2874
3076
  }
2875
3077
  ],
2876
- "src": "2788:72:24"
3078
+ "src": "2966:72:24"
2877
3079
  },
2878
3080
  "returnParameters": {
2879
- "id": 17353,
3081
+ "id": 17626,
2880
3082
  "nodeType": "ParameterList",
2881
3083
  "parameters": [],
2882
- "src": "2869:0:24"
3084
+ "src": "3047:0:24"
2883
3085
  },
2884
- "scope": 17363,
3086
+ "scope": 17636,
2885
3087
  "stateMutability": "nonpayable",
2886
3088
  "virtual": false,
2887
3089
  "visibility": "external"
2888
3090
  },
2889
3091
  {
2890
- "id": 17362,
3092
+ "id": 17635,
2891
3093
  "nodeType": "FunctionDefinition",
2892
- "src": "2947:68:24",
3094
+ "src": "3125:68:24",
2893
3095
  "nodes": [],
2894
3096
  "functionSelector": "6e81fd71",
2895
3097
  "implemented": false,
2896
3098
  "kind": "function",
2897
3099
  "modifiers": [],
2898
3100
  "name": "registerStoreHook",
2899
- "nameLocation": "2956:17:24",
3101
+ "nameLocation": "3134:17:24",
2900
3102
  "parameters": {
2901
- "id": 17360,
3103
+ "id": 17633,
2902
3104
  "nodeType": "ParameterList",
2903
3105
  "parameters": [
2904
3106
  {
2905
3107
  "constant": false,
2906
- "id": 17356,
3108
+ "id": 17629,
2907
3109
  "mutability": "mutable",
2908
3110
  "name": "table",
2909
- "nameLocation": "2982:5:24",
3111
+ "nameLocation": "3160:5:24",
2910
3112
  "nodeType": "VariableDeclaration",
2911
- "scope": 17362,
2912
- "src": "2974:13:24",
3113
+ "scope": 17635,
3114
+ "src": "3152:13:24",
2913
3115
  "stateVariable": false,
2914
3116
  "storageLocation": "default",
2915
3117
  "typeDescriptions": {
@@ -2917,10 +3119,10 @@
2917
3119
  "typeString": "bytes32"
2918
3120
  },
2919
3121
  "typeName": {
2920
- "id": 17355,
3122
+ "id": 17628,
2921
3123
  "name": "bytes32",
2922
3124
  "nodeType": "ElementaryTypeName",
2923
- "src": "2974:7:24",
3125
+ "src": "3152:7:24",
2924
3126
  "typeDescriptions": {
2925
3127
  "typeIdentifier": "t_bytes32",
2926
3128
  "typeString": "bytes32"
@@ -2930,48 +3132,48 @@
2930
3132
  },
2931
3133
  {
2932
3134
  "constant": false,
2933
- "id": 17359,
3135
+ "id": 17632,
2934
3136
  "mutability": "mutable",
2935
3137
  "name": "hook",
2936
- "nameLocation": "3000:4:24",
3138
+ "nameLocation": "3178:4:24",
2937
3139
  "nodeType": "VariableDeclaration",
2938
- "scope": 17362,
2939
- "src": "2989:15:24",
3140
+ "scope": 17635,
3141
+ "src": "3167:15:24",
2940
3142
  "stateVariable": false,
2941
3143
  "storageLocation": "default",
2942
3144
  "typeDescriptions": {
2943
- "typeIdentifier": "t_contract$_IStoreHook_$17411",
3145
+ "typeIdentifier": "t_contract$_IStoreHook_$17684",
2944
3146
  "typeString": "contract IStoreHook"
2945
3147
  },
2946
3148
  "typeName": {
2947
- "id": 17358,
3149
+ "id": 17631,
2948
3150
  "nodeType": "UserDefinedTypeName",
2949
3151
  "pathNode": {
2950
- "id": 17357,
3152
+ "id": 17630,
2951
3153
  "name": "IStoreHook",
2952
3154
  "nodeType": "IdentifierPath",
2953
- "referencedDeclaration": 17411,
2954
- "src": "2989:10:24"
3155
+ "referencedDeclaration": 17684,
3156
+ "src": "3167:10:24"
2955
3157
  },
2956
- "referencedDeclaration": 17411,
2957
- "src": "2989:10:24",
3158
+ "referencedDeclaration": 17684,
3159
+ "src": "3167:10:24",
2958
3160
  "typeDescriptions": {
2959
- "typeIdentifier": "t_contract$_IStoreHook_$17411",
3161
+ "typeIdentifier": "t_contract$_IStoreHook_$17684",
2960
3162
  "typeString": "contract IStoreHook"
2961
3163
  }
2962
3164
  },
2963
3165
  "visibility": "internal"
2964
3166
  }
2965
3167
  ],
2966
- "src": "2973:32:24"
3168
+ "src": "3151:32:24"
2967
3169
  },
2968
3170
  "returnParameters": {
2969
- "id": 17361,
3171
+ "id": 17634,
2970
3172
  "nodeType": "ParameterList",
2971
3173
  "parameters": [],
2972
- "src": "3014:0:24"
3174
+ "src": "3192:0:24"
2973
3175
  },
2974
- "scope": 17363,
3176
+ "scope": 17636,
2975
3177
  "stateMutability": "nonpayable",
2976
3178
  "virtual": false,
2977
3179
  "visibility": "external"
@@ -2983,50 +3185,50 @@
2983
3185
  "contractDependencies": [],
2984
3186
  "contractKind": "interface",
2985
3187
  "documentation": {
2986
- "id": 17333,
3188
+ "id": 17606,
2987
3189
  "nodeType": "StructuredDocumentation",
2988
- "src": "2399:250:24",
3190
+ "src": "2577:250:24",
2989
3191
  "text": " The IStoreRegistration interface includes methods for managing table schemas,\n metadata, and hooks, which are usually called once in the setup phase of an application,\n making them less performance critical than the IStoreData methods."
2990
3192
  },
2991
3193
  "fullyImplemented": false,
2992
3194
  "linearizedBaseContracts": [
2993
- 17363
3195
+ 17636
2994
3196
  ],
2995
3197
  "name": "IStoreRegistration",
2996
- "nameLocation": "2660:18:24",
2997
- "scope": 17412,
3198
+ "nameLocation": "2838:18:24",
3199
+ "scope": 17685,
2998
3200
  "usedErrors": []
2999
3201
  },
3000
3202
  {
3001
- "id": 17368,
3203
+ "id": 17641,
3002
3204
  "nodeType": "ContractDefinition",
3003
- "src": "3019:53:24",
3205
+ "src": "3197:53:24",
3004
3206
  "nodes": [],
3005
3207
  "abstract": false,
3006
3208
  "baseContracts": [
3007
3209
  {
3008
3210
  "baseName": {
3009
- "id": 17364,
3211
+ "id": 17637,
3010
3212
  "name": "IStoreData",
3011
3213
  "nodeType": "IdentifierPath",
3012
- "referencedDeclaration": 17332,
3013
- "src": "3039:10:24"
3214
+ "referencedDeclaration": 17605,
3215
+ "src": "3217:10:24"
3014
3216
  },
3015
- "id": 17365,
3217
+ "id": 17638,
3016
3218
  "nodeType": "InheritanceSpecifier",
3017
- "src": "3039:10:24"
3219
+ "src": "3217:10:24"
3018
3220
  },
3019
3221
  {
3020
3222
  "baseName": {
3021
- "id": 17366,
3223
+ "id": 17639,
3022
3224
  "name": "IStoreRegistration",
3023
3225
  "nodeType": "IdentifierPath",
3024
- "referencedDeclaration": 17363,
3025
- "src": "3051:18:24"
3226
+ "referencedDeclaration": 17636,
3227
+ "src": "3229:18:24"
3026
3228
  },
3027
- "id": 17367,
3229
+ "id": 17640,
3028
3230
  "nodeType": "InheritanceSpecifier",
3029
- "src": "3051:18:24"
3231
+ "src": "3229:18:24"
3030
3232
  }
3031
3233
  ],
3032
3234
  "canonicalName": "IStore",
@@ -3034,46 +3236,46 @@
3034
3236
  "contractKind": "interface",
3035
3237
  "fullyImplemented": false,
3036
3238
  "linearizedBaseContracts": [
3037
- 17368,
3038
- 17363,
3039
- 17332,
3040
- 17326,
3041
- 17242
3239
+ 17641,
3240
+ 17636,
3241
+ 17605,
3242
+ 17599,
3243
+ 17503
3042
3244
  ],
3043
3245
  "name": "IStore",
3044
- "nameLocation": "3029:6:24",
3045
- "scope": 17412,
3246
+ "nameLocation": "3207:6:24",
3247
+ "scope": 17685,
3046
3248
  "usedErrors": []
3047
3249
  },
3048
3250
  {
3049
- "id": 17411,
3251
+ "id": 17684,
3050
3252
  "nodeType": "ContractDefinition",
3051
- "src": "3074:494:24",
3253
+ "src": "3252:494:24",
3052
3254
  "nodes": [
3053
3255
  {
3054
- "id": 17378,
3256
+ "id": 17651,
3055
3257
  "nodeType": "FunctionDefinition",
3056
- "src": "3099:86:24",
3258
+ "src": "3277:86:24",
3057
3259
  "nodes": [],
3058
3260
  "functionSelector": "82b6745f",
3059
3261
  "implemented": false,
3060
3262
  "kind": "function",
3061
3263
  "modifiers": [],
3062
3264
  "name": "onSetRecord",
3063
- "nameLocation": "3108:11:24",
3265
+ "nameLocation": "3286:11:24",
3064
3266
  "parameters": {
3065
- "id": 17376,
3267
+ "id": 17649,
3066
3268
  "nodeType": "ParameterList",
3067
3269
  "parameters": [
3068
3270
  {
3069
3271
  "constant": false,
3070
- "id": 17370,
3272
+ "id": 17643,
3071
3273
  "mutability": "mutable",
3072
3274
  "name": "table",
3073
- "nameLocation": "3128:5:24",
3275
+ "nameLocation": "3306:5:24",
3074
3276
  "nodeType": "VariableDeclaration",
3075
- "scope": 17378,
3076
- "src": "3120:13:24",
3277
+ "scope": 17651,
3278
+ "src": "3298:13:24",
3077
3279
  "stateVariable": false,
3078
3280
  "storageLocation": "default",
3079
3281
  "typeDescriptions": {
@@ -3081,10 +3283,10 @@
3081
3283
  "typeString": "bytes32"
3082
3284
  },
3083
3285
  "typeName": {
3084
- "id": 17369,
3286
+ "id": 17642,
3085
3287
  "name": "bytes32",
3086
3288
  "nodeType": "ElementaryTypeName",
3087
- "src": "3120:7:24",
3289
+ "src": "3298:7:24",
3088
3290
  "typeDescriptions": {
3089
3291
  "typeIdentifier": "t_bytes32",
3090
3292
  "typeString": "bytes32"
@@ -3094,13 +3296,13 @@
3094
3296
  },
3095
3297
  {
3096
3298
  "constant": false,
3097
- "id": 17373,
3299
+ "id": 17646,
3098
3300
  "mutability": "mutable",
3099
3301
  "name": "key",
3100
- "nameLocation": "3152:3:24",
3302
+ "nameLocation": "3330:3:24",
3101
3303
  "nodeType": "VariableDeclaration",
3102
- "scope": 17378,
3103
- "src": "3135:20:24",
3304
+ "scope": 17651,
3305
+ "src": "3313:20:24",
3104
3306
  "stateVariable": false,
3105
3307
  "storageLocation": "memory",
3106
3308
  "typeDescriptions": {
@@ -3109,18 +3311,18 @@
3109
3311
  },
3110
3312
  "typeName": {
3111
3313
  "baseType": {
3112
- "id": 17371,
3314
+ "id": 17644,
3113
3315
  "name": "bytes32",
3114
3316
  "nodeType": "ElementaryTypeName",
3115
- "src": "3135:7:24",
3317
+ "src": "3313:7:24",
3116
3318
  "typeDescriptions": {
3117
3319
  "typeIdentifier": "t_bytes32",
3118
3320
  "typeString": "bytes32"
3119
3321
  }
3120
3322
  },
3121
- "id": 17372,
3323
+ "id": 17645,
3122
3324
  "nodeType": "ArrayTypeName",
3123
- "src": "3135:9:24",
3325
+ "src": "3313:9:24",
3124
3326
  "typeDescriptions": {
3125
3327
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
3126
3328
  "typeString": "bytes32[]"
@@ -3130,13 +3332,13 @@
3130
3332
  },
3131
3333
  {
3132
3334
  "constant": false,
3133
- "id": 17375,
3335
+ "id": 17648,
3134
3336
  "mutability": "mutable",
3135
3337
  "name": "data",
3136
- "nameLocation": "3170:4:24",
3338
+ "nameLocation": "3348:4:24",
3137
3339
  "nodeType": "VariableDeclaration",
3138
- "scope": 17378,
3139
- "src": "3157:17:24",
3340
+ "scope": 17651,
3341
+ "src": "3335:17:24",
3140
3342
  "stateVariable": false,
3141
3343
  "storageLocation": "memory",
3142
3344
  "typeDescriptions": {
@@ -3144,10 +3346,10 @@
3144
3346
  "typeString": "bytes"
3145
3347
  },
3146
3348
  "typeName": {
3147
- "id": 17374,
3349
+ "id": 17647,
3148
3350
  "name": "bytes",
3149
3351
  "nodeType": "ElementaryTypeName",
3150
- "src": "3157:5:24",
3352
+ "src": "3335:5:24",
3151
3353
  "typeDescriptions": {
3152
3354
  "typeIdentifier": "t_bytes_storage_ptr",
3153
3355
  "typeString": "bytes"
@@ -3156,43 +3358,43 @@
3156
3358
  "visibility": "internal"
3157
3359
  }
3158
3360
  ],
3159
- "src": "3119:56:24"
3361
+ "src": "3297:56:24"
3160
3362
  },
3161
3363
  "returnParameters": {
3162
- "id": 17377,
3364
+ "id": 17650,
3163
3365
  "nodeType": "ParameterList",
3164
3366
  "parameters": [],
3165
- "src": "3184:0:24"
3367
+ "src": "3362:0:24"
3166
3368
  },
3167
- "scope": 17411,
3369
+ "scope": 17684,
3168
3370
  "stateMutability": "nonpayable",
3169
3371
  "virtual": false,
3170
3372
  "visibility": "external"
3171
3373
  },
3172
3374
  {
3173
- "id": 17390,
3375
+ "id": 17663,
3174
3376
  "nodeType": "FunctionDefinition",
3175
- "src": "3269:110:24",
3377
+ "src": "3447:110:24",
3176
3378
  "nodes": [],
3177
3379
  "functionSelector": "469b7ee2",
3178
3380
  "implemented": false,
3179
3381
  "kind": "function",
3180
3382
  "modifiers": [],
3181
3383
  "name": "onBeforeSetField",
3182
- "nameLocation": "3278:16:24",
3384
+ "nameLocation": "3456:16:24",
3183
3385
  "parameters": {
3184
- "id": 17388,
3386
+ "id": 17661,
3185
3387
  "nodeType": "ParameterList",
3186
3388
  "parameters": [
3187
3389
  {
3188
3390
  "constant": false,
3189
- "id": 17380,
3391
+ "id": 17653,
3190
3392
  "mutability": "mutable",
3191
3393
  "name": "table",
3192
- "nameLocation": "3303:5:24",
3394
+ "nameLocation": "3481:5:24",
3193
3395
  "nodeType": "VariableDeclaration",
3194
- "scope": 17390,
3195
- "src": "3295:13:24",
3396
+ "scope": 17663,
3397
+ "src": "3473:13:24",
3196
3398
  "stateVariable": false,
3197
3399
  "storageLocation": "default",
3198
3400
  "typeDescriptions": {
@@ -3200,10 +3402,10 @@
3200
3402
  "typeString": "bytes32"
3201
3403
  },
3202
3404
  "typeName": {
3203
- "id": 17379,
3405
+ "id": 17652,
3204
3406
  "name": "bytes32",
3205
3407
  "nodeType": "ElementaryTypeName",
3206
- "src": "3295:7:24",
3408
+ "src": "3473:7:24",
3207
3409
  "typeDescriptions": {
3208
3410
  "typeIdentifier": "t_bytes32",
3209
3411
  "typeString": "bytes32"
@@ -3213,13 +3415,13 @@
3213
3415
  },
3214
3416
  {
3215
3417
  "constant": false,
3216
- "id": 17383,
3418
+ "id": 17656,
3217
3419
  "mutability": "mutable",
3218
3420
  "name": "key",
3219
- "nameLocation": "3327:3:24",
3421
+ "nameLocation": "3505:3:24",
3220
3422
  "nodeType": "VariableDeclaration",
3221
- "scope": 17390,
3222
- "src": "3310:20:24",
3423
+ "scope": 17663,
3424
+ "src": "3488:20:24",
3223
3425
  "stateVariable": false,
3224
3426
  "storageLocation": "memory",
3225
3427
  "typeDescriptions": {
@@ -3228,18 +3430,18 @@
3228
3430
  },
3229
3431
  "typeName": {
3230
3432
  "baseType": {
3231
- "id": 17381,
3433
+ "id": 17654,
3232
3434
  "name": "bytes32",
3233
3435
  "nodeType": "ElementaryTypeName",
3234
- "src": "3310:7:24",
3436
+ "src": "3488:7:24",
3235
3437
  "typeDescriptions": {
3236
3438
  "typeIdentifier": "t_bytes32",
3237
3439
  "typeString": "bytes32"
3238
3440
  }
3239
3441
  },
3240
- "id": 17382,
3442
+ "id": 17655,
3241
3443
  "nodeType": "ArrayTypeName",
3242
- "src": "3310:9:24",
3444
+ "src": "3488:9:24",
3243
3445
  "typeDescriptions": {
3244
3446
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
3245
3447
  "typeString": "bytes32[]"
@@ -3249,13 +3451,13 @@
3249
3451
  },
3250
3452
  {
3251
3453
  "constant": false,
3252
- "id": 17385,
3454
+ "id": 17658,
3253
3455
  "mutability": "mutable",
3254
3456
  "name": "schemaIndex",
3255
- "nameLocation": "3338:11:24",
3457
+ "nameLocation": "3516:11:24",
3256
3458
  "nodeType": "VariableDeclaration",
3257
- "scope": 17390,
3258
- "src": "3332:17:24",
3459
+ "scope": 17663,
3460
+ "src": "3510:17:24",
3259
3461
  "stateVariable": false,
3260
3462
  "storageLocation": "default",
3261
3463
  "typeDescriptions": {
@@ -3263,10 +3465,10 @@
3263
3465
  "typeString": "uint8"
3264
3466
  },
3265
3467
  "typeName": {
3266
- "id": 17384,
3468
+ "id": 17657,
3267
3469
  "name": "uint8",
3268
3470
  "nodeType": "ElementaryTypeName",
3269
- "src": "3332:5:24",
3471
+ "src": "3510:5:24",
3270
3472
  "typeDescriptions": {
3271
3473
  "typeIdentifier": "t_uint8",
3272
3474
  "typeString": "uint8"
@@ -3276,13 +3478,13 @@
3276
3478
  },
3277
3479
  {
3278
3480
  "constant": false,
3279
- "id": 17387,
3481
+ "id": 17660,
3280
3482
  "mutability": "mutable",
3281
3483
  "name": "data",
3282
- "nameLocation": "3364:4:24",
3484
+ "nameLocation": "3542:4:24",
3283
3485
  "nodeType": "VariableDeclaration",
3284
- "scope": 17390,
3285
- "src": "3351:17:24",
3486
+ "scope": 17663,
3487
+ "src": "3529:17:24",
3286
3488
  "stateVariable": false,
3287
3489
  "storageLocation": "memory",
3288
3490
  "typeDescriptions": {
@@ -3290,10 +3492,10 @@
3290
3492
  "typeString": "bytes"
3291
3493
  },
3292
3494
  "typeName": {
3293
- "id": 17386,
3495
+ "id": 17659,
3294
3496
  "name": "bytes",
3295
3497
  "nodeType": "ElementaryTypeName",
3296
- "src": "3351:5:24",
3498
+ "src": "3529:5:24",
3297
3499
  "typeDescriptions": {
3298
3500
  "typeIdentifier": "t_bytes_storage_ptr",
3299
3501
  "typeString": "bytes"
@@ -3302,43 +3504,43 @@
3302
3504
  "visibility": "internal"
3303
3505
  }
3304
3506
  ],
3305
- "src": "3294:75:24"
3507
+ "src": "3472:75:24"
3306
3508
  },
3307
3509
  "returnParameters": {
3308
- "id": 17389,
3510
+ "id": 17662,
3309
3511
  "nodeType": "ParameterList",
3310
3512
  "parameters": [],
3311
- "src": "3378:0:24"
3513
+ "src": "3556:0:24"
3312
3514
  },
3313
- "scope": 17411,
3515
+ "scope": 17684,
3314
3516
  "stateMutability": "nonpayable",
3315
3517
  "virtual": false,
3316
3518
  "visibility": "external"
3317
3519
  },
3318
3520
  {
3319
- "id": 17402,
3521
+ "id": 17675,
3320
3522
  "nodeType": "FunctionDefinition",
3321
- "src": "3383:109:24",
3523
+ "src": "3561:109:24",
3322
3524
  "nodes": [],
3323
3525
  "functionSelector": "6b3d7d5f",
3324
3526
  "implemented": false,
3325
3527
  "kind": "function",
3326
3528
  "modifiers": [],
3327
3529
  "name": "onAfterSetField",
3328
- "nameLocation": "3392:15:24",
3530
+ "nameLocation": "3570:15:24",
3329
3531
  "parameters": {
3330
- "id": 17400,
3532
+ "id": 17673,
3331
3533
  "nodeType": "ParameterList",
3332
3534
  "parameters": [
3333
3535
  {
3334
3536
  "constant": false,
3335
- "id": 17392,
3537
+ "id": 17665,
3336
3538
  "mutability": "mutable",
3337
3539
  "name": "table",
3338
- "nameLocation": "3416:5:24",
3540
+ "nameLocation": "3594:5:24",
3339
3541
  "nodeType": "VariableDeclaration",
3340
- "scope": 17402,
3341
- "src": "3408:13:24",
3542
+ "scope": 17675,
3543
+ "src": "3586:13:24",
3342
3544
  "stateVariable": false,
3343
3545
  "storageLocation": "default",
3344
3546
  "typeDescriptions": {
@@ -3346,10 +3548,10 @@
3346
3548
  "typeString": "bytes32"
3347
3549
  },
3348
3550
  "typeName": {
3349
- "id": 17391,
3551
+ "id": 17664,
3350
3552
  "name": "bytes32",
3351
3553
  "nodeType": "ElementaryTypeName",
3352
- "src": "3408:7:24",
3554
+ "src": "3586:7:24",
3353
3555
  "typeDescriptions": {
3354
3556
  "typeIdentifier": "t_bytes32",
3355
3557
  "typeString": "bytes32"
@@ -3359,13 +3561,13 @@
3359
3561
  },
3360
3562
  {
3361
3563
  "constant": false,
3362
- "id": 17395,
3564
+ "id": 17668,
3363
3565
  "mutability": "mutable",
3364
3566
  "name": "key",
3365
- "nameLocation": "3440:3:24",
3567
+ "nameLocation": "3618:3:24",
3366
3568
  "nodeType": "VariableDeclaration",
3367
- "scope": 17402,
3368
- "src": "3423:20:24",
3569
+ "scope": 17675,
3570
+ "src": "3601:20:24",
3369
3571
  "stateVariable": false,
3370
3572
  "storageLocation": "memory",
3371
3573
  "typeDescriptions": {
@@ -3374,18 +3576,18 @@
3374
3576
  },
3375
3577
  "typeName": {
3376
3578
  "baseType": {
3377
- "id": 17393,
3579
+ "id": 17666,
3378
3580
  "name": "bytes32",
3379
3581
  "nodeType": "ElementaryTypeName",
3380
- "src": "3423:7:24",
3582
+ "src": "3601:7:24",
3381
3583
  "typeDescriptions": {
3382
3584
  "typeIdentifier": "t_bytes32",
3383
3585
  "typeString": "bytes32"
3384
3586
  }
3385
3587
  },
3386
- "id": 17394,
3588
+ "id": 17667,
3387
3589
  "nodeType": "ArrayTypeName",
3388
- "src": "3423:9:24",
3590
+ "src": "3601:9:24",
3389
3591
  "typeDescriptions": {
3390
3592
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
3391
3593
  "typeString": "bytes32[]"
@@ -3395,13 +3597,13 @@
3395
3597
  },
3396
3598
  {
3397
3599
  "constant": false,
3398
- "id": 17397,
3600
+ "id": 17670,
3399
3601
  "mutability": "mutable",
3400
3602
  "name": "schemaIndex",
3401
- "nameLocation": "3451:11:24",
3603
+ "nameLocation": "3629:11:24",
3402
3604
  "nodeType": "VariableDeclaration",
3403
- "scope": 17402,
3404
- "src": "3445:17:24",
3605
+ "scope": 17675,
3606
+ "src": "3623:17:24",
3405
3607
  "stateVariable": false,
3406
3608
  "storageLocation": "default",
3407
3609
  "typeDescriptions": {
@@ -3409,10 +3611,10 @@
3409
3611
  "typeString": "uint8"
3410
3612
  },
3411
3613
  "typeName": {
3412
- "id": 17396,
3614
+ "id": 17669,
3413
3615
  "name": "uint8",
3414
3616
  "nodeType": "ElementaryTypeName",
3415
- "src": "3445:5:24",
3617
+ "src": "3623:5:24",
3416
3618
  "typeDescriptions": {
3417
3619
  "typeIdentifier": "t_uint8",
3418
3620
  "typeString": "uint8"
@@ -3422,13 +3624,13 @@
3422
3624
  },
3423
3625
  {
3424
3626
  "constant": false,
3425
- "id": 17399,
3627
+ "id": 17672,
3426
3628
  "mutability": "mutable",
3427
3629
  "name": "data",
3428
- "nameLocation": "3477:4:24",
3630
+ "nameLocation": "3655:4:24",
3429
3631
  "nodeType": "VariableDeclaration",
3430
- "scope": 17402,
3431
- "src": "3464:17:24",
3632
+ "scope": 17675,
3633
+ "src": "3642:17:24",
3432
3634
  "stateVariable": false,
3433
3635
  "storageLocation": "memory",
3434
3636
  "typeDescriptions": {
@@ -3436,10 +3638,10 @@
3436
3638
  "typeString": "bytes"
3437
3639
  },
3438
3640
  "typeName": {
3439
- "id": 17398,
3641
+ "id": 17671,
3440
3642
  "name": "bytes",
3441
3643
  "nodeType": "ElementaryTypeName",
3442
- "src": "3464:5:24",
3644
+ "src": "3642:5:24",
3443
3645
  "typeDescriptions": {
3444
3646
  "typeIdentifier": "t_bytes_storage_ptr",
3445
3647
  "typeString": "bytes"
@@ -3448,43 +3650,43 @@
3448
3650
  "visibility": "internal"
3449
3651
  }
3450
3652
  ],
3451
- "src": "3407:75:24"
3653
+ "src": "3585:75:24"
3452
3654
  },
3453
3655
  "returnParameters": {
3454
- "id": 17401,
3656
+ "id": 17674,
3455
3657
  "nodeType": "ParameterList",
3456
3658
  "parameters": [],
3457
- "src": "3491:0:24"
3659
+ "src": "3669:0:24"
3458
3660
  },
3459
- "scope": 17411,
3661
+ "scope": 17684,
3460
3662
  "stateMutability": "nonpayable",
3461
3663
  "virtual": false,
3462
3664
  "visibility": "external"
3463
3665
  },
3464
3666
  {
3465
- "id": 17410,
3667
+ "id": 17683,
3466
3668
  "nodeType": "FunctionDefinition",
3467
- "src": "3496:70:24",
3669
+ "src": "3674:70:24",
3468
3670
  "nodes": [],
3469
3671
  "functionSelector": "b51fef6c",
3470
3672
  "implemented": false,
3471
3673
  "kind": "function",
3472
3674
  "modifiers": [],
3473
3675
  "name": "onDeleteRecord",
3474
- "nameLocation": "3505:14:24",
3676
+ "nameLocation": "3683:14:24",
3475
3677
  "parameters": {
3476
- "id": 17408,
3678
+ "id": 17681,
3477
3679
  "nodeType": "ParameterList",
3478
3680
  "parameters": [
3479
3681
  {
3480
3682
  "constant": false,
3481
- "id": 17404,
3683
+ "id": 17677,
3482
3684
  "mutability": "mutable",
3483
3685
  "name": "table",
3484
- "nameLocation": "3528:5:24",
3686
+ "nameLocation": "3706:5:24",
3485
3687
  "nodeType": "VariableDeclaration",
3486
- "scope": 17410,
3487
- "src": "3520:13:24",
3688
+ "scope": 17683,
3689
+ "src": "3698:13:24",
3488
3690
  "stateVariable": false,
3489
3691
  "storageLocation": "default",
3490
3692
  "typeDescriptions": {
@@ -3492,10 +3694,10 @@
3492
3694
  "typeString": "bytes32"
3493
3695
  },
3494
3696
  "typeName": {
3495
- "id": 17403,
3697
+ "id": 17676,
3496
3698
  "name": "bytes32",
3497
3699
  "nodeType": "ElementaryTypeName",
3498
- "src": "3520:7:24",
3700
+ "src": "3698:7:24",
3499
3701
  "typeDescriptions": {
3500
3702
  "typeIdentifier": "t_bytes32",
3501
3703
  "typeString": "bytes32"
@@ -3505,13 +3707,13 @@
3505
3707
  },
3506
3708
  {
3507
3709
  "constant": false,
3508
- "id": 17407,
3710
+ "id": 17680,
3509
3711
  "mutability": "mutable",
3510
3712
  "name": "key",
3511
- "nameLocation": "3552:3:24",
3713
+ "nameLocation": "3730:3:24",
3512
3714
  "nodeType": "VariableDeclaration",
3513
- "scope": 17410,
3514
- "src": "3535:20:24",
3715
+ "scope": 17683,
3716
+ "src": "3713:20:24",
3515
3717
  "stateVariable": false,
3516
3718
  "storageLocation": "memory",
3517
3719
  "typeDescriptions": {
@@ -3520,18 +3722,18 @@
3520
3722
  },
3521
3723
  "typeName": {
3522
3724
  "baseType": {
3523
- "id": 17405,
3725
+ "id": 17678,
3524
3726
  "name": "bytes32",
3525
3727
  "nodeType": "ElementaryTypeName",
3526
- "src": "3535:7:24",
3728
+ "src": "3713:7:24",
3527
3729
  "typeDescriptions": {
3528
3730
  "typeIdentifier": "t_bytes32",
3529
3731
  "typeString": "bytes32"
3530
3732
  }
3531
3733
  },
3532
- "id": 17406,
3734
+ "id": 17679,
3533
3735
  "nodeType": "ArrayTypeName",
3534
- "src": "3535:9:24",
3736
+ "src": "3713:9:24",
3535
3737
  "typeDescriptions": {
3536
3738
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
3537
3739
  "typeString": "bytes32[]"
@@ -3540,15 +3742,15 @@
3540
3742
  "visibility": "internal"
3541
3743
  }
3542
3744
  ],
3543
- "src": "3519:37:24"
3745
+ "src": "3697:37:24"
3544
3746
  },
3545
3747
  "returnParameters": {
3546
- "id": 17409,
3748
+ "id": 17682,
3547
3749
  "nodeType": "ParameterList",
3548
3750
  "parameters": [],
3549
- "src": "3565:0:24"
3751
+ "src": "3743:0:24"
3550
3752
  },
3551
- "scope": 17411,
3753
+ "scope": 17684,
3552
3754
  "stateMutability": "nonpayable",
3553
3755
  "virtual": false,
3554
3756
  "visibility": "external"
@@ -3561,11 +3763,11 @@
3561
3763
  "contractKind": "interface",
3562
3764
  "fullyImplemented": false,
3563
3765
  "linearizedBaseContracts": [
3564
- 17411
3766
+ 17684
3565
3767
  ],
3566
3768
  "name": "IStoreHook",
3567
- "nameLocation": "3084:10:24",
3568
- "scope": 17412,
3769
+ "nameLocation": "3262:10:24",
3770
+ "scope": 17685,
3569
3771
  "usedErrors": []
3570
3772
  }
3571
3773
  ],