@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
  {
@@ -415,6 +443,7 @@
415
443
  "getRecord(bytes32,bytes32[],bytes32)": "419b58fd",
416
444
  "getSchema(bytes32)": "a2ea7c6e",
417
445
  "isStore()": "a5c2f007",
446
+ "popFromField(bytes32,bytes32[],uint8,uint256)": "8c1f9a54",
418
447
  "pushToField(bytes32,bytes32[],uint8,bytes)": "0c1a6000",
419
448
  "registerSchema(bytes32,bytes32,bytes32)": "d5933686",
420
449
  "registerStoreHook(bytes32,address)": "6e81fd71",
@@ -423,7 +452,7 @@
423
452
  "setRecord(bytes32,bytes32[],bytes)": "8ed41f2f",
424
453
  "updateInField(bytes32,bytes32[],uint8,uint256,bytes)": "776d4047"
425
454
  },
426
- "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\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"name\":\"registerSchema\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerStoreHook\",\"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\":\"string\",\"name\":\"tableName\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"setMetadata\",\"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\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/runner/work/mud/mud/packages/store/src/IStore.sol\":\"IStore\"},\"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\":{\"/home/runner/work/mud/mud/packages/store/src/Bytes.sol\":{\"keccak256\":\"0x117331c70b8cda783991a6b3e14861176068086526548d334cef8e1c24e16d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://613026caf6782e8a4ad0f366781fc13141492b667a723bdea69250c9b517c790\",\"dweb:/ipfs/QmQqwBSjcrDUoVvmXxeKZZpyGSEpeMTh2QZRExQTdZLrCt\"]},\"/home/runner/work/mud/mud/packages/store/src/IErrors.sol\":{\"keccak256\":\"0xc29b8d9d2597c6e9fcfbb37714cfa02270983c95e5a54b4c70eb9d99abcfe4e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df9591141bec48fb57df31c0c5632085d5347d194292b14b479930bac5c8274\",\"dweb:/ipfs/Qmaa3yV9YeJ14wYyWcFYHjAhRc9qaU6WrejNAmdSP7oQRV\"]},\"/home/runner/work/mud/mud/packages/store/src/IStore.sol\":{\"keccak256\":\"0x83954f095b02ffb6ea0d391ecf6092e8304b03119dced171fbce4ee7483d3de2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02aeafbedef0b4d5845cd8e707673872fd4fc165fe8508ad348506f053e73ee5\",\"dweb:/ipfs/QmcE33C9Mw7fdnhHKmrabwzBH2JyjF4XCG3S4D9AtzMXs2\"]},\"/home/runner/work/mud/mud/packages/store/src/Memory.sol\":{\"keccak256\":\"0x706d0d1ddd874bdcd4f73422721420b32939c1c96d4718db8b1b8e9f78bfa76c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed8c858fa9c3756cb70cb92bb860e0ae6429eb62551b502fb4a883e1344eb42\",\"dweb:/ipfs/QmezLAADZmFj8bKS9dccTQYHcpy4g8PSZ75AuvppSwjrW7\"]},\"/home/runner/work/mud/mud/packages/store/src/Schema.sol\":{\"keccak256\":\"0xf06793dc2e9e9994403d29125359eb2f326b0e6e502d51a8e6e4e45fc9d90a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cb23bf421b29839200e5584a770186309dd05cd77d4345c964f47528117a244\",\"dweb:/ipfs/QmQBvrDAtoqibky7CjCLKxGz3MquxK1iNk2Yac55Lc4xF5\"]},\"/home/runner/work/mud/mud/packages/store/src/Slice.sol\":{\"keccak256\":\"0x14879c6c859cad89451616dcee1ab6222fd565849809b89407de48f0c1a01133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924caa18aa0e656a295da626d586dfb120bbea321123010462b0640c7e0c52c4\",\"dweb:/ipfs/QmNueqwy4g5mwq9kXaPzue8X2mqyFjH2P2AFi3pNN3WTAt\"]},\"/home/runner/work/mud/mud/packages/store/src/Utils.sol\":{\"keccak256\":\"0x426216bfa1c0e70640787007a6e39257cf09e586fd04831ea4fb3dd9c5768fc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38e657fa9cfaebe39477eaff27d1ad4d7eeaf0c0058539d2ec7e6976d93df4f4\",\"dweb:/ipfs/QmRuaxqRjUrHHC2ZyTnpmq6sfrWGCDh91B6F5chFAToU6U\"]},\"/home/runner/work/mud/mud/packages/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xe760dfb8ff20cfb44eee6a5f03ac84abbc91382fca2e36c88c92046e6b3a66e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eb4b355c547ffee62031d8dfb80844fa31fa4460543a088278083662dc4c12\",\"dweb:/ipfs/Qmf8sRcrjJ6hEQ8TPwwe6KcXcE2MPw7Juvf7fKBZ1fBCt6\"]},\"/home/runner/work/mud/mud/packages/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xff0278a4e35174bbed8a38dad8ae7506f725bfe95f0b7c13829c353d68dd25dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26249ec0c2fa3a3430a2f8edbfc5cd678e34ea1cf1d7490ecaf1e925c976eb85\",\"dweb:/ipfs/QmUpkhr5kFiDKc7rZ2z5HcTf5PkrWVJu5sa31tYv911cPL\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0xe881f296ba0fe410faa6395ee4a65b9bf154947aebc6aa323d41a0484504221e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba7f706464d14365ff751936ba96f79f200df7bcd9d9f8abccd0b41387ca7967\",\"dweb:/ipfs/QmTiHgH3ZM2oJoqsbNs3iwwPFNYFNU7m8co87woxRLaUZ6\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}",
455
+ "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\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"name\":\"registerSchema\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerStoreHook\",\"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\":\"string\",\"name\":\"tableName\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"setMetadata\",\"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\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/runner/work/mud/mud/packages/store/src/IStore.sol\":\"IStore\"},\"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\":{\"/home/runner/work/mud/mud/packages/store/src/Bytes.sol\":{\"keccak256\":\"0x117331c70b8cda783991a6b3e14861176068086526548d334cef8e1c24e16d5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://613026caf6782e8a4ad0f366781fc13141492b667a723bdea69250c9b517c790\",\"dweb:/ipfs/QmQqwBSjcrDUoVvmXxeKZZpyGSEpeMTh2QZRExQTdZLrCt\"]},\"/home/runner/work/mud/mud/packages/store/src/IErrors.sol\":{\"keccak256\":\"0xc29b8d9d2597c6e9fcfbb37714cfa02270983c95e5a54b4c70eb9d99abcfe4e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df9591141bec48fb57df31c0c5632085d5347d194292b14b479930bac5c8274\",\"dweb:/ipfs/Qmaa3yV9YeJ14wYyWcFYHjAhRc9qaU6WrejNAmdSP7oQRV\"]},\"/home/runner/work/mud/mud/packages/store/src/IStore.sol\":{\"keccak256\":\"0x465c23c85a77fdc6001f06a6899080c1d6cfef9858886d7d922e54fce1eb79e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6358088868fa52711e65d3462eb6b6762fe736eb7f033909e3260280b6a87957\",\"dweb:/ipfs/QmdkwwvTa9Hzc5SDP4C1hvrKzc8SxWNDrxNqQKw4ZoCKzL\"]},\"/home/runner/work/mud/mud/packages/store/src/Memory.sol\":{\"keccak256\":\"0x706d0d1ddd874bdcd4f73422721420b32939c1c96d4718db8b1b8e9f78bfa76c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ed8c858fa9c3756cb70cb92bb860e0ae6429eb62551b502fb4a883e1344eb42\",\"dweb:/ipfs/QmezLAADZmFj8bKS9dccTQYHcpy4g8PSZ75AuvppSwjrW7\"]},\"/home/runner/work/mud/mud/packages/store/src/Schema.sol\":{\"keccak256\":\"0xf06793dc2e9e9994403d29125359eb2f326b0e6e502d51a8e6e4e45fc9d90a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cb23bf421b29839200e5584a770186309dd05cd77d4345c964f47528117a244\",\"dweb:/ipfs/QmQBvrDAtoqibky7CjCLKxGz3MquxK1iNk2Yac55Lc4xF5\"]},\"/home/runner/work/mud/mud/packages/store/src/Slice.sol\":{\"keccak256\":\"0x14879c6c859cad89451616dcee1ab6222fd565849809b89407de48f0c1a01133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924caa18aa0e656a295da626d586dfb120bbea321123010462b0640c7e0c52c4\",\"dweb:/ipfs/QmNueqwy4g5mwq9kXaPzue8X2mqyFjH2P2AFi3pNN3WTAt\"]},\"/home/runner/work/mud/mud/packages/store/src/Utils.sol\":{\"keccak256\":\"0x426216bfa1c0e70640787007a6e39257cf09e586fd04831ea4fb3dd9c5768fc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38e657fa9cfaebe39477eaff27d1ad4d7eeaf0c0058539d2ec7e6976d93df4f4\",\"dweb:/ipfs/QmRuaxqRjUrHHC2ZyTnpmq6sfrWGCDh91B6F5chFAToU6U\"]},\"/home/runner/work/mud/mud/packages/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xe760dfb8ff20cfb44eee6a5f03ac84abbc91382fca2e36c88c92046e6b3a66e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eb4b355c547ffee62031d8dfb80844fa31fa4460543a088278083662dc4c12\",\"dweb:/ipfs/Qmf8sRcrjJ6hEQ8TPwwe6KcXcE2MPw7Juvf7fKBZ1fBCt6\"]},\"/home/runner/work/mud/mud/packages/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xff0278a4e35174bbed8a38dad8ae7506f725bfe95f0b7c13829c353d68dd25dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26249ec0c2fa3a3430a2f8edbfc5cd678e34ea1cf1d7490ecaf1e925c976eb85\",\"dweb:/ipfs/QmUpkhr5kFiDKc7rZ2z5HcTf5PkrWVJu5sa31tYv911cPL\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0xe881f296ba0fe410faa6395ee4a65b9bf154947aebc6aa323d41a0484504221e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba7f706464d14365ff751936ba96f79f200df7bcd9d9f8abccd0b41387ca7967\",\"dweb:/ipfs/QmTiHgH3ZM2oJoqsbNs3iwwPFNYFNU7m8co87woxRLaUZ6\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}",
427
456
  "metadata": {
428
457
  "compiler": {
429
458
  "version": "0.8.13+commit.abaa5c0e"
@@ -649,6 +678,33 @@
649
678
  "type": "function",
650
679
  "name": "isStore"
651
680
  },
681
+ {
682
+ "inputs": [
683
+ {
684
+ "internalType": "bytes32",
685
+ "name": "table",
686
+ "type": "bytes32"
687
+ },
688
+ {
689
+ "internalType": "bytes32[]",
690
+ "name": "key",
691
+ "type": "bytes32[]"
692
+ },
693
+ {
694
+ "internalType": "uint8",
695
+ "name": "schemaIndex",
696
+ "type": "uint8"
697
+ },
698
+ {
699
+ "internalType": "uint256",
700
+ "name": "byteLengthToPop",
701
+ "type": "uint256"
702
+ }
703
+ ],
704
+ "stateMutability": "nonpayable",
705
+ "type": "function",
706
+ "name": "popFromField"
707
+ },
652
708
  {
653
709
  "inputs": [
654
710
  {
@@ -867,10 +923,10 @@
867
923
  "license": "MIT"
868
924
  },
869
925
  "/home/runner/work/mud/mud/packages/store/src/IStore.sol": {
870
- "keccak256": "0x83954f095b02ffb6ea0d391ecf6092e8304b03119dced171fbce4ee7483d3de2",
926
+ "keccak256": "0x465c23c85a77fdc6001f06a6899080c1d6cfef9858886d7d922e54fce1eb79e6",
871
927
  "urls": [
872
- "bzz-raw://02aeafbedef0b4d5845cd8e707673872fd4fc165fe8508ad348506f053e73ee5",
873
- "dweb:/ipfs/QmcE33C9Mw7fdnhHKmrabwzBH2JyjF4XCG3S4D9AtzMXs2"
928
+ "bzz-raw://6358088868fa52711e65d3462eb6b6762fe736eb7f033909e3260280b6a87957",
929
+ "dweb:/ipfs/QmdkwwvTa9Hzc5SDP4C1hvrKzc8SxWNDrxNqQKw4ZoCKzL"
874
930
  ],
875
931
  "license": "MIT"
876
932
  },
@@ -943,35 +999,35 @@
943
999
  },
944
1000
  "ast": {
945
1001
  "absolutePath": "/home/runner/work/mud/mud/packages/store/src/IStore.sol",
946
- "id": 999,
1002
+ "id": 1011,
947
1003
  "exportedSymbols": {
948
1004
  "IErrors": [
949
1005
  768
950
1006
  ],
951
1007
  "IStore": [
952
- 955
1008
+ 967
953
1009
  ],
954
1010
  "IStoreData": [
955
- 919
1011
+ 931
956
1012
  ],
957
1013
  "IStoreHook": [
958
- 998
1014
+ 1010
959
1015
  ],
960
1016
  "IStoreRead": [
961
1017
  829
962
1018
  ],
963
1019
  "IStoreRegistration": [
964
- 950
1020
+ 962
965
1021
  ],
966
1022
  "IStoreWrite": [
967
- 913
1023
+ 925
968
1024
  ],
969
1025
  "Schema": [
970
- 1505
1026
+ 1517
971
1027
  ]
972
1028
  },
973
1029
  "nodeType": "SourceUnit",
974
- "src": "32:3537:2",
1030
+ "src": "32:3715:2",
975
1031
  "nodes": [
976
1032
  {
977
1033
  "id": 770,
@@ -993,7 +1049,7 @@
993
1049
  "absolutePath": "/home/runner/work/mud/mud/packages/store/src/IErrors.sol",
994
1050
  "file": "./IErrors.sol",
995
1051
  "nameLocation": "-1:-1:-1",
996
- "scope": 999,
1052
+ "scope": 1011,
997
1053
  "sourceUnit": 769,
998
1054
  "symbolAliases": [
999
1055
  {
@@ -1019,8 +1075,8 @@
1019
1075
  "absolutePath": "/home/runner/work/mud/mud/packages/store/src/Schema.sol",
1020
1076
  "file": "./Schema.sol",
1021
1077
  "nameLocation": "-1:-1:-1",
1022
- "scope": 999,
1023
- "sourceUnit": 2273,
1078
+ "scope": 1011,
1079
+ "sourceUnit": 2285,
1024
1080
  "symbolAliases": [
1025
1081
  {
1026
1082
  "foreign": {
@@ -1028,7 +1084,7 @@
1028
1084
  "name": "Schema",
1029
1085
  "nodeType": "Identifier",
1030
1086
  "overloadedDeclarations": [],
1031
- "referencedDeclaration": 1505,
1087
+ "referencedDeclaration": 1517,
1032
1088
  "src": "108:6:2",
1033
1089
  "typeDescriptions": {}
1034
1090
  },
@@ -1103,7 +1159,7 @@
1103
1159
  "stateVariable": false,
1104
1160
  "storageLocation": "default",
1105
1161
  "typeDescriptions": {
1106
- "typeIdentifier": "t_userDefinedValueType$_Schema_$1505",
1162
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$1517",
1107
1163
  "typeString": "Schema"
1108
1164
  },
1109
1165
  "typeName": {
@@ -1113,13 +1169,13 @@
1113
1169
  "id": 778,
1114
1170
  "name": "Schema",
1115
1171
  "nodeType": "IdentifierPath",
1116
- "referencedDeclaration": 1505,
1172
+ "referencedDeclaration": 1517,
1117
1173
  "src": "221:6:2"
1118
1174
  },
1119
- "referencedDeclaration": 1505,
1175
+ "referencedDeclaration": 1517,
1120
1176
  "src": "221:6:2",
1121
1177
  "typeDescriptions": {
1122
- "typeIdentifier": "t_userDefinedValueType$_Schema_$1505",
1178
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$1517",
1123
1179
  "typeString": "Schema"
1124
1180
  }
1125
1181
  },
@@ -1194,7 +1250,7 @@
1194
1250
  "stateVariable": false,
1195
1251
  "storageLocation": "default",
1196
1252
  "typeDescriptions": {
1197
- "typeIdentifier": "t_userDefinedValueType$_Schema_$1505",
1253
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$1517",
1198
1254
  "typeString": "Schema"
1199
1255
  },
1200
1256
  "typeName": {
@@ -1204,13 +1260,13 @@
1204
1260
  "id": 786,
1205
1261
  "name": "Schema",
1206
1262
  "nodeType": "IdentifierPath",
1207
- "referencedDeclaration": 1505,
1263
+ "referencedDeclaration": 1517,
1208
1264
  "src": "300:6:2"
1209
1265
  },
1210
- "referencedDeclaration": 1505,
1266
+ "referencedDeclaration": 1517,
1211
1267
  "src": "300:6:2",
1212
1268
  "typeDescriptions": {
1213
- "typeIdentifier": "t_userDefinedValueType$_Schema_$1505",
1269
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$1517",
1214
1270
  "typeString": "Schema"
1215
1271
  }
1216
1272
  },
@@ -1434,7 +1490,7 @@
1434
1490
  "stateVariable": false,
1435
1491
  "storageLocation": "default",
1436
1492
  "typeDescriptions": {
1437
- "typeIdentifier": "t_userDefinedValueType$_Schema_$1505",
1493
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$1517",
1438
1494
  "typeString": "Schema"
1439
1495
  },
1440
1496
  "typeName": {
@@ -1444,13 +1500,13 @@
1444
1500
  "id": 806,
1445
1501
  "name": "Schema",
1446
1502
  "nodeType": "IdentifierPath",
1447
- "referencedDeclaration": 1505,
1503
+ "referencedDeclaration": 1517,
1448
1504
  "src": "599:6:2"
1449
1505
  },
1450
- "referencedDeclaration": 1505,
1506
+ "referencedDeclaration": 1517,
1451
1507
  "src": "599:6:2",
1452
1508
  "typeDescriptions": {
1453
- "typeIdentifier": "t_userDefinedValueType$_Schema_$1505",
1509
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$1517",
1454
1510
  "typeString": "Schema"
1455
1511
  }
1456
1512
  },
@@ -1685,13 +1741,13 @@
1685
1741
  ],
1686
1742
  "name": "IStoreRead",
1687
1743
  "nameLocation": "149:10:2",
1688
- "scope": 999,
1744
+ "scope": 1011,
1689
1745
  "usedErrors": []
1690
1746
  },
1691
1747
  {
1692
- "id": 913,
1748
+ "id": 925,
1693
1749
  "nodeType": "ContractDefinition",
1694
- "src": "1073:1061:2",
1750
+ "src": "1073:1239:2",
1695
1751
  "nodes": [
1696
1752
  {
1697
1753
  "id": 838,
@@ -2137,7 +2193,7 @@
2137
2193
  "parameters": [],
2138
2194
  "src": "1445:0:2"
2139
2195
  },
2140
- "scope": 913,
2196
+ "scope": 925,
2141
2197
  "stateMutability": "nonpayable",
2142
2198
  "virtual": false,
2143
2199
  "visibility": "external"
@@ -2283,7 +2339,7 @@
2283
2339
  "parameters": [],
2284
2340
  "src": "1593:0:2"
2285
2341
  },
2286
- "scope": 913,
2342
+ "scope": 925,
2287
2343
  "stateMutability": "nonpayable",
2288
2344
  "virtual": false,
2289
2345
  "visibility": "external"
@@ -2429,24 +2485,24 @@
2429
2485
  "parameters": [],
2430
2486
  "src": "1773:0:2"
2431
2487
  },
2432
- "scope": 913,
2488
+ "scope": 925,
2433
2489
  "stateMutability": "nonpayable",
2434
2490
  "virtual": false,
2435
2491
  "visibility": "external"
2436
2492
  },
2437
2493
  {
2438
- "id": 904,
2494
+ "id": 902,
2439
2495
  "nodeType": "FunctionDefinition",
2440
- "src": "1845:164:2",
2496
+ "src": "1838:114:2",
2441
2497
  "nodes": [],
2442
- "functionSelector": "776d4047",
2498
+ "functionSelector": "8c1f9a54",
2443
2499
  "implemented": false,
2444
2500
  "kind": "function",
2445
2501
  "modifiers": [],
2446
- "name": "updateInField",
2447
- "nameLocation": "1854:13:2",
2502
+ "name": "popFromField",
2503
+ "nameLocation": "1847:12:2",
2448
2504
  "parameters": {
2449
- "id": 902,
2505
+ "id": 900,
2450
2506
  "nodeType": "ParameterList",
2451
2507
  "parameters": [
2452
2508
  {
@@ -2454,10 +2510,10 @@
2454
2510
  "id": 892,
2455
2511
  "mutability": "mutable",
2456
2512
  "name": "table",
2457
- "nameLocation": "1881:5:2",
2513
+ "nameLocation": "1868:5:2",
2458
2514
  "nodeType": "VariableDeclaration",
2459
- "scope": 904,
2460
- "src": "1873:13:2",
2515
+ "scope": 902,
2516
+ "src": "1860:13:2",
2461
2517
  "stateVariable": false,
2462
2518
  "storageLocation": "default",
2463
2519
  "typeDescriptions": {
@@ -2468,7 +2524,7 @@
2468
2524
  "id": 891,
2469
2525
  "name": "bytes32",
2470
2526
  "nodeType": "ElementaryTypeName",
2471
- "src": "1873:7:2",
2527
+ "src": "1860:7:2",
2472
2528
  "typeDescriptions": {
2473
2529
  "typeIdentifier": "t_bytes32",
2474
2530
  "typeString": "bytes32"
@@ -2481,10 +2537,10 @@
2481
2537
  "id": 895,
2482
2538
  "mutability": "mutable",
2483
2539
  "name": "key",
2484
- "nameLocation": "1911:3:2",
2540
+ "nameLocation": "1894:3:2",
2485
2541
  "nodeType": "VariableDeclaration",
2486
- "scope": 904,
2487
- "src": "1892:22:2",
2542
+ "scope": 902,
2543
+ "src": "1875:22:2",
2488
2544
  "stateVariable": false,
2489
2545
  "storageLocation": "calldata",
2490
2546
  "typeDescriptions": {
@@ -2496,7 +2552,7 @@
2496
2552
  "id": 893,
2497
2553
  "name": "bytes32",
2498
2554
  "nodeType": "ElementaryTypeName",
2499
- "src": "1892:7:2",
2555
+ "src": "1875:7:2",
2500
2556
  "typeDescriptions": {
2501
2557
  "typeIdentifier": "t_bytes32",
2502
2558
  "typeString": "bytes32"
@@ -2504,7 +2560,7 @@
2504
2560
  },
2505
2561
  "id": 894,
2506
2562
  "nodeType": "ArrayTypeName",
2507
- "src": "1892:9:2",
2563
+ "src": "1875:9:2",
2508
2564
  "typeDescriptions": {
2509
2565
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
2510
2566
  "typeString": "bytes32[]"
@@ -2517,10 +2573,10 @@
2517
2573
  "id": 897,
2518
2574
  "mutability": "mutable",
2519
2575
  "name": "schemaIndex",
2520
- "nameLocation": "1926:11:2",
2576
+ "nameLocation": "1905:11:2",
2521
2577
  "nodeType": "VariableDeclaration",
2522
- "scope": 904,
2523
- "src": "1920:17:2",
2578
+ "scope": 902,
2579
+ "src": "1899:17:2",
2524
2580
  "stateVariable": false,
2525
2581
  "storageLocation": "default",
2526
2582
  "typeDescriptions": {
@@ -2531,7 +2587,7 @@
2531
2587
  "id": 896,
2532
2588
  "name": "uint8",
2533
2589
  "nodeType": "ElementaryTypeName",
2534
- "src": "1920:5:2",
2590
+ "src": "1899:5:2",
2535
2591
  "typeDescriptions": {
2536
2592
  "typeIdentifier": "t_uint8",
2537
2593
  "typeString": "uint8"
@@ -2543,11 +2599,11 @@
2543
2599
  "constant": false,
2544
2600
  "id": 899,
2545
2601
  "mutability": "mutable",
2546
- "name": "startByteIndex",
2547
- "nameLocation": "1951:14:2",
2602
+ "name": "byteLengthToPop",
2603
+ "nameLocation": "1926:15:2",
2548
2604
  "nodeType": "VariableDeclaration",
2549
- "scope": 904,
2550
- "src": "1943:22:2",
2605
+ "scope": 902,
2606
+ "src": "1918:23:2",
2551
2607
  "stateVariable": false,
2552
2608
  "storageLocation": "default",
2553
2609
  "typeDescriptions": {
@@ -2558,23 +2614,169 @@
2558
2614
  "id": 898,
2559
2615
  "name": "uint256",
2560
2616
  "nodeType": "ElementaryTypeName",
2561
- "src": "1943:7:2",
2617
+ "src": "1918:7:2",
2562
2618
  "typeDescriptions": {
2563
2619
  "typeIdentifier": "t_uint256",
2564
2620
  "typeString": "uint256"
2565
2621
  }
2566
2622
  },
2567
2623
  "visibility": "internal"
2624
+ }
2625
+ ],
2626
+ "src": "1859:83:2"
2627
+ },
2628
+ "returnParameters": {
2629
+ "id": 901,
2630
+ "nodeType": "ParameterList",
2631
+ "parameters": [],
2632
+ "src": "1951:0:2"
2633
+ },
2634
+ "scope": 925,
2635
+ "stateMutability": "nonpayable",
2636
+ "virtual": false,
2637
+ "visibility": "external"
2638
+ },
2639
+ {
2640
+ "id": 916,
2641
+ "nodeType": "FunctionDefinition",
2642
+ "src": "2023:164:2",
2643
+ "nodes": [],
2644
+ "functionSelector": "776d4047",
2645
+ "implemented": false,
2646
+ "kind": "function",
2647
+ "modifiers": [],
2648
+ "name": "updateInField",
2649
+ "nameLocation": "2032:13:2",
2650
+ "parameters": {
2651
+ "id": 914,
2652
+ "nodeType": "ParameterList",
2653
+ "parameters": [
2654
+ {
2655
+ "constant": false,
2656
+ "id": 904,
2657
+ "mutability": "mutable",
2658
+ "name": "table",
2659
+ "nameLocation": "2059:5:2",
2660
+ "nodeType": "VariableDeclaration",
2661
+ "scope": 916,
2662
+ "src": "2051:13:2",
2663
+ "stateVariable": false,
2664
+ "storageLocation": "default",
2665
+ "typeDescriptions": {
2666
+ "typeIdentifier": "t_bytes32",
2667
+ "typeString": "bytes32"
2668
+ },
2669
+ "typeName": {
2670
+ "id": 903,
2671
+ "name": "bytes32",
2672
+ "nodeType": "ElementaryTypeName",
2673
+ "src": "2051:7:2",
2674
+ "typeDescriptions": {
2675
+ "typeIdentifier": "t_bytes32",
2676
+ "typeString": "bytes32"
2677
+ }
2678
+ },
2679
+ "visibility": "internal"
2568
2680
  },
2569
2681
  {
2570
2682
  "constant": false,
2571
- "id": 901,
2683
+ "id": 907,
2684
+ "mutability": "mutable",
2685
+ "name": "key",
2686
+ "nameLocation": "2089:3:2",
2687
+ "nodeType": "VariableDeclaration",
2688
+ "scope": 916,
2689
+ "src": "2070:22:2",
2690
+ "stateVariable": false,
2691
+ "storageLocation": "calldata",
2692
+ "typeDescriptions": {
2693
+ "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr",
2694
+ "typeString": "bytes32[]"
2695
+ },
2696
+ "typeName": {
2697
+ "baseType": {
2698
+ "id": 905,
2699
+ "name": "bytes32",
2700
+ "nodeType": "ElementaryTypeName",
2701
+ "src": "2070:7:2",
2702
+ "typeDescriptions": {
2703
+ "typeIdentifier": "t_bytes32",
2704
+ "typeString": "bytes32"
2705
+ }
2706
+ },
2707
+ "id": 906,
2708
+ "nodeType": "ArrayTypeName",
2709
+ "src": "2070:9:2",
2710
+ "typeDescriptions": {
2711
+ "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
2712
+ "typeString": "bytes32[]"
2713
+ }
2714
+ },
2715
+ "visibility": "internal"
2716
+ },
2717
+ {
2718
+ "constant": false,
2719
+ "id": 909,
2720
+ "mutability": "mutable",
2721
+ "name": "schemaIndex",
2722
+ "nameLocation": "2104:11:2",
2723
+ "nodeType": "VariableDeclaration",
2724
+ "scope": 916,
2725
+ "src": "2098:17:2",
2726
+ "stateVariable": false,
2727
+ "storageLocation": "default",
2728
+ "typeDescriptions": {
2729
+ "typeIdentifier": "t_uint8",
2730
+ "typeString": "uint8"
2731
+ },
2732
+ "typeName": {
2733
+ "id": 908,
2734
+ "name": "uint8",
2735
+ "nodeType": "ElementaryTypeName",
2736
+ "src": "2098:5:2",
2737
+ "typeDescriptions": {
2738
+ "typeIdentifier": "t_uint8",
2739
+ "typeString": "uint8"
2740
+ }
2741
+ },
2742
+ "visibility": "internal"
2743
+ },
2744
+ {
2745
+ "constant": false,
2746
+ "id": 911,
2747
+ "mutability": "mutable",
2748
+ "name": "startByteIndex",
2749
+ "nameLocation": "2129:14:2",
2750
+ "nodeType": "VariableDeclaration",
2751
+ "scope": 916,
2752
+ "src": "2121:22:2",
2753
+ "stateVariable": false,
2754
+ "storageLocation": "default",
2755
+ "typeDescriptions": {
2756
+ "typeIdentifier": "t_uint256",
2757
+ "typeString": "uint256"
2758
+ },
2759
+ "typeName": {
2760
+ "id": 910,
2761
+ "name": "uint256",
2762
+ "nodeType": "ElementaryTypeName",
2763
+ "src": "2121:7:2",
2764
+ "typeDescriptions": {
2765
+ "typeIdentifier": "t_uint256",
2766
+ "typeString": "uint256"
2767
+ }
2768
+ },
2769
+ "visibility": "internal"
2770
+ },
2771
+ {
2772
+ "constant": false,
2773
+ "id": 913,
2572
2774
  "mutability": "mutable",
2573
2775
  "name": "dataToSet",
2574
- "nameLocation": "1986:9:2",
2776
+ "nameLocation": "2164:9:2",
2575
2777
  "nodeType": "VariableDeclaration",
2576
- "scope": 904,
2577
- "src": "1971:24:2",
2778
+ "scope": 916,
2779
+ "src": "2149:24:2",
2578
2780
  "stateVariable": false,
2579
2781
  "storageLocation": "calldata",
2580
2782
  "typeDescriptions": {
@@ -2582,10 +2784,10 @@
2582
2784
  "typeString": "bytes"
2583
2785
  },
2584
2786
  "typeName": {
2585
- "id": 900,
2787
+ "id": 912,
2586
2788
  "name": "bytes",
2587
2789
  "nodeType": "ElementaryTypeName",
2588
- "src": "1971:5:2",
2790
+ "src": "2149:5:2",
2589
2791
  "typeDescriptions": {
2590
2792
  "typeIdentifier": "t_bytes_storage_ptr",
2591
2793
  "typeString": "bytes"
@@ -2594,43 +2796,43 @@
2594
2796
  "visibility": "internal"
2595
2797
  }
2596
2798
  ],
2597
- "src": "1867:132:2"
2799
+ "src": "2045:132:2"
2598
2800
  },
2599
2801
  "returnParameters": {
2600
- "id": 903,
2802
+ "id": 915,
2601
2803
  "nodeType": "ParameterList",
2602
2804
  "parameters": [],
2603
- "src": "2008:0:2"
2805
+ "src": "2186:0:2"
2604
2806
  },
2605
- "scope": 913,
2807
+ "scope": 925,
2606
2808
  "stateMutability": "nonpayable",
2607
2809
  "virtual": false,
2608
2810
  "visibility": "external"
2609
2811
  },
2610
2812
  {
2611
- "id": 912,
2813
+ "id": 924,
2612
2814
  "nodeType": "FunctionDefinition",
2613
- "src": "2064:68:2",
2815
+ "src": "2242:68:2",
2614
2816
  "nodes": [],
2615
2817
  "functionSelector": "505a181d",
2616
2818
  "implemented": false,
2617
2819
  "kind": "function",
2618
2820
  "modifiers": [],
2619
2821
  "name": "deleteRecord",
2620
- "nameLocation": "2073:12:2",
2822
+ "nameLocation": "2251:12:2",
2621
2823
  "parameters": {
2622
- "id": 910,
2824
+ "id": 922,
2623
2825
  "nodeType": "ParameterList",
2624
2826
  "parameters": [
2625
2827
  {
2626
2828
  "constant": false,
2627
- "id": 906,
2829
+ "id": 918,
2628
2830
  "mutability": "mutable",
2629
2831
  "name": "table",
2630
- "nameLocation": "2094:5:2",
2832
+ "nameLocation": "2272:5:2",
2631
2833
  "nodeType": "VariableDeclaration",
2632
- "scope": 912,
2633
- "src": "2086:13:2",
2834
+ "scope": 924,
2835
+ "src": "2264:13:2",
2634
2836
  "stateVariable": false,
2635
2837
  "storageLocation": "default",
2636
2838
  "typeDescriptions": {
@@ -2638,10 +2840,10 @@
2638
2840
  "typeString": "bytes32"
2639
2841
  },
2640
2842
  "typeName": {
2641
- "id": 905,
2843
+ "id": 917,
2642
2844
  "name": "bytes32",
2643
2845
  "nodeType": "ElementaryTypeName",
2644
- "src": "2086:7:2",
2846
+ "src": "2264:7:2",
2645
2847
  "typeDescriptions": {
2646
2848
  "typeIdentifier": "t_bytes32",
2647
2849
  "typeString": "bytes32"
@@ -2651,13 +2853,13 @@
2651
2853
  },
2652
2854
  {
2653
2855
  "constant": false,
2654
- "id": 909,
2856
+ "id": 921,
2655
2857
  "mutability": "mutable",
2656
2858
  "name": "key",
2657
- "nameLocation": "2118:3:2",
2859
+ "nameLocation": "2296:3:2",
2658
2860
  "nodeType": "VariableDeclaration",
2659
- "scope": 912,
2660
- "src": "2101:20:2",
2861
+ "scope": 924,
2862
+ "src": "2279:20:2",
2661
2863
  "stateVariable": false,
2662
2864
  "storageLocation": "memory",
2663
2865
  "typeDescriptions": {
@@ -2666,18 +2868,18 @@
2666
2868
  },
2667
2869
  "typeName": {
2668
2870
  "baseType": {
2669
- "id": 907,
2871
+ "id": 919,
2670
2872
  "name": "bytes32",
2671
2873
  "nodeType": "ElementaryTypeName",
2672
- "src": "2101:7:2",
2874
+ "src": "2279:7:2",
2673
2875
  "typeDescriptions": {
2674
2876
  "typeIdentifier": "t_bytes32",
2675
2877
  "typeString": "bytes32"
2676
2878
  }
2677
2879
  },
2678
- "id": 908,
2880
+ "id": 920,
2679
2881
  "nodeType": "ArrayTypeName",
2680
- "src": "2101:9:2",
2882
+ "src": "2279:9:2",
2681
2883
  "typeDescriptions": {
2682
2884
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
2683
2885
  "typeString": "bytes32[]"
@@ -2686,15 +2888,15 @@
2686
2888
  "visibility": "internal"
2687
2889
  }
2688
2890
  ],
2689
- "src": "2085:37:2"
2891
+ "src": "2263:37:2"
2690
2892
  },
2691
2893
  "returnParameters": {
2692
- "id": 911,
2894
+ "id": 923,
2693
2895
  "nodeType": "ParameterList",
2694
2896
  "parameters": [],
2695
- "src": "2131:0:2"
2897
+ "src": "2309:0:2"
2696
2898
  },
2697
- "scope": 913,
2899
+ "scope": 925,
2698
2900
  "stateMutability": "nonpayable",
2699
2901
  "virtual": false,
2700
2902
  "visibility": "external"
@@ -2707,94 +2909,94 @@
2707
2909
  "contractKind": "interface",
2708
2910
  "fullyImplemented": false,
2709
2911
  "linearizedBaseContracts": [
2710
- 913
2912
+ 925
2711
2913
  ],
2712
2914
  "name": "IStoreWrite",
2713
2915
  "nameLocation": "1083:11:2",
2714
- "scope": 999,
2916
+ "scope": 1011,
2715
2917
  "usedErrors": []
2716
2918
  },
2717
2919
  {
2718
- "id": 919,
2920
+ "id": 931,
2719
2921
  "nodeType": "ContractDefinition",
2720
- "src": "2345:52:2",
2922
+ "src": "2523:52:2",
2721
2923
  "nodes": [],
2722
2924
  "abstract": false,
2723
2925
  "baseContracts": [
2724
2926
  {
2725
2927
  "baseName": {
2726
- "id": 915,
2928
+ "id": 927,
2727
2929
  "name": "IStoreRead",
2728
2930
  "nodeType": "IdentifierPath",
2729
2931
  "referencedDeclaration": 829,
2730
- "src": "2369:10:2"
2932
+ "src": "2547:10:2"
2731
2933
  },
2732
- "id": 916,
2934
+ "id": 928,
2733
2935
  "nodeType": "InheritanceSpecifier",
2734
- "src": "2369:10:2"
2936
+ "src": "2547:10:2"
2735
2937
  },
2736
2938
  {
2737
2939
  "baseName": {
2738
- "id": 917,
2940
+ "id": 929,
2739
2941
  "name": "IStoreWrite",
2740
2942
  "nodeType": "IdentifierPath",
2741
- "referencedDeclaration": 913,
2742
- "src": "2381:11:2"
2943
+ "referencedDeclaration": 925,
2944
+ "src": "2559:11:2"
2743
2945
  },
2744
- "id": 918,
2946
+ "id": 930,
2745
2947
  "nodeType": "InheritanceSpecifier",
2746
- "src": "2381:11:2"
2948
+ "src": "2559:11:2"
2747
2949
  }
2748
2950
  ],
2749
2951
  "canonicalName": "IStoreData",
2750
2952
  "contractDependencies": [],
2751
2953
  "contractKind": "interface",
2752
2954
  "documentation": {
2753
- "id": 914,
2955
+ "id": 926,
2754
2956
  "nodeType": "StructuredDocumentation",
2755
- "src": "2136:208:2",
2957
+ "src": "2314:208:2",
2756
2958
  "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"
2757
2959
  },
2758
2960
  "fullyImplemented": false,
2759
2961
  "linearizedBaseContracts": [
2760
- 919,
2761
- 913,
2962
+ 931,
2963
+ 925,
2762
2964
  829
2763
2965
  ],
2764
2966
  "name": "IStoreData",
2765
- "nameLocation": "2355:10:2",
2766
- "scope": 999,
2967
+ "nameLocation": "2533:10:2",
2968
+ "scope": 1011,
2767
2969
  "usedErrors": []
2768
2970
  },
2769
2971
  {
2770
- "id": 950,
2972
+ "id": 962,
2771
2973
  "nodeType": "ContractDefinition",
2772
- "src": "2650:367:2",
2974
+ "src": "2828:367:2",
2773
2975
  "nodes": [
2774
2976
  {
2775
- "id": 931,
2977
+ "id": 943,
2776
2978
  "nodeType": "FunctionDefinition",
2777
- "src": "2683:81:2",
2979
+ "src": "2861:81:2",
2778
2980
  "nodes": [],
2779
2981
  "functionSelector": "d5933686",
2780
2982
  "implemented": false,
2781
2983
  "kind": "function",
2782
2984
  "modifiers": [],
2783
2985
  "name": "registerSchema",
2784
- "nameLocation": "2692:14:2",
2986
+ "nameLocation": "2870:14:2",
2785
2987
  "parameters": {
2786
- "id": 929,
2988
+ "id": 941,
2787
2989
  "nodeType": "ParameterList",
2788
2990
  "parameters": [
2789
2991
  {
2790
2992
  "constant": false,
2791
- "id": 922,
2993
+ "id": 934,
2792
2994
  "mutability": "mutable",
2793
2995
  "name": "table",
2794
- "nameLocation": "2715:5:2",
2996
+ "nameLocation": "2893:5:2",
2795
2997
  "nodeType": "VariableDeclaration",
2796
- "scope": 931,
2797
- "src": "2707:13:2",
2998
+ "scope": 943,
2999
+ "src": "2885:13:2",
2798
3000
  "stateVariable": false,
2799
3001
  "storageLocation": "default",
2800
3002
  "typeDescriptions": {
@@ -2802,10 +3004,10 @@
2802
3004
  "typeString": "bytes32"
2803
3005
  },
2804
3006
  "typeName": {
2805
- "id": 921,
3007
+ "id": 933,
2806
3008
  "name": "bytes32",
2807
3009
  "nodeType": "ElementaryTypeName",
2808
- "src": "2707:7:2",
3010
+ "src": "2885:7:2",
2809
3011
  "typeDescriptions": {
2810
3012
  "typeIdentifier": "t_bytes32",
2811
3013
  "typeString": "bytes32"
@@ -2815,33 +3017,33 @@
2815
3017
  },
2816
3018
  {
2817
3019
  "constant": false,
2818
- "id": 925,
3020
+ "id": 937,
2819
3021
  "mutability": "mutable",
2820
3022
  "name": "schema",
2821
- "nameLocation": "2729:6:2",
3023
+ "nameLocation": "2907:6:2",
2822
3024
  "nodeType": "VariableDeclaration",
2823
- "scope": 931,
2824
- "src": "2722:13:2",
3025
+ "scope": 943,
3026
+ "src": "2900:13:2",
2825
3027
  "stateVariable": false,
2826
3028
  "storageLocation": "default",
2827
3029
  "typeDescriptions": {
2828
- "typeIdentifier": "t_userDefinedValueType$_Schema_$1505",
3030
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$1517",
2829
3031
  "typeString": "Schema"
2830
3032
  },
2831
3033
  "typeName": {
2832
- "id": 924,
3034
+ "id": 936,
2833
3035
  "nodeType": "UserDefinedTypeName",
2834
3036
  "pathNode": {
2835
- "id": 923,
3037
+ "id": 935,
2836
3038
  "name": "Schema",
2837
3039
  "nodeType": "IdentifierPath",
2838
- "referencedDeclaration": 1505,
2839
- "src": "2722:6:2"
3040
+ "referencedDeclaration": 1517,
3041
+ "src": "2900:6:2"
2840
3042
  },
2841
- "referencedDeclaration": 1505,
2842
- "src": "2722:6:2",
3043
+ "referencedDeclaration": 1517,
3044
+ "src": "2900:6:2",
2843
3045
  "typeDescriptions": {
2844
- "typeIdentifier": "t_userDefinedValueType$_Schema_$1505",
3046
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$1517",
2845
3047
  "typeString": "Schema"
2846
3048
  }
2847
3049
  },
@@ -2849,76 +3051,76 @@
2849
3051
  },
2850
3052
  {
2851
3053
  "constant": false,
2852
- "id": 928,
3054
+ "id": 940,
2853
3055
  "mutability": "mutable",
2854
3056
  "name": "keySchema",
2855
- "nameLocation": "2744:9:2",
3057
+ "nameLocation": "2922:9:2",
2856
3058
  "nodeType": "VariableDeclaration",
2857
- "scope": 931,
2858
- "src": "2737:16:2",
3059
+ "scope": 943,
3060
+ "src": "2915:16:2",
2859
3061
  "stateVariable": false,
2860
3062
  "storageLocation": "default",
2861
3063
  "typeDescriptions": {
2862
- "typeIdentifier": "t_userDefinedValueType$_Schema_$1505",
3064
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$1517",
2863
3065
  "typeString": "Schema"
2864
3066
  },
2865
3067
  "typeName": {
2866
- "id": 927,
3068
+ "id": 939,
2867
3069
  "nodeType": "UserDefinedTypeName",
2868
3070
  "pathNode": {
2869
- "id": 926,
3071
+ "id": 938,
2870
3072
  "name": "Schema",
2871
3073
  "nodeType": "IdentifierPath",
2872
- "referencedDeclaration": 1505,
2873
- "src": "2737:6:2"
3074
+ "referencedDeclaration": 1517,
3075
+ "src": "2915:6:2"
2874
3076
  },
2875
- "referencedDeclaration": 1505,
2876
- "src": "2737:6:2",
3077
+ "referencedDeclaration": 1517,
3078
+ "src": "2915:6:2",
2877
3079
  "typeDescriptions": {
2878
- "typeIdentifier": "t_userDefinedValueType$_Schema_$1505",
3080
+ "typeIdentifier": "t_userDefinedValueType$_Schema_$1517",
2879
3081
  "typeString": "Schema"
2880
3082
  }
2881
3083
  },
2882
3084
  "visibility": "internal"
2883
3085
  }
2884
3086
  ],
2885
- "src": "2706:48:2"
3087
+ "src": "2884:48:2"
2886
3088
  },
2887
3089
  "returnParameters": {
2888
- "id": 930,
3090
+ "id": 942,
2889
3091
  "nodeType": "ParameterList",
2890
3092
  "parameters": [],
2891
- "src": "2763:0:2"
3093
+ "src": "2941:0:2"
2892
3094
  },
2893
- "scope": 950,
3095
+ "scope": 962,
2894
3096
  "stateMutability": "nonpayable",
2895
3097
  "virtual": false,
2896
3098
  "visibility": "external"
2897
3099
  },
2898
3100
  {
2899
- "id": 941,
3101
+ "id": 953,
2900
3102
  "nodeType": "FunctionDefinition",
2901
- "src": "2768:102:2",
3103
+ "src": "2946:102:2",
2902
3104
  "nodes": [],
2903
3105
  "functionSelector": "fe86a89f",
2904
3106
  "implemented": false,
2905
3107
  "kind": "function",
2906
3108
  "modifiers": [],
2907
3109
  "name": "setMetadata",
2908
- "nameLocation": "2777:11:2",
3110
+ "nameLocation": "2955:11:2",
2909
3111
  "parameters": {
2910
- "id": 939,
3112
+ "id": 951,
2911
3113
  "nodeType": "ParameterList",
2912
3114
  "parameters": [
2913
3115
  {
2914
3116
  "constant": false,
2915
- "id": 933,
3117
+ "id": 945,
2916
3118
  "mutability": "mutable",
2917
3119
  "name": "table",
2918
- "nameLocation": "2797:5:2",
3120
+ "nameLocation": "2975:5:2",
2919
3121
  "nodeType": "VariableDeclaration",
2920
- "scope": 941,
2921
- "src": "2789:13:2",
3122
+ "scope": 953,
3123
+ "src": "2967:13:2",
2922
3124
  "stateVariable": false,
2923
3125
  "storageLocation": "default",
2924
3126
  "typeDescriptions": {
@@ -2926,10 +3128,10 @@
2926
3128
  "typeString": "bytes32"
2927
3129
  },
2928
3130
  "typeName": {
2929
- "id": 932,
3131
+ "id": 944,
2930
3132
  "name": "bytes32",
2931
3133
  "nodeType": "ElementaryTypeName",
2932
- "src": "2789:7:2",
3134
+ "src": "2967:7:2",
2933
3135
  "typeDescriptions": {
2934
3136
  "typeIdentifier": "t_bytes32",
2935
3137
  "typeString": "bytes32"
@@ -2939,13 +3141,13 @@
2939
3141
  },
2940
3142
  {
2941
3143
  "constant": false,
2942
- "id": 935,
3144
+ "id": 947,
2943
3145
  "mutability": "mutable",
2944
3146
  "name": "tableName",
2945
- "nameLocation": "2820:9:2",
3147
+ "nameLocation": "2998:9:2",
2946
3148
  "nodeType": "VariableDeclaration",
2947
- "scope": 941,
2948
- "src": "2804:25:2",
3149
+ "scope": 953,
3150
+ "src": "2982:25:2",
2949
3151
  "stateVariable": false,
2950
3152
  "storageLocation": "calldata",
2951
3153
  "typeDescriptions": {
@@ -2953,10 +3155,10 @@
2953
3155
  "typeString": "string"
2954
3156
  },
2955
3157
  "typeName": {
2956
- "id": 934,
3158
+ "id": 946,
2957
3159
  "name": "string",
2958
3160
  "nodeType": "ElementaryTypeName",
2959
- "src": "2804:6:2",
3161
+ "src": "2982:6:2",
2960
3162
  "typeDescriptions": {
2961
3163
  "typeIdentifier": "t_string_storage_ptr",
2962
3164
  "typeString": "string"
@@ -2966,13 +3168,13 @@
2966
3168
  },
2967
3169
  {
2968
3170
  "constant": false,
2969
- "id": 938,
3171
+ "id": 950,
2970
3172
  "mutability": "mutable",
2971
3173
  "name": "fieldNames",
2972
- "nameLocation": "2849:10:2",
3174
+ "nameLocation": "3027:10:2",
2973
3175
  "nodeType": "VariableDeclaration",
2974
- "scope": 941,
2975
- "src": "2831:28:2",
3176
+ "scope": 953,
3177
+ "src": "3009:28:2",
2976
3178
  "stateVariable": false,
2977
3179
  "storageLocation": "calldata",
2978
3180
  "typeDescriptions": {
@@ -2981,18 +3183,18 @@
2981
3183
  },
2982
3184
  "typeName": {
2983
3185
  "baseType": {
2984
- "id": 936,
3186
+ "id": 948,
2985
3187
  "name": "string",
2986
3188
  "nodeType": "ElementaryTypeName",
2987
- "src": "2831:6:2",
3189
+ "src": "3009:6:2",
2988
3190
  "typeDescriptions": {
2989
3191
  "typeIdentifier": "t_string_storage_ptr",
2990
3192
  "typeString": "string"
2991
3193
  }
2992
3194
  },
2993
- "id": 937,
3195
+ "id": 949,
2994
3196
  "nodeType": "ArrayTypeName",
2995
- "src": "2831:8:2",
3197
+ "src": "3009:8:2",
2996
3198
  "typeDescriptions": {
2997
3199
  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
2998
3200
  "typeString": "string[]"
@@ -3001,43 +3203,43 @@
3001
3203
  "visibility": "internal"
3002
3204
  }
3003
3205
  ],
3004
- "src": "2788:72:2"
3206
+ "src": "2966:72:2"
3005
3207
  },
3006
3208
  "returnParameters": {
3007
- "id": 940,
3209
+ "id": 952,
3008
3210
  "nodeType": "ParameterList",
3009
3211
  "parameters": [],
3010
- "src": "2869:0:2"
3212
+ "src": "3047:0:2"
3011
3213
  },
3012
- "scope": 950,
3214
+ "scope": 962,
3013
3215
  "stateMutability": "nonpayable",
3014
3216
  "virtual": false,
3015
3217
  "visibility": "external"
3016
3218
  },
3017
3219
  {
3018
- "id": 949,
3220
+ "id": 961,
3019
3221
  "nodeType": "FunctionDefinition",
3020
- "src": "2947:68:2",
3222
+ "src": "3125:68:2",
3021
3223
  "nodes": [],
3022
3224
  "functionSelector": "6e81fd71",
3023
3225
  "implemented": false,
3024
3226
  "kind": "function",
3025
3227
  "modifiers": [],
3026
3228
  "name": "registerStoreHook",
3027
- "nameLocation": "2956:17:2",
3229
+ "nameLocation": "3134:17:2",
3028
3230
  "parameters": {
3029
- "id": 947,
3231
+ "id": 959,
3030
3232
  "nodeType": "ParameterList",
3031
3233
  "parameters": [
3032
3234
  {
3033
3235
  "constant": false,
3034
- "id": 943,
3236
+ "id": 955,
3035
3237
  "mutability": "mutable",
3036
3238
  "name": "table",
3037
- "nameLocation": "2982:5:2",
3239
+ "nameLocation": "3160:5:2",
3038
3240
  "nodeType": "VariableDeclaration",
3039
- "scope": 949,
3040
- "src": "2974:13:2",
3241
+ "scope": 961,
3242
+ "src": "3152:13:2",
3041
3243
  "stateVariable": false,
3042
3244
  "storageLocation": "default",
3043
3245
  "typeDescriptions": {
@@ -3045,10 +3247,10 @@
3045
3247
  "typeString": "bytes32"
3046
3248
  },
3047
3249
  "typeName": {
3048
- "id": 942,
3250
+ "id": 954,
3049
3251
  "name": "bytes32",
3050
3252
  "nodeType": "ElementaryTypeName",
3051
- "src": "2974:7:2",
3253
+ "src": "3152:7:2",
3052
3254
  "typeDescriptions": {
3053
3255
  "typeIdentifier": "t_bytes32",
3054
3256
  "typeString": "bytes32"
@@ -3058,48 +3260,48 @@
3058
3260
  },
3059
3261
  {
3060
3262
  "constant": false,
3061
- "id": 946,
3263
+ "id": 958,
3062
3264
  "mutability": "mutable",
3063
3265
  "name": "hook",
3064
- "nameLocation": "3000:4:2",
3266
+ "nameLocation": "3178:4:2",
3065
3267
  "nodeType": "VariableDeclaration",
3066
- "scope": 949,
3067
- "src": "2989:15:2",
3268
+ "scope": 961,
3269
+ "src": "3167:15:2",
3068
3270
  "stateVariable": false,
3069
3271
  "storageLocation": "default",
3070
3272
  "typeDescriptions": {
3071
- "typeIdentifier": "t_contract$_IStoreHook_$998",
3273
+ "typeIdentifier": "t_contract$_IStoreHook_$1010",
3072
3274
  "typeString": "contract IStoreHook"
3073
3275
  },
3074
3276
  "typeName": {
3075
- "id": 945,
3277
+ "id": 957,
3076
3278
  "nodeType": "UserDefinedTypeName",
3077
3279
  "pathNode": {
3078
- "id": 944,
3280
+ "id": 956,
3079
3281
  "name": "IStoreHook",
3080
3282
  "nodeType": "IdentifierPath",
3081
- "referencedDeclaration": 998,
3082
- "src": "2989:10:2"
3283
+ "referencedDeclaration": 1010,
3284
+ "src": "3167:10:2"
3083
3285
  },
3084
- "referencedDeclaration": 998,
3085
- "src": "2989:10:2",
3286
+ "referencedDeclaration": 1010,
3287
+ "src": "3167:10:2",
3086
3288
  "typeDescriptions": {
3087
- "typeIdentifier": "t_contract$_IStoreHook_$998",
3289
+ "typeIdentifier": "t_contract$_IStoreHook_$1010",
3088
3290
  "typeString": "contract IStoreHook"
3089
3291
  }
3090
3292
  },
3091
3293
  "visibility": "internal"
3092
3294
  }
3093
3295
  ],
3094
- "src": "2973:32:2"
3296
+ "src": "3151:32:2"
3095
3297
  },
3096
3298
  "returnParameters": {
3097
- "id": 948,
3299
+ "id": 960,
3098
3300
  "nodeType": "ParameterList",
3099
3301
  "parameters": [],
3100
- "src": "3014:0:2"
3302
+ "src": "3192:0:2"
3101
3303
  },
3102
- "scope": 950,
3304
+ "scope": 962,
3103
3305
  "stateMutability": "nonpayable",
3104
3306
  "virtual": false,
3105
3307
  "visibility": "external"
@@ -3111,50 +3313,50 @@
3111
3313
  "contractDependencies": [],
3112
3314
  "contractKind": "interface",
3113
3315
  "documentation": {
3114
- "id": 920,
3316
+ "id": 932,
3115
3317
  "nodeType": "StructuredDocumentation",
3116
- "src": "2399:250:2",
3318
+ "src": "2577:250:2",
3117
3319
  "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."
3118
3320
  },
3119
3321
  "fullyImplemented": false,
3120
3322
  "linearizedBaseContracts": [
3121
- 950
3323
+ 962
3122
3324
  ],
3123
3325
  "name": "IStoreRegistration",
3124
- "nameLocation": "2660:18:2",
3125
- "scope": 999,
3326
+ "nameLocation": "2838:18:2",
3327
+ "scope": 1011,
3126
3328
  "usedErrors": []
3127
3329
  },
3128
3330
  {
3129
- "id": 955,
3331
+ "id": 967,
3130
3332
  "nodeType": "ContractDefinition",
3131
- "src": "3019:53:2",
3333
+ "src": "3197:53:2",
3132
3334
  "nodes": [],
3133
3335
  "abstract": false,
3134
3336
  "baseContracts": [
3135
3337
  {
3136
3338
  "baseName": {
3137
- "id": 951,
3339
+ "id": 963,
3138
3340
  "name": "IStoreData",
3139
3341
  "nodeType": "IdentifierPath",
3140
- "referencedDeclaration": 919,
3141
- "src": "3039:10:2"
3342
+ "referencedDeclaration": 931,
3343
+ "src": "3217:10:2"
3142
3344
  },
3143
- "id": 952,
3345
+ "id": 964,
3144
3346
  "nodeType": "InheritanceSpecifier",
3145
- "src": "3039:10:2"
3347
+ "src": "3217:10:2"
3146
3348
  },
3147
3349
  {
3148
3350
  "baseName": {
3149
- "id": 953,
3351
+ "id": 965,
3150
3352
  "name": "IStoreRegistration",
3151
3353
  "nodeType": "IdentifierPath",
3152
- "referencedDeclaration": 950,
3153
- "src": "3051:18:2"
3354
+ "referencedDeclaration": 962,
3355
+ "src": "3229:18:2"
3154
3356
  },
3155
- "id": 954,
3357
+ "id": 966,
3156
3358
  "nodeType": "InheritanceSpecifier",
3157
- "src": "3051:18:2"
3359
+ "src": "3229:18:2"
3158
3360
  }
3159
3361
  ],
3160
3362
  "canonicalName": "IStore",
@@ -3162,46 +3364,46 @@
3162
3364
  "contractKind": "interface",
3163
3365
  "fullyImplemented": false,
3164
3366
  "linearizedBaseContracts": [
3165
- 955,
3166
- 950,
3167
- 919,
3168
- 913,
3367
+ 967,
3368
+ 962,
3369
+ 931,
3370
+ 925,
3169
3371
  829
3170
3372
  ],
3171
3373
  "name": "IStore",
3172
- "nameLocation": "3029:6:2",
3173
- "scope": 999,
3374
+ "nameLocation": "3207:6:2",
3375
+ "scope": 1011,
3174
3376
  "usedErrors": []
3175
3377
  },
3176
3378
  {
3177
- "id": 998,
3379
+ "id": 1010,
3178
3380
  "nodeType": "ContractDefinition",
3179
- "src": "3074:494:2",
3381
+ "src": "3252:494:2",
3180
3382
  "nodes": [
3181
3383
  {
3182
- "id": 965,
3384
+ "id": 977,
3183
3385
  "nodeType": "FunctionDefinition",
3184
- "src": "3099:86:2",
3386
+ "src": "3277:86:2",
3185
3387
  "nodes": [],
3186
3388
  "functionSelector": "82b6745f",
3187
3389
  "implemented": false,
3188
3390
  "kind": "function",
3189
3391
  "modifiers": [],
3190
3392
  "name": "onSetRecord",
3191
- "nameLocation": "3108:11:2",
3393
+ "nameLocation": "3286:11:2",
3192
3394
  "parameters": {
3193
- "id": 963,
3395
+ "id": 975,
3194
3396
  "nodeType": "ParameterList",
3195
3397
  "parameters": [
3196
3398
  {
3197
3399
  "constant": false,
3198
- "id": 957,
3400
+ "id": 969,
3199
3401
  "mutability": "mutable",
3200
3402
  "name": "table",
3201
- "nameLocation": "3128:5:2",
3403
+ "nameLocation": "3306:5:2",
3202
3404
  "nodeType": "VariableDeclaration",
3203
- "scope": 965,
3204
- "src": "3120:13:2",
3405
+ "scope": 977,
3406
+ "src": "3298:13:2",
3205
3407
  "stateVariable": false,
3206
3408
  "storageLocation": "default",
3207
3409
  "typeDescriptions": {
@@ -3209,10 +3411,10 @@
3209
3411
  "typeString": "bytes32"
3210
3412
  },
3211
3413
  "typeName": {
3212
- "id": 956,
3414
+ "id": 968,
3213
3415
  "name": "bytes32",
3214
3416
  "nodeType": "ElementaryTypeName",
3215
- "src": "3120:7:2",
3417
+ "src": "3298:7:2",
3216
3418
  "typeDescriptions": {
3217
3419
  "typeIdentifier": "t_bytes32",
3218
3420
  "typeString": "bytes32"
@@ -3222,13 +3424,13 @@
3222
3424
  },
3223
3425
  {
3224
3426
  "constant": false,
3225
- "id": 960,
3427
+ "id": 972,
3226
3428
  "mutability": "mutable",
3227
3429
  "name": "key",
3228
- "nameLocation": "3152:3:2",
3430
+ "nameLocation": "3330:3:2",
3229
3431
  "nodeType": "VariableDeclaration",
3230
- "scope": 965,
3231
- "src": "3135:20:2",
3432
+ "scope": 977,
3433
+ "src": "3313:20:2",
3232
3434
  "stateVariable": false,
3233
3435
  "storageLocation": "memory",
3234
3436
  "typeDescriptions": {
@@ -3237,18 +3439,18 @@
3237
3439
  },
3238
3440
  "typeName": {
3239
3441
  "baseType": {
3240
- "id": 958,
3442
+ "id": 970,
3241
3443
  "name": "bytes32",
3242
3444
  "nodeType": "ElementaryTypeName",
3243
- "src": "3135:7:2",
3445
+ "src": "3313:7:2",
3244
3446
  "typeDescriptions": {
3245
3447
  "typeIdentifier": "t_bytes32",
3246
3448
  "typeString": "bytes32"
3247
3449
  }
3248
3450
  },
3249
- "id": 959,
3451
+ "id": 971,
3250
3452
  "nodeType": "ArrayTypeName",
3251
- "src": "3135:9:2",
3453
+ "src": "3313:9:2",
3252
3454
  "typeDescriptions": {
3253
3455
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
3254
3456
  "typeString": "bytes32[]"
@@ -3258,13 +3460,13 @@
3258
3460
  },
3259
3461
  {
3260
3462
  "constant": false,
3261
- "id": 962,
3463
+ "id": 974,
3262
3464
  "mutability": "mutable",
3263
3465
  "name": "data",
3264
- "nameLocation": "3170:4:2",
3466
+ "nameLocation": "3348:4:2",
3265
3467
  "nodeType": "VariableDeclaration",
3266
- "scope": 965,
3267
- "src": "3157:17:2",
3468
+ "scope": 977,
3469
+ "src": "3335:17:2",
3268
3470
  "stateVariable": false,
3269
3471
  "storageLocation": "memory",
3270
3472
  "typeDescriptions": {
@@ -3272,10 +3474,10 @@
3272
3474
  "typeString": "bytes"
3273
3475
  },
3274
3476
  "typeName": {
3275
- "id": 961,
3477
+ "id": 973,
3276
3478
  "name": "bytes",
3277
3479
  "nodeType": "ElementaryTypeName",
3278
- "src": "3157:5:2",
3480
+ "src": "3335:5:2",
3279
3481
  "typeDescriptions": {
3280
3482
  "typeIdentifier": "t_bytes_storage_ptr",
3281
3483
  "typeString": "bytes"
@@ -3284,43 +3486,43 @@
3284
3486
  "visibility": "internal"
3285
3487
  }
3286
3488
  ],
3287
- "src": "3119:56:2"
3489
+ "src": "3297:56:2"
3288
3490
  },
3289
3491
  "returnParameters": {
3290
- "id": 964,
3492
+ "id": 976,
3291
3493
  "nodeType": "ParameterList",
3292
3494
  "parameters": [],
3293
- "src": "3184:0:2"
3495
+ "src": "3362:0:2"
3294
3496
  },
3295
- "scope": 998,
3497
+ "scope": 1010,
3296
3498
  "stateMutability": "nonpayable",
3297
3499
  "virtual": false,
3298
3500
  "visibility": "external"
3299
3501
  },
3300
3502
  {
3301
- "id": 977,
3503
+ "id": 989,
3302
3504
  "nodeType": "FunctionDefinition",
3303
- "src": "3269:110:2",
3505
+ "src": "3447:110:2",
3304
3506
  "nodes": [],
3305
3507
  "functionSelector": "469b7ee2",
3306
3508
  "implemented": false,
3307
3509
  "kind": "function",
3308
3510
  "modifiers": [],
3309
3511
  "name": "onBeforeSetField",
3310
- "nameLocation": "3278:16:2",
3512
+ "nameLocation": "3456:16:2",
3311
3513
  "parameters": {
3312
- "id": 975,
3514
+ "id": 987,
3313
3515
  "nodeType": "ParameterList",
3314
3516
  "parameters": [
3315
3517
  {
3316
3518
  "constant": false,
3317
- "id": 967,
3519
+ "id": 979,
3318
3520
  "mutability": "mutable",
3319
3521
  "name": "table",
3320
- "nameLocation": "3303:5:2",
3522
+ "nameLocation": "3481:5:2",
3321
3523
  "nodeType": "VariableDeclaration",
3322
- "scope": 977,
3323
- "src": "3295:13:2",
3524
+ "scope": 989,
3525
+ "src": "3473:13:2",
3324
3526
  "stateVariable": false,
3325
3527
  "storageLocation": "default",
3326
3528
  "typeDescriptions": {
@@ -3328,10 +3530,10 @@
3328
3530
  "typeString": "bytes32"
3329
3531
  },
3330
3532
  "typeName": {
3331
- "id": 966,
3533
+ "id": 978,
3332
3534
  "name": "bytes32",
3333
3535
  "nodeType": "ElementaryTypeName",
3334
- "src": "3295:7:2",
3536
+ "src": "3473:7:2",
3335
3537
  "typeDescriptions": {
3336
3538
  "typeIdentifier": "t_bytes32",
3337
3539
  "typeString": "bytes32"
@@ -3341,13 +3543,13 @@
3341
3543
  },
3342
3544
  {
3343
3545
  "constant": false,
3344
- "id": 970,
3546
+ "id": 982,
3345
3547
  "mutability": "mutable",
3346
3548
  "name": "key",
3347
- "nameLocation": "3327:3:2",
3549
+ "nameLocation": "3505:3:2",
3348
3550
  "nodeType": "VariableDeclaration",
3349
- "scope": 977,
3350
- "src": "3310:20:2",
3551
+ "scope": 989,
3552
+ "src": "3488:20:2",
3351
3553
  "stateVariable": false,
3352
3554
  "storageLocation": "memory",
3353
3555
  "typeDescriptions": {
@@ -3356,18 +3558,18 @@
3356
3558
  },
3357
3559
  "typeName": {
3358
3560
  "baseType": {
3359
- "id": 968,
3561
+ "id": 980,
3360
3562
  "name": "bytes32",
3361
3563
  "nodeType": "ElementaryTypeName",
3362
- "src": "3310:7:2",
3564
+ "src": "3488:7:2",
3363
3565
  "typeDescriptions": {
3364
3566
  "typeIdentifier": "t_bytes32",
3365
3567
  "typeString": "bytes32"
3366
3568
  }
3367
3569
  },
3368
- "id": 969,
3570
+ "id": 981,
3369
3571
  "nodeType": "ArrayTypeName",
3370
- "src": "3310:9:2",
3572
+ "src": "3488:9:2",
3371
3573
  "typeDescriptions": {
3372
3574
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
3373
3575
  "typeString": "bytes32[]"
@@ -3377,13 +3579,13 @@
3377
3579
  },
3378
3580
  {
3379
3581
  "constant": false,
3380
- "id": 972,
3582
+ "id": 984,
3381
3583
  "mutability": "mutable",
3382
3584
  "name": "schemaIndex",
3383
- "nameLocation": "3338:11:2",
3585
+ "nameLocation": "3516:11:2",
3384
3586
  "nodeType": "VariableDeclaration",
3385
- "scope": 977,
3386
- "src": "3332:17:2",
3587
+ "scope": 989,
3588
+ "src": "3510:17:2",
3387
3589
  "stateVariable": false,
3388
3590
  "storageLocation": "default",
3389
3591
  "typeDescriptions": {
@@ -3391,10 +3593,10 @@
3391
3593
  "typeString": "uint8"
3392
3594
  },
3393
3595
  "typeName": {
3394
- "id": 971,
3596
+ "id": 983,
3395
3597
  "name": "uint8",
3396
3598
  "nodeType": "ElementaryTypeName",
3397
- "src": "3332:5:2",
3599
+ "src": "3510:5:2",
3398
3600
  "typeDescriptions": {
3399
3601
  "typeIdentifier": "t_uint8",
3400
3602
  "typeString": "uint8"
@@ -3404,13 +3606,13 @@
3404
3606
  },
3405
3607
  {
3406
3608
  "constant": false,
3407
- "id": 974,
3609
+ "id": 986,
3408
3610
  "mutability": "mutable",
3409
3611
  "name": "data",
3410
- "nameLocation": "3364:4:2",
3612
+ "nameLocation": "3542:4:2",
3411
3613
  "nodeType": "VariableDeclaration",
3412
- "scope": 977,
3413
- "src": "3351:17:2",
3614
+ "scope": 989,
3615
+ "src": "3529:17:2",
3414
3616
  "stateVariable": false,
3415
3617
  "storageLocation": "memory",
3416
3618
  "typeDescriptions": {
@@ -3418,10 +3620,10 @@
3418
3620
  "typeString": "bytes"
3419
3621
  },
3420
3622
  "typeName": {
3421
- "id": 973,
3623
+ "id": 985,
3422
3624
  "name": "bytes",
3423
3625
  "nodeType": "ElementaryTypeName",
3424
- "src": "3351:5:2",
3626
+ "src": "3529:5:2",
3425
3627
  "typeDescriptions": {
3426
3628
  "typeIdentifier": "t_bytes_storage_ptr",
3427
3629
  "typeString": "bytes"
@@ -3430,43 +3632,43 @@
3430
3632
  "visibility": "internal"
3431
3633
  }
3432
3634
  ],
3433
- "src": "3294:75:2"
3635
+ "src": "3472:75:2"
3434
3636
  },
3435
3637
  "returnParameters": {
3436
- "id": 976,
3638
+ "id": 988,
3437
3639
  "nodeType": "ParameterList",
3438
3640
  "parameters": [],
3439
- "src": "3378:0:2"
3641
+ "src": "3556:0:2"
3440
3642
  },
3441
- "scope": 998,
3643
+ "scope": 1010,
3442
3644
  "stateMutability": "nonpayable",
3443
3645
  "virtual": false,
3444
3646
  "visibility": "external"
3445
3647
  },
3446
3648
  {
3447
- "id": 989,
3649
+ "id": 1001,
3448
3650
  "nodeType": "FunctionDefinition",
3449
- "src": "3383:109:2",
3651
+ "src": "3561:109:2",
3450
3652
  "nodes": [],
3451
3653
  "functionSelector": "6b3d7d5f",
3452
3654
  "implemented": false,
3453
3655
  "kind": "function",
3454
3656
  "modifiers": [],
3455
3657
  "name": "onAfterSetField",
3456
- "nameLocation": "3392:15:2",
3658
+ "nameLocation": "3570:15:2",
3457
3659
  "parameters": {
3458
- "id": 987,
3660
+ "id": 999,
3459
3661
  "nodeType": "ParameterList",
3460
3662
  "parameters": [
3461
3663
  {
3462
3664
  "constant": false,
3463
- "id": 979,
3665
+ "id": 991,
3464
3666
  "mutability": "mutable",
3465
3667
  "name": "table",
3466
- "nameLocation": "3416:5:2",
3668
+ "nameLocation": "3594:5:2",
3467
3669
  "nodeType": "VariableDeclaration",
3468
- "scope": 989,
3469
- "src": "3408:13:2",
3670
+ "scope": 1001,
3671
+ "src": "3586:13:2",
3470
3672
  "stateVariable": false,
3471
3673
  "storageLocation": "default",
3472
3674
  "typeDescriptions": {
@@ -3474,10 +3676,10 @@
3474
3676
  "typeString": "bytes32"
3475
3677
  },
3476
3678
  "typeName": {
3477
- "id": 978,
3679
+ "id": 990,
3478
3680
  "name": "bytes32",
3479
3681
  "nodeType": "ElementaryTypeName",
3480
- "src": "3408:7:2",
3682
+ "src": "3586:7:2",
3481
3683
  "typeDescriptions": {
3482
3684
  "typeIdentifier": "t_bytes32",
3483
3685
  "typeString": "bytes32"
@@ -3487,13 +3689,13 @@
3487
3689
  },
3488
3690
  {
3489
3691
  "constant": false,
3490
- "id": 982,
3692
+ "id": 994,
3491
3693
  "mutability": "mutable",
3492
3694
  "name": "key",
3493
- "nameLocation": "3440:3:2",
3695
+ "nameLocation": "3618:3:2",
3494
3696
  "nodeType": "VariableDeclaration",
3495
- "scope": 989,
3496
- "src": "3423:20:2",
3697
+ "scope": 1001,
3698
+ "src": "3601:20:2",
3497
3699
  "stateVariable": false,
3498
3700
  "storageLocation": "memory",
3499
3701
  "typeDescriptions": {
@@ -3502,18 +3704,18 @@
3502
3704
  },
3503
3705
  "typeName": {
3504
3706
  "baseType": {
3505
- "id": 980,
3707
+ "id": 992,
3506
3708
  "name": "bytes32",
3507
3709
  "nodeType": "ElementaryTypeName",
3508
- "src": "3423:7:2",
3710
+ "src": "3601:7:2",
3509
3711
  "typeDescriptions": {
3510
3712
  "typeIdentifier": "t_bytes32",
3511
3713
  "typeString": "bytes32"
3512
3714
  }
3513
3715
  },
3514
- "id": 981,
3716
+ "id": 993,
3515
3717
  "nodeType": "ArrayTypeName",
3516
- "src": "3423:9:2",
3718
+ "src": "3601:9:2",
3517
3719
  "typeDescriptions": {
3518
3720
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
3519
3721
  "typeString": "bytes32[]"
@@ -3523,13 +3725,13 @@
3523
3725
  },
3524
3726
  {
3525
3727
  "constant": false,
3526
- "id": 984,
3728
+ "id": 996,
3527
3729
  "mutability": "mutable",
3528
3730
  "name": "schemaIndex",
3529
- "nameLocation": "3451:11:2",
3731
+ "nameLocation": "3629:11:2",
3530
3732
  "nodeType": "VariableDeclaration",
3531
- "scope": 989,
3532
- "src": "3445:17:2",
3733
+ "scope": 1001,
3734
+ "src": "3623:17:2",
3533
3735
  "stateVariable": false,
3534
3736
  "storageLocation": "default",
3535
3737
  "typeDescriptions": {
@@ -3537,10 +3739,10 @@
3537
3739
  "typeString": "uint8"
3538
3740
  },
3539
3741
  "typeName": {
3540
- "id": 983,
3742
+ "id": 995,
3541
3743
  "name": "uint8",
3542
3744
  "nodeType": "ElementaryTypeName",
3543
- "src": "3445:5:2",
3745
+ "src": "3623:5:2",
3544
3746
  "typeDescriptions": {
3545
3747
  "typeIdentifier": "t_uint8",
3546
3748
  "typeString": "uint8"
@@ -3550,13 +3752,13 @@
3550
3752
  },
3551
3753
  {
3552
3754
  "constant": false,
3553
- "id": 986,
3755
+ "id": 998,
3554
3756
  "mutability": "mutable",
3555
3757
  "name": "data",
3556
- "nameLocation": "3477:4:2",
3758
+ "nameLocation": "3655:4:2",
3557
3759
  "nodeType": "VariableDeclaration",
3558
- "scope": 989,
3559
- "src": "3464:17:2",
3760
+ "scope": 1001,
3761
+ "src": "3642:17:2",
3560
3762
  "stateVariable": false,
3561
3763
  "storageLocation": "memory",
3562
3764
  "typeDescriptions": {
@@ -3564,10 +3766,10 @@
3564
3766
  "typeString": "bytes"
3565
3767
  },
3566
3768
  "typeName": {
3567
- "id": 985,
3769
+ "id": 997,
3568
3770
  "name": "bytes",
3569
3771
  "nodeType": "ElementaryTypeName",
3570
- "src": "3464:5:2",
3772
+ "src": "3642:5:2",
3571
3773
  "typeDescriptions": {
3572
3774
  "typeIdentifier": "t_bytes_storage_ptr",
3573
3775
  "typeString": "bytes"
@@ -3576,43 +3778,43 @@
3576
3778
  "visibility": "internal"
3577
3779
  }
3578
3780
  ],
3579
- "src": "3407:75:2"
3781
+ "src": "3585:75:2"
3580
3782
  },
3581
3783
  "returnParameters": {
3582
- "id": 988,
3784
+ "id": 1000,
3583
3785
  "nodeType": "ParameterList",
3584
3786
  "parameters": [],
3585
- "src": "3491:0:2"
3787
+ "src": "3669:0:2"
3586
3788
  },
3587
- "scope": 998,
3789
+ "scope": 1010,
3588
3790
  "stateMutability": "nonpayable",
3589
3791
  "virtual": false,
3590
3792
  "visibility": "external"
3591
3793
  },
3592
3794
  {
3593
- "id": 997,
3795
+ "id": 1009,
3594
3796
  "nodeType": "FunctionDefinition",
3595
- "src": "3496:70:2",
3797
+ "src": "3674:70:2",
3596
3798
  "nodes": [],
3597
3799
  "functionSelector": "b51fef6c",
3598
3800
  "implemented": false,
3599
3801
  "kind": "function",
3600
3802
  "modifiers": [],
3601
3803
  "name": "onDeleteRecord",
3602
- "nameLocation": "3505:14:2",
3804
+ "nameLocation": "3683:14:2",
3603
3805
  "parameters": {
3604
- "id": 995,
3806
+ "id": 1007,
3605
3807
  "nodeType": "ParameterList",
3606
3808
  "parameters": [
3607
3809
  {
3608
3810
  "constant": false,
3609
- "id": 991,
3811
+ "id": 1003,
3610
3812
  "mutability": "mutable",
3611
3813
  "name": "table",
3612
- "nameLocation": "3528:5:2",
3814
+ "nameLocation": "3706:5:2",
3613
3815
  "nodeType": "VariableDeclaration",
3614
- "scope": 997,
3615
- "src": "3520:13:2",
3816
+ "scope": 1009,
3817
+ "src": "3698:13:2",
3616
3818
  "stateVariable": false,
3617
3819
  "storageLocation": "default",
3618
3820
  "typeDescriptions": {
@@ -3620,10 +3822,10 @@
3620
3822
  "typeString": "bytes32"
3621
3823
  },
3622
3824
  "typeName": {
3623
- "id": 990,
3825
+ "id": 1002,
3624
3826
  "name": "bytes32",
3625
3827
  "nodeType": "ElementaryTypeName",
3626
- "src": "3520:7:2",
3828
+ "src": "3698:7:2",
3627
3829
  "typeDescriptions": {
3628
3830
  "typeIdentifier": "t_bytes32",
3629
3831
  "typeString": "bytes32"
@@ -3633,13 +3835,13 @@
3633
3835
  },
3634
3836
  {
3635
3837
  "constant": false,
3636
- "id": 994,
3838
+ "id": 1006,
3637
3839
  "mutability": "mutable",
3638
3840
  "name": "key",
3639
- "nameLocation": "3552:3:2",
3841
+ "nameLocation": "3730:3:2",
3640
3842
  "nodeType": "VariableDeclaration",
3641
- "scope": 997,
3642
- "src": "3535:20:2",
3843
+ "scope": 1009,
3844
+ "src": "3713:20:2",
3643
3845
  "stateVariable": false,
3644
3846
  "storageLocation": "memory",
3645
3847
  "typeDescriptions": {
@@ -3648,18 +3850,18 @@
3648
3850
  },
3649
3851
  "typeName": {
3650
3852
  "baseType": {
3651
- "id": 992,
3853
+ "id": 1004,
3652
3854
  "name": "bytes32",
3653
3855
  "nodeType": "ElementaryTypeName",
3654
- "src": "3535:7:2",
3856
+ "src": "3713:7:2",
3655
3857
  "typeDescriptions": {
3656
3858
  "typeIdentifier": "t_bytes32",
3657
3859
  "typeString": "bytes32"
3658
3860
  }
3659
3861
  },
3660
- "id": 993,
3862
+ "id": 1005,
3661
3863
  "nodeType": "ArrayTypeName",
3662
- "src": "3535:9:2",
3864
+ "src": "3713:9:2",
3663
3865
  "typeDescriptions": {
3664
3866
  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
3665
3867
  "typeString": "bytes32[]"
@@ -3668,15 +3870,15 @@
3668
3870
  "visibility": "internal"
3669
3871
  }
3670
3872
  ],
3671
- "src": "3519:37:2"
3873
+ "src": "3697:37:2"
3672
3874
  },
3673
3875
  "returnParameters": {
3674
- "id": 996,
3876
+ "id": 1008,
3675
3877
  "nodeType": "ParameterList",
3676
3878
  "parameters": [],
3677
- "src": "3565:0:2"
3879
+ "src": "3743:0:2"
3678
3880
  },
3679
- "scope": 998,
3881
+ "scope": 1010,
3680
3882
  "stateMutability": "nonpayable",
3681
3883
  "virtual": false,
3682
3884
  "visibility": "external"
@@ -3689,11 +3891,11 @@
3689
3891
  "contractKind": "interface",
3690
3892
  "fullyImplemented": false,
3691
3893
  "linearizedBaseContracts": [
3692
- 998
3894
+ 1010
3693
3895
  ],
3694
3896
  "name": "IStoreHook",
3695
- "nameLocation": "3084:10:2",
3696
- "scope": 999,
3897
+ "nameLocation": "3262:10:2",
3898
+ "scope": 1011,
3697
3899
  "usedErrors": []
3698
3900
  }
3699
3901
  ],