{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a80e5c6236b671f6fb89b0215345818521625986e94d25920d2f83d4426b001064736f6c63430008180033","sourceMap":"1342:40712:36:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1342:40712:36;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a80e5c6236b671f6fb89b0215345818521625986e94d25920d2f83d4426b001064736f6c63430008180033","sourceMap":"1342:40712:36:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"kind\":\"dev\",\"methods\":{},\"title\":\"StoreCore Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This library includes implementations for all IStore methods and events related to the store actions.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/store/src/StoreCore.sol\":\"StoreCore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":base/=src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin/=node_modules/@openzeppelin/","base/=src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@latticexyz/store/src/StoreCore.sol":"StoreCore"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@latticexyz/store/src/StoreCore.sol","id":13234,"exportedSymbols":{"AFTER_DELETE_RECORD":[21661],"AFTER_SET_RECORD":[21625],"AFTER_SPLICE_DYNAMIC_DATA":[21649],"AFTER_SPLICE_STATIC_DATA":[21637],"BEFORE_DELETE_RECORD":[21655],"BEFORE_SET_RECORD":[21619],"BEFORE_SPLICE_DYNAMIC_DATA":[21643],"BEFORE_SPLICE_STATIC_DATA":[21631],"Bytes":[7243],"EncodedLengths":[7251],"FieldLayout":[7885],"FieldLayoutLib":[8033],"Hook":[8369],"HookLib":[8493],"IStoreErrors":[8755],"IStoreEvents":[8826],"IStoreHook":[8979],"Memory":[9482],"RESOURCE_OFFCHAIN_TABLE":[21709],"RESOURCE_TABLE":[21705],"ResourceId":[9486],"ResourceIdLib":[9526],"ResourceIds":[16989],"STORE_VERSION":[26504],"Schema":[9581],"SchemaLib":[9734],"Slice":[10067],"SliceLib":[10192],"Storage":[10665],"StoreCore":[12701],"StoreCoreInternal":[13233],"StoreHooks":[18664],"StoreSwitch":[14558],"Tables":[21525]},"nodeType":"SourceUnit","src":"32:54213:36","nodes":[{"id":10667,"nodeType":"PragmaDirective","src":"32:25:36","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":10669,"nodeType":"ImportDirective","src":"59:46:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/version.sol","file":"./version.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":26505,"symbolAliases":[{"foreign":{"id":10668,"name":"STORE_VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26504,"src":"68:13:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10671,"nodeType":"ImportDirective","src":"106:36:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Bytes.sol","file":"./Bytes.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":7244,"symbolAliases":[{"foreign":{"id":10670,"name":"Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7243,"src":"115:5:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10673,"nodeType":"ImportDirective","src":"143:40:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Storage.sol","file":"./Storage.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":10666,"symbolAliases":[{"foreign":{"id":10672,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"152:7:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10675,"nodeType":"ImportDirective","src":"184:38:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Memory.sol","file":"./Memory.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":9483,"symbolAliases":[{"foreign":{"id":10674,"name":"Memory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9482,"src":"193:6:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10678,"nodeType":"ImportDirective","src":"223:64:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/FieldLayout.sol","file":"./FieldLayout.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":8362,"symbolAliases":[{"foreign":{"id":10676,"name":"FieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7885,"src":"232:11:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10677,"name":"FieldLayoutLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8033,"src":"245:14:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10681,"nodeType":"ImportDirective","src":"288:49:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Schema.sol","file":"./Schema.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":10058,"symbolAliases":[{"foreign":{"id":10679,"name":"Schema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9581,"src":"297:6:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10680,"name":"SchemaLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9734,"src":"305:9:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10683,"nodeType":"ImportDirective","src":"338:54:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/EncodedLengths.sol","file":"./EncodedLengths.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":7873,"symbolAliases":[{"foreign":{"id":10682,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"347:14:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10686,"nodeType":"ImportDirective","src":"393:46:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Slice.sol","file":"./Slice.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":10290,"symbolAliases":[{"foreign":{"id":10684,"name":"Slice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10067,"src":"402:5:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10685,"name":"SliceLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"409:8:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10690,"nodeType":"ImportDirective","src":"440:70:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/codegen/index.sol","file":"./codegen/index.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":14570,"symbolAliases":[{"foreign":{"id":10687,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"449:6:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10688,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"457:11:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10689,"name":"StoreHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18664,"src":"470:10:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10692,"nodeType":"ImportDirective","src":"511:50:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/IStoreErrors.sol","file":"./IStoreErrors.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":8756,"symbolAliases":[{"foreign":{"id":10691,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"520:12:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10694,"nodeType":"ImportDirective","src":"562:46:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/IStoreHook.sol","file":"./IStoreHook.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":8980,"symbolAliases":[{"foreign":{"id":10693,"name":"IStoreHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8979,"src":"571:10:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10696,"nodeType":"ImportDirective","src":"609:48:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/StoreSwitch.sol","file":"./StoreSwitch.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":14559,"symbolAliases":[{"foreign":{"id":10695,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"618:11:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10699,"nodeType":"ImportDirective","src":"658:43:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Hook.sol","file":"./Hook.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":8559,"symbolAliases":[{"foreign":{"id":10697,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"667:4:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10698,"name":"HookLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8493,"src":"673:7:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10708,"nodeType":"ImportDirective","src":"702:226:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/storeHookTypes.sol","file":"./storeHookTypes.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":21700,"symbolAliases":[{"foreign":{"id":10700,"name":"BEFORE_SET_RECORD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21619,"src":"711:17:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10701,"name":"AFTER_SET_RECORD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21625,"src":"730:16:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10702,"name":"BEFORE_SPLICE_STATIC_DATA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21631,"src":"748:25:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10703,"name":"AFTER_SPLICE_STATIC_DATA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21637,"src":"775:24:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10704,"name":"BEFORE_SPLICE_DYNAMIC_DATA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21643,"src":"801:26:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10705,"name":"AFTER_SPLICE_DYNAMIC_DATA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21649,"src":"829:25:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10706,"name":"BEFORE_DELETE_RECORD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21655,"src":"856:20:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10707,"name":"AFTER_DELETE_RECORD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21661,"src":"878:19:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10711,"nodeType":"ImportDirective","src":"929:61:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"./ResourceId.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":9568,"symbolAliases":[{"foreign":{"id":10709,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"938:10:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10710,"name":"ResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9526,"src":"950:13:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10714,"nodeType":"ImportDirective","src":"991:83:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/storeResourceTypes.sol","file":"./storeResourceTypes.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":21710,"symbolAliases":[{"foreign":{"id":10712,"name":"RESOURCE_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21705,"src":"1000:14:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10713,"name":"RESOURCE_OFFCHAIN_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21709,"src":"1016:23:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10716,"nodeType":"ImportDirective","src":"1075:50:36","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/IStoreEvents.sol","file":"./IStoreEvents.sol","nameLocation":"-1:-1:-1","scope":13234,"sourceUnit":8827,"symbolAliases":[{"foreign":{"id":10715,"name":"IStoreEvents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"1084:12:36","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12701,"nodeType":"ContractDefinition","src":"1342:40712:36","nodes":[{"id":10731,"nodeType":"FunctionDefinition","src":"1751:84:36","nodes":[],"body":{"id":10730,"nodeType":"Block","src":"1782:53:36","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10726,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1824:4:36","typeDescriptions":{"typeIdentifier":"t_contract$_StoreCore_$12701","typeString":"library StoreCore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StoreCore_$12701","typeString":"library StoreCore"}],"id":10725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1816:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10724,"name":"address","nodeType":"ElementaryTypeName","src":"1816:7:36","typeDescriptions":{}}},"id":10727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:13:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10721,"name":"StoreSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14558,"src":"1788:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreSwitch_$14558_$","typeString":"type(library StoreSwitch)"}},"id":10723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1800:15:36","memberName":"setStoreAddress","nodeType":"MemberAccess","referencedDeclaration":13315,"src":"1788:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1788:42:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10729,"nodeType":"ExpressionStatement","src":"1788:42:36"}]},"documentation":{"id":10718,"nodeType":"StructuredDocumentation","src":"1364:384:36","text":" @notice Initialize the store address in StoreSwitch.\n @dev Consumers must call this function in their constructor.\n StoreSwitch uses the storeAddress to decide where to write data to.\n If StoreSwitch is called in the context of a Store contract (storeAddress == address(this)),\n StoreSwitch uses internal methods to write data instead of external calls."},"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"1760:10:36","parameters":{"id":10719,"nodeType":"ParameterList","parameters":[],"src":"1770:2:36"},"returnParameters":{"id":10720,"nodeType":"ParameterList","parameters":[],"src":"1782:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10851,"nodeType":"FunctionDefinition","src":"2062:1571:36","nodes":[],"body":{"id":10850,"nodeType":"Block","src":"2105:1528:36","nodes":[],"statements":[{"condition":{"arguments":[{"expression":{"id":10737,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"2631:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2638:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":18716,"src":"2631:15:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10735,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"2608:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2620:10:36","memberName":"_getExists","nodeType":"MemberAccess","referencedDeclaration":16560,"src":"2608:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bool_$","typeString":"function (ResourceId) view returns (bool)"}},"id":10739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2608:39:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10756,"nodeType":"IfStatement","src":"2604:164:36","trueBody":{"id":10755,"nodeType":"Block","src":"2649:119:36","statements":[{"errorCall":{"arguments":[{"expression":{"id":10743,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"2702:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2709:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":18716,"src":"2702:15:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"expression":{"id":10749,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"2743:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2750:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":18716,"src":"2743:15:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10747,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2726:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2730:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"2726:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2726:33:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2719:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10745,"name":"string","nodeType":"ElementaryTypeName","src":"2719:6:36","typeDescriptions":{}}},"id":10752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2719:41:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10740,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"2664:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":10742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2677:24:36","memberName":"Store_TableAlreadyExists","nodeType":"MemberAccess","referencedDeclaration":8671,"src":"2664:37:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_string_memory_ptr_$returns$__$","typeString":"function (ResourceId,string memory) pure"}},"id":10753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2664:97:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10754,"nodeType":"RevertStatement","src":"2657:104:36"}]}},{"condition":{"arguments":[{"expression":{"id":10759,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"2800:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2812:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":16357,"src":"2800:20:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10757,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"2777:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2789:10:36","memberName":"_getExists","nodeType":"MemberAccess","referencedDeclaration":16560,"src":"2777:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bool_$","typeString":"function (ResourceId) view returns (bool)"}},"id":10761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:44:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10778,"nodeType":"IfStatement","src":"2773:203:36","trueBody":{"id":10777,"nodeType":"Block","src":"2823:153:36","statements":[{"errorCall":{"arguments":[{"expression":{"id":10765,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"2885:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2897:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":16357,"src":"2885:20:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"expression":{"id":10771,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"2939:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2951:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":16357,"src":"2939:20:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2922:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2926:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"2922:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2922:38:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2915:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10767,"name":"string","nodeType":"ElementaryTypeName","src":"2915:6:36","typeDescriptions":{}}},"id":10774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2915:46:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10762,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"2838:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":10764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2851:24:36","memberName":"Store_TableAlreadyExists","nodeType":"MemberAccess","referencedDeclaration":8671,"src":"2838:37:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_string_memory_ptr_$returns$__$","typeString":"function (ResourceId,string memory) pure"}},"id":10775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2838:131:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10776,"nodeType":"RevertStatement","src":"2831:138:36"}]}},{"expression":{"arguments":[{"expression":{"id":10782,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"3000:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3007:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":18716,"src":"3000:15:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"expression":{"id":10784,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"3023:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3030:12:36","memberName":"_fieldLayout","nodeType":"MemberAccess","referencedDeclaration":18723,"src":"3023:19:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},{"expression":{"id":10786,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"3050:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3057:10:36","memberName":"_keySchema","nodeType":"MemberAccess","referencedDeclaration":18730,"src":"3050:17:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"expression":{"id":10788,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"3075:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3082:12:36","memberName":"_valueSchema","nodeType":"MemberAccess","referencedDeclaration":18737,"src":"3075:19:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10792,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"3113:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3120:11:36","memberName":"getKeyNames","nodeType":"MemberAccess","referencedDeclaration":18759,"src":"3113:18:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":10794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3113:20:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":10790,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3102:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3106:6:36","memberName":"encode","nodeType":"MemberAccess","src":"3102:10:36","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3102:32:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10798,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"3153:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3160:13:36","memberName":"getFieldNames","nodeType":"MemberAccess","referencedDeclaration":18805,"src":"3153:20:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":10800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3153:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":10796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3142:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3146:6:36","memberName":"encode","nodeType":"MemberAccess","src":"3142:10:36","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3142:34:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10779,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"2981:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2988:4:36","memberName":"_set","nodeType":"MemberAccess","referencedDeclaration":20988,"src":"2981:11:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_userDefinedValueType$_FieldLayout_$7885_$_t_userDefinedValueType$_Schema_$9581_$_t_userDefinedValueType$_Schema_$9581_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,FieldLayout,Schema,Schema,bytes memory,bytes memory)"}},"id":10802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2981:201:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10803,"nodeType":"ExpressionStatement","src":"2981:201:36"},{"expression":{"arguments":[{"expression":{"id":10807,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"3207:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3219:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":16357,"src":"3207:20:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"expression":{"id":10809,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"3235:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3247:12:36","memberName":"_fieldLayout","nodeType":"MemberAccess","referencedDeclaration":16364,"src":"3235:24:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},{"expression":{"id":10811,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"3267:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3279:10:36","memberName":"_keySchema","nodeType":"MemberAccess","referencedDeclaration":16371,"src":"3267:22:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"expression":{"id":10813,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"3297:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3309:12:36","memberName":"_valueSchema","nodeType":"MemberAccess","referencedDeclaration":16378,"src":"3297:24:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10817,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"3340:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3352:11:36","memberName":"getKeyNames","nodeType":"MemberAccess","referencedDeclaration":16400,"src":"3340:23:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":10819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3340:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":10815,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3329:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3333:6:36","memberName":"encode","nodeType":"MemberAccess","src":"3329:10:36","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3329:37:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10823,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"3385:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3397:13:36","memberName":"getFieldNames","nodeType":"MemberAccess","referencedDeclaration":16422,"src":"3385:25:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function () pure returns (string memory[] memory)"}},"id":10825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3385:27:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":10821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3374:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3378:6:36","memberName":"encode","nodeType":"MemberAccess","src":"3374:10:36","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3374:39:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10804,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"3188:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3195:4:36","memberName":"_set","nodeType":"MemberAccess","referencedDeclaration":20988,"src":"3188:11:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_userDefinedValueType$_FieldLayout_$7885_$_t_userDefinedValueType$_Schema_$9581_$_t_userDefinedValueType$_Schema_$9581_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,FieldLayout,Schema,Schema,bytes memory,bytes memory)"}},"id":10827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3188:231:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10828,"nodeType":"ExpressionStatement","src":"3188:231:36"},{"expression":{"arguments":[{"expression":{"id":10832,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"3448:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3455:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":18716,"src":"3448:15:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"hexValue":"74727565","id":10834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3465:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10829,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"3425:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3437:10:36","memberName":"_setExists","nodeType":"MemberAccess","referencedDeclaration":16750,"src":"3425:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_bool_$returns$__$","typeString":"function (ResourceId,bool)"}},"id":10835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3425:45:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10836,"nodeType":"ExpressionStatement","src":"3425:45:36"},{"expression":{"arguments":[{"expression":{"id":10840,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"3499:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3511:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":16357,"src":"3499:20:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"hexValue":"74727565","id":10842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3521:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10837,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"3476:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3488:10:36","memberName":"_setExists","nodeType":"MemberAccess","referencedDeclaration":16750,"src":"3476:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_bool_$returns$__$","typeString":"function (ResourceId,bool)"}},"id":10843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3476:50:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10844,"nodeType":"ExpressionStatement","src":"3476:50:36"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10845,"name":"StoreHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18664,"src":"3607:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreHooks_$18664_$","typeString":"type(library StoreHooks)"}},"id":10847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3618:8:36","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":17116,"src":"3607:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":10848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3607:21:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10849,"nodeType":"ExpressionStatement","src":"3607:21:36"}]},"documentation":{"id":10732,"nodeType":"StructuredDocumentation","src":"1839:220:36","text":" @notice Register Store protocol's internal tables in the store.\n @dev Consumers must call this function in their constructor before setting\n any table data to allow indexers to decode table events."},"implemented":true,"kind":"function","modifiers":[],"name":"registerInternalTables","nameLocation":"2071:22:36","parameters":{"id":10733,"nodeType":"ParameterList","parameters":[],"src":"2093:2:36"},"returnParameters":{"id":10734,"nodeType":"ParameterList","parameters":[],"src":"2105:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10895,"nodeType":"FunctionDefinition","src":"4015:652:36","nodes":[],"body":{"id":10894,"nodeType":"Block","src":"4095:572:36","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":10870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":10863,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10855,"src":"4336:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10861,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"4318:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":10862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4329:6:36","memberName":"unwrap","nodeType":"MemberAccess","src":"4318:17:36","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":10864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4318:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"expression":{"id":10867,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"4366:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4373:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":18716,"src":"4366:15:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10865,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"4348:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":10866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4359:6:36","memberName":"unwrap","nodeType":"MemberAccess","src":"4348:17:36","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":10869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4348:34:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4318:64:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10875,"nodeType":"IfStatement","src":"4314:111:36","trueBody":{"id":10874,"nodeType":"Block","src":"4384:41:36","statements":[{"expression":{"expression":{"id":10871,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"4399:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4406:12:36","memberName":"_fieldLayout","nodeType":"MemberAccess","referencedDeclaration":18723,"src":"4399:19:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"functionReturnParameters":10860,"id":10873,"nodeType":"Return","src":"4392:26:36"}]}},{"expression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":10882,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"4556:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4563:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":18716,"src":"4556:15:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"id":10886,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10855,"src":"4591:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10884,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"4573:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":10885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4584:6:36","memberName":"unwrap","nodeType":"MemberAccess","src":"4573:17:36","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes32_$","typeString":"function (ResourceId) pure returns (bytes32)"}},"id":10887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4573:26:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10880,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"4515:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":10881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4533:22:36","memberName":"_getStaticDataLocation","nodeType":"MemberAccess","referencedDeclaration":13112,"src":"4515:40:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32) pure returns (uint256)"}},"id":10888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4515:85:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3332","id":10889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4620:2:36","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},{"hexValue":"30","id":10890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4642:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":10878,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"4469:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":10879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4477:9:36","memberName":"loadField","nodeType":"MemberAccess","referencedDeclaration":10664,"src":"4469:17:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,uint256) view returns (bytes32)"}},"id":10891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["4499:14:36","4612:6:36","4634:6:36"],"names":["storagePointer","length","offset"],"nodeType":"FunctionCall","src":"4469:185:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10876,"name":"FieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7885,"src":"4443:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"type(FieldLayout)"}},"id":10877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4455:4:36","memberName":"wrap","nodeType":"MemberAccess","src":"4443:16:36","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (bytes32) pure returns (FieldLayout)"}},"id":10892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4443:219:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"functionReturnParameters":10860,"id":10893,"nodeType":"Return","src":"4430:232:36"}]},"documentation":{"id":10852,"nodeType":"StructuredDocumentation","src":"3816:196:36","text":" @notice Get the field layout for the given table ID.\n @param tableId The ID of the table for which to get the field layout.\n @return The field layout for the given table ID."},"implemented":true,"kind":"function","modifiers":[],"name":"getFieldLayout","nameLocation":"4024:14:36","parameters":{"id":10856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10855,"mutability":"mutable","name":"tableId","nameLocation":"4050:7:36","nodeType":"VariableDeclaration","scope":10895,"src":"4039:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":10854,"nodeType":"UserDefinedTypeName","pathNode":{"id":10853,"name":"ResourceId","nameLocations":["4039:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4039:10:36"},"referencedDeclaration":9486,"src":"4039:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"4038:20:36"},"returnParameters":{"id":10860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10859,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10895,"src":"4082:11:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":10858,"nodeType":"UserDefinedTypeName","pathNode":{"id":10857,"name":"FieldLayout","nameLocations":["4082:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"4082:11:36"},"referencedDeclaration":7885,"src":"4082:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"}],"src":"4081:13:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":10933,"nodeType":"FunctionDefinition","src":"4927:379:36","nodes":[],"body":{"id":10932,"nodeType":"Block","src":"5010:296:36","nodes":[],"statements":[{"expression":{"id":10910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10905,"name":"keySchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10903,"src":"5016:9:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":10908,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10899,"src":"5049:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10906,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"5028:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5035:13:36","memberName":"_getKeySchema","nodeType":"MemberAccess","referencedDeclaration":19131,"src":"5028:20:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (ResourceId) view returns (Schema)"}},"id":10909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5028:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"src":"5016:41:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":10911,"nodeType":"ExpressionStatement","src":"5016:41:36"},{"condition":{"id":10916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5170:32:36","subExpression":{"arguments":[{"id":10914,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10899,"src":"5194:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10912,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"5171:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":10913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5183:10:36","memberName":"_getExists","nodeType":"MemberAccess","referencedDeclaration":16560,"src":"5171:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bool_$","typeString":"function (ResourceId) view returns (bool)"}},"id":10915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5171:31:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10931,"nodeType":"IfStatement","src":"5166:136:36","trueBody":{"id":10930,"nodeType":"Block","src":"5204:98:36","statements":[{"errorCall":{"arguments":[{"id":10920,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10899,"src":"5252:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"id":10925,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10899,"src":"5285:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10923,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5268:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5272:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"5268:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5268:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5261:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10921,"name":"string","nodeType":"ElementaryTypeName","src":"5261:6:36","typeDescriptions":{}}},"id":10927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5261:33:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10917,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"5219:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":10919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5232:19:36","memberName":"Store_TableNotFound","nodeType":"MemberAccess","referencedDeclaration":8679,"src":"5219:32:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_string_memory_ptr_$returns$__$","typeString":"function (ResourceId,string memory) pure"}},"id":10928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5219:76:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10929,"nodeType":"RevertStatement","src":"5212:83:36"}]}}]},"documentation":{"id":10896,"nodeType":"StructuredDocumentation","src":"4671:253:36","text":" @notice Get the key schema for the given table ID.\n @dev Reverts if the table ID is not registered.\n @param tableId The ID of the table for which to get the key schema.\n @return keySchema The key schema for the given table ID."},"implemented":true,"kind":"function","modifiers":[],"name":"getKeySchema","nameLocation":"4936:12:36","parameters":{"id":10900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10899,"mutability":"mutable","name":"tableId","nameLocation":"4960:7:36","nodeType":"VariableDeclaration","scope":10933,"src":"4949:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":10898,"nodeType":"UserDefinedTypeName","pathNode":{"id":10897,"name":"ResourceId","nameLocations":["4949:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"4949:10:36"},"referencedDeclaration":9486,"src":"4949:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"4948:20:36"},"returnParameters":{"id":10904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10903,"mutability":"mutable","name":"keySchema","nameLocation":"4999:9:36","nodeType":"VariableDeclaration","scope":10933,"src":"4992:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},"typeName":{"id":10902,"nodeType":"UserDefinedTypeName","pathNode":{"id":10901,"name":"Schema","nameLocations":["4992:6:36"],"nodeType":"IdentifierPath","referencedDeclaration":9581,"src":"4992:6:36"},"referencedDeclaration":9581,"src":"4992:6:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"visibility":"internal"}],"src":"4991:18:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":10969,"nodeType":"FunctionDefinition","src":"5574:273:36","nodes":[],"body":{"id":10968,"nodeType":"Block","src":"5661:186:36","nodes":[],"statements":[{"expression":{"id":10948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10943,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10941,"src":"5667:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":10946,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10937,"src":"5704:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10944,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"5681:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":10945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5688:15:36","memberName":"_getValueSchema","nodeType":"MemberAccess","referencedDeclaration":19323,"src":"5681:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (ResourceId) view returns (Schema)"}},"id":10947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5681:31:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"src":"5667:45:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":10949,"nodeType":"ExpressionStatement","src":"5667:45:36"},{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10950,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10941,"src":"5722:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":10951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5734:7:36","memberName":"isEmpty","nodeType":"MemberAccess","referencedDeclaration":9895,"src":"5722:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema) pure returns (bool)"}},"id":10952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5722:21:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10967,"nodeType":"IfStatement","src":"5718:125:36","trueBody":{"id":10966,"nodeType":"Block","src":"5745:98:36","statements":[{"errorCall":{"arguments":[{"id":10956,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10937,"src":"5793:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"id":10961,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10937,"src":"5826:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":10959,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5809:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5813:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"5809:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5809:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5802:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10957,"name":"string","nodeType":"ElementaryTypeName","src":"5802:6:36","typeDescriptions":{}}},"id":10963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5802:33:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10953,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"5760:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":10955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5773:19:36","memberName":"Store_TableNotFound","nodeType":"MemberAccess","referencedDeclaration":8679,"src":"5760:32:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_string_memory_ptr_$returns$__$","typeString":"function (ResourceId,string memory) pure"}},"id":10964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5760:76:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10965,"nodeType":"RevertStatement","src":"5753:83:36"}]}}]},"documentation":{"id":10934,"nodeType":"StructuredDocumentation","src":"5310:261:36","text":" @notice Get the value schema for the given table ID.\n @dev Reverts if the table ID is not registered.\n @param tableId The ID of the table for which to get the value schema.\n @return valueSchema The value schema for the given table ID."},"implemented":true,"kind":"function","modifiers":[],"name":"getValueSchema","nameLocation":"5583:14:36","parameters":{"id":10938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10937,"mutability":"mutable","name":"tableId","nameLocation":"5609:7:36","nodeType":"VariableDeclaration","scope":10969,"src":"5598:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":10936,"nodeType":"UserDefinedTypeName","pathNode":{"id":10935,"name":"ResourceId","nameLocations":["5598:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"5598:10:36"},"referencedDeclaration":9486,"src":"5598:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"src":"5597:20:36"},"returnParameters":{"id":10942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10941,"mutability":"mutable","name":"valueSchema","nameLocation":"5648:11:36","nodeType":"VariableDeclaration","scope":10969,"src":"5641:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},"typeName":{"id":10940,"nodeType":"UserDefinedTypeName","pathNode":{"id":10939,"name":"Schema","nameLocations":["5641:6:36"],"nodeType":"IdentifierPath","referencedDeclaration":9581,"src":"5641:6:36"},"referencedDeclaration":9581,"src":"5641:6:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"visibility":"internal"}],"src":"5640:20:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11243,"nodeType":"FunctionDefinition","src":"6637:2917:36","nodes":[],"body":{"id":11242,"nodeType":"Block","src":"6834:2720:36","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":11001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":10995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10991,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10973,"src":"6924:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":10992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6932:7:36","memberName":"getType","nodeType":"MemberAccess","referencedDeclaration":9545,"src":"6924:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes2_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (bytes2)"}},"id":10993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6924:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":10994,"name":"RESOURCE_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21705,"src":"6945:14:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"6924:35:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":11000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":10996,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10973,"src":"6963:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":10997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6971:7:36","memberName":"getType","nodeType":"MemberAccess","referencedDeclaration":9545,"src":"6963:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes2_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (bytes2)"}},"id":10998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6963:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":10999,"name":"RESOURCE_OFFCHAIN_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21709,"src":"6984:23:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"6963:44:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6924:83:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11017,"nodeType":"IfStatement","src":"6920:209:36","trueBody":{"id":11016,"nodeType":"Block","src":"7009:120:36","statements":[{"errorCall":{"arguments":[{"id":11005,"name":"RESOURCE_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21705,"src":"7063:14:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":11006,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10973,"src":"7079:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"id":11011,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10973,"src":"7112:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":11009,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7095:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7099:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"7095:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":11012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7095:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7088:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":11007,"name":"string","nodeType":"ElementaryTypeName","src":"7088:6:36","typeDescriptions":{}}},"id":11013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7088:33:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11002,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"7024:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":11004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7037:25:36","memberName":"Store_InvalidResourceType","nodeType":"MemberAccess","referencedDeclaration":8689,"src":"7024:38:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes2_$_t_userDefinedValueType$_ResourceId_$9486_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes2,ResourceId,string memory) pure"}},"id":11014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7024:98:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11015,"nodeType":"RevertStatement","src":"7017:105:36"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11018,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"7175:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7187:8:36","memberName":"validate","nodeType":"MemberAccess","referencedDeclaration":8345,"src":"7175:20:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$__$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure"}},"id":11021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7175:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11022,"nodeType":"ExpressionStatement","src":"7175:22:36"},{"expression":{"arguments":[{"hexValue":"74727565","id":11026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7271:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11023,"name":"keySchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10979,"src":"7238:9:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7248:8:36","memberName":"validate","nodeType":"MemberAccess","referencedDeclaration":10041,"src":"7238:18:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema,bool) pure"}},"id":11027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["7259:10:36"],"names":["allowEmpty"],"nodeType":"FunctionCall","src":"7238:40:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11028,"nodeType":"ExpressionStatement","src":"7238:40:36"},{"expression":{"arguments":[{"hexValue":"66616c7365","id":11032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7319:5:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11029,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"7284:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7296:8:36","memberName":"validate","nodeType":"MemberAccess","referencedDeclaration":10041,"src":"7284:20:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$_t_bool_$returns$__$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema,bool) pure"}},"id":11033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["7307:10:36"],"names":["allowEmpty"],"nodeType":"FunctionCall","src":"7284:43:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11034,"nodeType":"ExpressionStatement","src":"7284:43:36"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11035,"name":"keyNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10985,"src":"7415:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":11036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7424:6:36","memberName":"length","nodeType":"MemberAccess","src":"7415:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11037,"name":"keySchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10979,"src":"7434:9:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:9:36","memberName":"numFields","nodeType":"MemberAccess","referencedDeclaration":9875,"src":"7434:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema) pure returns (uint256)"}},"id":11039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7434:21:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7415:40:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11052,"nodeType":"IfStatement","src":"7411:148:36","trueBody":{"id":11051,"nodeType":"Block","src":"7457:102:36","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11044,"name":"keySchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10979,"src":"7513:9:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7523:9:36","memberName":"numFields","nodeType":"MemberAccess","referencedDeclaration":9875,"src":"7513:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema) pure returns (uint256)"}},"id":11046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7513:21:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":11047,"name":"keyNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10985,"src":"7536:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":11048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7545:6:36","memberName":"length","nodeType":"MemberAccess","src":"7536:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11041,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"7472:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":11043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7485:27:36","memberName":"Store_InvalidKeyNamesLength","nodeType":"MemberAccess","referencedDeclaration":8717,"src":"7472:40:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":11049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7472:80:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11050,"nodeType":"RevertStatement","src":"7465:87:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11053,"name":"fieldNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10988,"src":"7609:10:36","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":11054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7620:6:36","memberName":"length","nodeType":"MemberAccess","src":"7609:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11055,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"7630:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7642:9:36","memberName":"numFields","nodeType":"MemberAccess","referencedDeclaration":8171,"src":"7630:21:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7630:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7609:44:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11070,"nodeType":"IfStatement","src":"7605:158:36","trueBody":{"id":11069,"nodeType":"Block","src":"7655:108:36","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11062,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"7713:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7725:9:36","memberName":"numFields","nodeType":"MemberAccess","referencedDeclaration":8171,"src":"7713:21:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7713:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":11065,"name":"fieldNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10988,"src":"7738:10:36","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":11066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7749:6:36","memberName":"length","nodeType":"MemberAccess","src":"7738:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11059,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"7670:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":11061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7683:29:36","memberName":"Store_InvalidFieldNamesLength","nodeType":"MemberAccess","referencedDeclaration":8724,"src":"7670:42:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":11067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7670:86:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11068,"nodeType":"RevertStatement","src":"7663:93:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11071,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"7820:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7832:9:36","memberName":"numFields","nodeType":"MemberAccess","referencedDeclaration":9875,"src":"7820:21:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema) pure returns (uint256)"}},"id":11073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7820:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11074,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"7847:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7859:9:36","memberName":"numFields","nodeType":"MemberAccess","referencedDeclaration":8171,"src":"7847:21:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7847:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7820:50:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11090,"nodeType":"IfStatement","src":"7816:171:36","trueBody":{"id":11089,"nodeType":"Block","src":"7872:115:36","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11081,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"7931:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7943:9:36","memberName":"numFields","nodeType":"MemberAccess","referencedDeclaration":8171,"src":"7931:21:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7931:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11084,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"7956:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7968:9:36","memberName":"numFields","nodeType":"MemberAccess","referencedDeclaration":9875,"src":"7956:21:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema) pure returns (uint256)"}},"id":11086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7956:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11078,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"7887:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":11080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7900:30:36","memberName":"Store_InvalidValueSchemaLength","nodeType":"MemberAccess","referencedDeclaration":8731,"src":"7887:43:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":11087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7887:93:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11088,"nodeType":"RevertStatement","src":"7880:100:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11091,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"7996:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8008:15:36","memberName":"numStaticFields","nodeType":"MemberAccess","referencedDeclaration":9815,"src":"7996:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema) pure returns (uint256)"}},"id":11093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7996:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11094,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"8029:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8041:15:36","memberName":"numStaticFields","nodeType":"MemberAccess","referencedDeclaration":8111,"src":"8029:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8029:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7996:62:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11110,"nodeType":"IfStatement","src":"7992:225:36","trueBody":{"id":11109,"nodeType":"Block","src":"8060:157:36","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11101,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"8134:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8146:15:36","memberName":"numStaticFields","nodeType":"MemberAccess","referencedDeclaration":8111,"src":"8134:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8134:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11104,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"8173:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8185:15:36","memberName":"numStaticFields","nodeType":"MemberAccess","referencedDeclaration":9815,"src":"8173:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema) pure returns (uint256)"}},"id":11106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8173:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11098,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"8075:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":11100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8088:36:36","memberName":"Store_InvalidValueSchemaStaticLength","nodeType":"MemberAccess","referencedDeclaration":8738,"src":"8075:49:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":11107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8075:135:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11108,"nodeType":"RevertStatement","src":"8068:142:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11111,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"8226:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8238:16:36","memberName":"numDynamicFields","nodeType":"MemberAccess","referencedDeclaration":9838,"src":"8226:28:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema) pure returns (uint256)"}},"id":11113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8226:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11114,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"8260:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8272:16:36","memberName":"numDynamicFields","nodeType":"MemberAccess","referencedDeclaration":8134,"src":"8260:28:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8260:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8226:64:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11130,"nodeType":"IfStatement","src":"8222:230:36","trueBody":{"id":11129,"nodeType":"Block","src":"8292:160:36","statements":[{"errorCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11121,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"8367:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8379:16:36","memberName":"numDynamicFields","nodeType":"MemberAccess","referencedDeclaration":8134,"src":"8367:28:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8367:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11124,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"8407:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8419:16:36","memberName":"numDynamicFields","nodeType":"MemberAccess","referencedDeclaration":9838,"src":"8407:28:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema) pure returns (uint256)"}},"id":11126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8407:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11118,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"8307:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":11120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8320:37:36","memberName":"Store_InvalidValueSchemaDynamicLength","nodeType":"MemberAccess","referencedDeclaration":8745,"src":"8307:50:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":11127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8307:138:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11128,"nodeType":"RevertStatement","src":"8300:145:36"}]}},{"body":{"id":11170,"nodeType":"Block","src":"8600:258:36","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":11144,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11132,"src":"8632:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11142,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"8612:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8624:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":8067,"src":"8612:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$_t_uint256_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout,uint256) pure returns (uint256)"}},"id":11145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8612:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":11148,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11132,"src":"8658:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11146,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"8638:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8650:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":9792,"src":"8638:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$_t_uint256_$returns$_t_enum$_SchemaType_$6396_$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema,uint256) pure returns (enum SchemaType)"}},"id":11149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8638:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_SchemaType_$6396","typeString":"enum SchemaType"}},"id":11150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8661:19:36","memberName":"getStaticByteLength","nodeType":"MemberAccess","referencedDeclaration":6437,"src":"8638:42:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_SchemaType_$6396_$returns$_t_uint256_$attached_to$_t_enum$_SchemaType_$6396_$","typeString":"function (enum SchemaType) pure returns (uint256)"}},"id":11151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8638:44:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8612:70:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11169,"nodeType":"IfStatement","src":"8608:244:36","trueBody":{"id":11168,"nodeType":"Block","src":"8684:168:36","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":11158,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11132,"src":"8775:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11156,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"8755:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8767:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":8067,"src":"8755:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$_t_uint256_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout,uint256) pure returns (uint256)"}},"id":11159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8755:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":11162,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11132,"src":"8809:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11160,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"8789:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"id":11161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8801:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":9792,"src":"8789:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Schema_$9581_$_t_uint256_$returns$_t_enum$_SchemaType_$6396_$attached_to$_t_userDefinedValueType$_Schema_$9581_$","typeString":"function (Schema,uint256) pure returns (enum SchemaType)"}},"id":11163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8789:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_SchemaType_$6396","typeString":"enum SchemaType"}},"id":11164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8812:19:36","memberName":"getStaticByteLength","nodeType":"MemberAccess","referencedDeclaration":6437,"src":"8789:42:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_SchemaType_$6396_$returns$_t_uint256_$attached_to$_t_enum$_SchemaType_$6396_$","typeString":"function (enum SchemaType) pure returns (uint256)"}},"id":11165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8789:44:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11153,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"8701:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":11155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8714:29:36","memberName":"Store_InvalidStaticDataLength","nodeType":"MemberAccess","referencedDeclaration":8710,"src":"8701:42:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":11166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8701:142:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11167,"nodeType":"RevertStatement","src":"8694:149:36"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11134,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11132,"src":"8560:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11135,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"8564:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8576:15:36","memberName":"numStaticFields","nodeType":"MemberAccess","referencedDeclaration":8111,"src":"8564:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8564:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8560:33:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11171,"initializationExpression":{"assignments":[11132],"declarations":[{"constant":false,"id":11132,"mutability":"mutable","name":"i","nameLocation":"8557:1:36","nodeType":"VariableDeclaration","scope":11171,"src":"8549:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11131,"name":"uint256","nodeType":"ElementaryTypeName","src":"8549:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11133,"nodeType":"VariableDeclarationStatement","src":"8549:9:36"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":11140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8595:3:36","subExpression":{"id":11139,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11132,"src":"8595:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11141,"nodeType":"ExpressionStatement","src":"8595:3:36"},"nodeType":"ForStatement","src":"8544:314:36"},{"assignments":[11174],"declarations":[{"constant":false,"id":11174,"mutability":"mutable","name":"onchainTableId","nameLocation":"8949:14:36","nodeType":"VariableDeclaration","scope":11242,"src":"8938:25:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11173,"nodeType":"UserDefinedTypeName","pathNode":{"id":11172,"name":"ResourceId","nameLocations":["8938:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"8938:10:36"},"referencedDeclaration":9486,"src":"8938:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"id":11182,"initialValue":{"arguments":[{"id":11177,"name":"RESOURCE_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21705,"src":"8987:14:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11178,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10973,"src":"9003:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":11179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9011:15:36","memberName":"getResourceName","nodeType":"MemberAccess","referencedDeclaration":9566,"src":"9003:23:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes30_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (bytes30)"}},"id":11180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9003:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":11175,"name":"ResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9526,"src":"8966:13:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIdLib_$9526_$","typeString":"type(library ResourceIdLib)"}},"id":11176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8980:6:36","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":9525,"src":"8966:20:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes30_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes2,bytes30) pure returns (ResourceId)"}},"id":11181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8966:63:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"nodeType":"VariableDeclarationStatement","src":"8938:91:36"},{"assignments":[11185],"declarations":[{"constant":false,"id":11185,"mutability":"mutable","name":"offchainTableId","nameLocation":"9046:15:36","nodeType":"VariableDeclaration","scope":11242,"src":"9035:26:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11184,"nodeType":"UserDefinedTypeName","pathNode":{"id":11183,"name":"ResourceId","nameLocations":["9035:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"9035:10:36"},"referencedDeclaration":9486,"src":"9035:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"id":11193,"initialValue":{"arguments":[{"id":11188,"name":"RESOURCE_OFFCHAIN_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21709,"src":"9085:23:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11189,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10973,"src":"9110:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":11190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9118:15:36","memberName":"getResourceName","nodeType":"MemberAccess","referencedDeclaration":9566,"src":"9110:23:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes30_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (bytes30)"}},"id":11191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9110:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":11186,"name":"ResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9526,"src":"9064:13:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIdLib_$9526_$","typeString":"type(library ResourceIdLib)"}},"id":11187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9078:6:36","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":9525,"src":"9064:20:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes30_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes2,bytes30) pure returns (ResourceId)"}},"id":11192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9064:72:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"nodeType":"VariableDeclarationStatement","src":"9035:101:36"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":11202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":11196,"name":"onchainTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11174,"src":"9169:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":11194,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"9146:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":11195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9158:10:36","memberName":"_getExists","nodeType":"MemberAccess","referencedDeclaration":16560,"src":"9146:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bool_$","typeString":"function (ResourceId) view returns (bool)"}},"id":11197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9146:38:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":11200,"name":"offchainTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11185,"src":"9211:15:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":11198,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"9188:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":11199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9200:10:36","memberName":"_getExists","nodeType":"MemberAccess","referencedDeclaration":16560,"src":"9188:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bool_$","typeString":"function (ResourceId) view returns (bool)"}},"id":11201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9188:39:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9146:81:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11217,"nodeType":"IfStatement","src":"9142:190:36","trueBody":{"id":11216,"nodeType":"Block","src":"9229:103:36","statements":[{"errorCall":{"arguments":[{"id":11206,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10973,"src":"9282:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"id":11211,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10973,"src":"9315:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":11209,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9298:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9302:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"9298:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":11212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9298:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9291:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":11207,"name":"string","nodeType":"ElementaryTypeName","src":"9291:6:36","typeDescriptions":{}}},"id":11213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9291:33:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11203,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"9244:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":11205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9257:24:36","memberName":"Store_TableAlreadyExists","nodeType":"MemberAccess","referencedDeclaration":8671,"src":"9244:37:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_string_memory_ptr_$returns$__$","typeString":"function (ResourceId,string memory) pure"}},"id":11214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9244:81:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11215,"nodeType":"RevertStatement","src":"9237:88:36"}]}},{"expression":{"arguments":[{"id":11221,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10973,"src":"9385:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11222,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"9394:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},{"id":11223,"name":"keySchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10979,"src":"9407:9:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"id":11224,"name":"valueSchema","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10982,"src":"9418:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},{"arguments":[{"id":11227,"name":"keyNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10985,"src":"9442:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":11225,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9431:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9435:6:36","memberName":"encode","nodeType":"MemberAccess","src":"9431:10:36","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":11228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9431:20:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":11231,"name":"fieldNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10988,"src":"9464:10:36","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":11229,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9453:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9457:6:36","memberName":"encode","nodeType":"MemberAccess","src":"9453:10:36","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":11232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9453:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11218,"name":"Tables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21525,"src":"9373:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Tables_$21525_$","typeString":"type(library Tables)"}},"id":11220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9380:4:36","memberName":"_set","nodeType":"MemberAccess","referencedDeclaration":20988,"src":"9373:11:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_userDefinedValueType$_FieldLayout_$7885_$_t_userDefinedValueType$_Schema_$9581_$_t_userDefinedValueType$_Schema_$9581_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,FieldLayout,Schema,Schema,bytes memory,bytes memory)"}},"id":11233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9373:103:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11234,"nodeType":"ExpressionStatement","src":"9373:103:36"},{"expression":{"arguments":[{"id":11238,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10973,"src":"9535:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"hexValue":"74727565","id":11239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9544:4:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11235,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"9512:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":11237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9524:10:36","memberName":"_setExists","nodeType":"MemberAccess","referencedDeclaration":16750,"src":"9512:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_bool_$returns$__$","typeString":"function (ResourceId,bool)"}},"id":11240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9512:37:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11241,"nodeType":"ExpressionStatement","src":"9512:37:36"}]},"documentation":{"id":10970,"nodeType":"StructuredDocumentation","src":"5851:783:36","text":" @notice Register a new table with the given configuration.\n @dev This method reverts if\n - The table ID is not of type RESOURCE_TABLE or RESOURCE_OFFCHAIN_TABLE.\n - The field layout is invalid.\n - The key schema is invalid.\n - The value schema is invalid.\n - The number of key names does not match the number of key schema types.\n - The number of field names does not match the number of field layout fields.\n @param tableId The ID of the table to register.\n @param fieldLayout The field layout of the table.\n @param keySchema The key schema of the table.\n @param valueSchema The value schema of the table.\n @param keyNames The names of the keys in the table.\n @param fieldNames The names of the fields in the table."},"implemented":true,"kind":"function","modifiers":[],"name":"registerTable","nameLocation":"6646:13:36","parameters":{"id":10989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10973,"mutability":"mutable","name":"tableId","nameLocation":"6676:7:36","nodeType":"VariableDeclaration","scope":11243,"src":"6665:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":10972,"nodeType":"UserDefinedTypeName","pathNode":{"id":10971,"name":"ResourceId","nameLocations":["6665:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"6665:10:36"},"referencedDeclaration":9486,"src":"6665:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":10976,"mutability":"mutable","name":"fieldLayout","nameLocation":"6701:11:36","nodeType":"VariableDeclaration","scope":11243,"src":"6689:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":10975,"nodeType":"UserDefinedTypeName","pathNode":{"id":10974,"name":"FieldLayout","nameLocations":["6689:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"6689:11:36"},"referencedDeclaration":7885,"src":"6689:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"},{"constant":false,"id":10979,"mutability":"mutable","name":"keySchema","nameLocation":"6725:9:36","nodeType":"VariableDeclaration","scope":11243,"src":"6718:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},"typeName":{"id":10978,"nodeType":"UserDefinedTypeName","pathNode":{"id":10977,"name":"Schema","nameLocations":["6718:6:36"],"nodeType":"IdentifierPath","referencedDeclaration":9581,"src":"6718:6:36"},"referencedDeclaration":9581,"src":"6718:6:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"visibility":"internal"},{"constant":false,"id":10982,"mutability":"mutable","name":"valueSchema","nameLocation":"6747:11:36","nodeType":"VariableDeclaration","scope":11243,"src":"6740:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"},"typeName":{"id":10981,"nodeType":"UserDefinedTypeName","pathNode":{"id":10980,"name":"Schema","nameLocations":["6740:6:36"],"nodeType":"IdentifierPath","referencedDeclaration":9581,"src":"6740:6:36"},"referencedDeclaration":9581,"src":"6740:6:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Schema_$9581","typeString":"Schema"}},"visibility":"internal"},{"constant":false,"id":10985,"mutability":"mutable","name":"keyNames","nameLocation":"6780:8:36","nodeType":"VariableDeclaration","scope":11243,"src":"6764:24:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":10983,"name":"string","nodeType":"ElementaryTypeName","src":"6764:6:36","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":10984,"nodeType":"ArrayTypeName","src":"6764:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":10988,"mutability":"mutable","name":"fieldNames","nameLocation":"6810:10:36","nodeType":"VariableDeclaration","scope":11243,"src":"6794:26:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":10986,"name":"string","nodeType":"ElementaryTypeName","src":"6794:6:36","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":10987,"nodeType":"ArrayTypeName","src":"6794:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"6659:165:36"},"returnParameters":{"id":10990,"nodeType":"ParameterList","parameters":[],"src":"6834:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11314,"nodeType":"FunctionDefinition","src":"10156:624:36","nodes":[],"body":{"id":11313,"nodeType":"Block","src":"10262:518:36","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":11259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11255,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11247,"src":"10340:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":11256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10348:7:36","memberName":"getType","nodeType":"MemberAccess","referencedDeclaration":9545,"src":"10340:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes2_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (bytes2)"}},"id":11257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10340:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":11258,"name":"RESOURCE_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21705,"src":"10361:14:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"10340:35:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11275,"nodeType":"IfStatement","src":"10336:161:36","trueBody":{"id":11274,"nodeType":"Block","src":"10377:120:36","statements":[{"errorCall":{"arguments":[{"id":11263,"name":"RESOURCE_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21705,"src":"10431:14:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":11264,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11247,"src":"10447:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"id":11269,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11247,"src":"10480:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":11267,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10463:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10467:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"10463:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":11270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10463:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10456:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":11265,"name":"string","nodeType":"ElementaryTypeName","src":"10456:6:36","typeDescriptions":{}}},"id":11271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10456:33:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11260,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"10392:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":11262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10405:25:36","memberName":"Store_InvalidResourceType","nodeType":"MemberAccess","referencedDeclaration":8689,"src":"10392:38:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes2_$_t_userDefinedValueType$_ResourceId_$9486_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes2,ResourceId,string memory) pure"}},"id":11272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10392:98:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11273,"nodeType":"RevertStatement","src":"10385:105:36"}]}},{"condition":{"id":11280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10541:32:36","subExpression":{"arguments":[{"id":11278,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11247,"src":"10565:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":11276,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16989,"src":"10542:11:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$16989_$","typeString":"type(library ResourceIds)"}},"id":11277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10554:10:36","memberName":"_getExists","nodeType":"MemberAccess","referencedDeclaration":16560,"src":"10542:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bool_$","typeString":"function (ResourceId) view returns (bool)"}},"id":11279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10542:31:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11295,"nodeType":"IfStatement","src":"10537:136:36","trueBody":{"id":11294,"nodeType":"Block","src":"10575:98:36","statements":[{"errorCall":{"arguments":[{"id":11284,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11247,"src":"10623:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"id":11289,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11247,"src":"10656:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":11287,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10639:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10643:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"10639:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":11290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10639:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10632:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":11285,"name":"string","nodeType":"ElementaryTypeName","src":"10632:6:36","typeDescriptions":{}}},"id":11291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10632:33:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11281,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"10590:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":11283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10603:19:36","memberName":"Store_TableNotFound","nodeType":"MemberAccess","referencedDeclaration":8679,"src":"10590:32:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_string_memory_ptr_$returns$__$","typeString":"function (ResourceId,string memory) pure"}},"id":11292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10590:76:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11293,"nodeType":"RevertStatement","src":"10583:83:36"}]}},{"expression":{"arguments":[{"id":11299,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11247,"src":"10696:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"arguments":[{"id":11306,"name":"hookAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11250,"src":"10740:11:36","typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}],"id":11305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10732:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11304,"name":"address","nodeType":"ElementaryTypeName","src":"10732:7:36","typeDescriptions":{}}},"id":11307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10732:20:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11308,"name":"enabledHooksBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11252,"src":"10754:18:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":11302,"name":"HookLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8493,"src":"10717:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HookLib_$8493_$","typeString":"type(library HookLib)"}},"id":11303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10725:6:36","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":8405,"src":"10717:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint8_$returns$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (address,uint8) pure returns (Hook)"}},"id":11309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10717:56:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}],"expression":{"id":11300,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"10705:4:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hook_$8369_$","typeString":"type(Hook)"}},"id":11301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10710:6:36","memberName":"unwrap","nodeType":"MemberAccess","src":"10705:11:36","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_Hook_$8369_$returns$_t_bytes21_$","typeString":"function (Hook) pure returns (bytes21)"}},"id":11310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10705:69:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":11296,"name":"StoreHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18664,"src":"10679:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreHooks_$18664_$","typeString":"type(library StoreHooks)"}},"id":11298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10690:5:36","memberName":"_push","nodeType":"MemberAccess","referencedDeclaration":18090,"src":"10679:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_bytes21_$returns$__$","typeString":"function (ResourceId,bytes21)"}},"id":11311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10679:96:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11312,"nodeType":"ExpressionStatement","src":"10679:96:36"}]},"documentation":{"id":11244,"nodeType":"StructuredDocumentation","src":"9745:408:36","text":" @notice Register hooks to be called when a record or field is set or deleted.\n @dev This method reverts for all resource IDs other than tables.\n Hooks are not supported for offchain tables.\n @param tableId The ID of the table to register the hook for.\n @param hookAddress The address of the hook contract to register.\n @param enabledHooksBitmap The bitmap of enabled hooks."},"implemented":true,"kind":"function","modifiers":[],"name":"registerStoreHook","nameLocation":"10165:17:36","parameters":{"id":11253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11247,"mutability":"mutable","name":"tableId","nameLocation":"10194:7:36","nodeType":"VariableDeclaration","scope":11314,"src":"10183:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11246,"nodeType":"UserDefinedTypeName","pathNode":{"id":11245,"name":"ResourceId","nameLocations":["10183:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"10183:10:36"},"referencedDeclaration":9486,"src":"10183:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11250,"mutability":"mutable","name":"hookAddress","nameLocation":"10214:11:36","nodeType":"VariableDeclaration","scope":11314,"src":"10203:22:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"},"typeName":{"id":11249,"nodeType":"UserDefinedTypeName","pathNode":{"id":11248,"name":"IStoreHook","nameLocations":["10203:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":8979,"src":"10203:10:36"},"referencedDeclaration":8979,"src":"10203:10:36","typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}},"visibility":"internal"},{"constant":false,"id":11252,"mutability":"mutable","name":"enabledHooksBitmap","nameLocation":"10233:18:36","nodeType":"VariableDeclaration","scope":11314,"src":"10227:24:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11251,"name":"uint8","nodeType":"ElementaryTypeName","src":"10227:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"10182:70:36"},"returnParameters":{"id":11254,"nodeType":"ParameterList","parameters":[],"src":"10262:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11337,"nodeType":"FunctionDefinition","src":"10984:172:36","nodes":[],"body":{"id":11336,"nodeType":"Block","src":"11066:90:36","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":11327,"name":"StoreHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18664,"src":"11100:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreHooks_$18664_$","typeString":"type(library StoreHooks)"}},"id":11328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11111:8:36","memberName":"_tableId","nodeType":"MemberAccess","referencedDeclaration":17033,"src":"11100:19:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11329,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11318,"src":"11121:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"id":11332,"name":"hookAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11321,"src":"11138:11:36","typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}],"id":11331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11130:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11330,"name":"address","nodeType":"ElementaryTypeName","src":"11130:7:36","typeDescriptions":{}}},"id":11333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11130:20:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11324,"name":"HookLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8493,"src":"11072:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HookLib_$8493_$","typeString":"type(library HookLib)"}},"id":11326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11080:19:36","memberName":"filterListByAddress","nodeType":"MemberAccess","referencedDeclaration":8492,"src":"11072:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$returns$__$","typeString":"function (ResourceId,ResourceId,address)"}},"id":11334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11072:79:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11335,"nodeType":"ExpressionStatement","src":"11072:79:36"}]},"documentation":{"id":11315,"nodeType":"StructuredDocumentation","src":"10784:197:36","text":" @notice Unregister a hook from the given table ID.\n @param tableId The ID of the table to unregister the hook from.\n @param hookAddress The address of the hook to unregister."},"implemented":true,"kind":"function","modifiers":[],"name":"unregisterStoreHook","nameLocation":"10993:19:36","parameters":{"id":11322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11318,"mutability":"mutable","name":"tableId","nameLocation":"11024:7:36","nodeType":"VariableDeclaration","scope":11337,"src":"11013:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11317,"nodeType":"UserDefinedTypeName","pathNode":{"id":11316,"name":"ResourceId","nameLocations":["11013:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"11013:10:36"},"referencedDeclaration":9486,"src":"11013:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11321,"mutability":"mutable","name":"hookAddress","nameLocation":"11044:11:36","nodeType":"VariableDeclaration","scope":11337,"src":"11033:22:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"},"typeName":{"id":11320,"nodeType":"UserDefinedTypeName","pathNode":{"id":11319,"name":"IStoreHook","nameLocations":["11033:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":8979,"src":"11033:10:36"},"referencedDeclaration":8979,"src":"11033:10:36","typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}},"visibility":"internal"}],"src":"11012:44:36"},"returnParameters":{"id":11323,"nodeType":"ParameterList","parameters":[],"src":"11066:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11366,"nodeType":"FunctionDefinition","src":"12066:286:36","nodes":[],"body":{"id":11365,"nodeType":"Block","src":"12247:105:36","nodes":[],"statements":[{"expression":{"arguments":[{"id":11355,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11341,"src":"12263:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11356,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11344,"src":"12272:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11357,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11346,"src":"12282:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11358,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11349,"src":"12294:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":11359,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11351,"src":"12310:11:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":11361,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11341,"src":"12338:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"id":11360,"name":"getFieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10895,"src":"12323:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (ResourceId) view returns (FieldLayout)"}},"id":11362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12323:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"id":11354,"name":"setRecord","nodeType":"Identifier","overloadedDeclarations":[11366,11614],"referencedDeclaration":11614,"src":"12253:9:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,bytes memory,EncodedLengths,bytes memory,FieldLayout)"}},"id":11363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12253:94:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11364,"nodeType":"ExpressionStatement","src":"12253:94:36"}]},"documentation":{"id":11338,"nodeType":"StructuredDocumentation","src":"11341:722:36","text":" @notice Set a full record for the given table ID and key tuple.\n @dev Calling this method emits a Store_SetRecord event.\n This method internally calls another overload of setRecord by fetching the field layout for the given table ID.\n If the field layout is available to the caller, it is recommended to use the other overload to avoid an additional storage read.\n @param tableId The ID of the table to set the record for.\n @param keyTuple An array representing the composite key for the record.\n @param staticData The static data of the record.\n @param encodedLengths The encoded lengths of the dynamic data of the record.\n @param dynamicData The dynamic data of the record."},"implemented":true,"kind":"function","modifiers":[],"name":"setRecord","nameLocation":"12075:9:36","parameters":{"id":11352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11341,"mutability":"mutable","name":"tableId","nameLocation":"12101:7:36","nodeType":"VariableDeclaration","scope":11366,"src":"12090:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11340,"nodeType":"UserDefinedTypeName","pathNode":{"id":11339,"name":"ResourceId","nameLocations":["12090:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"12090:10:36"},"referencedDeclaration":9486,"src":"12090:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11344,"mutability":"mutable","name":"keyTuple","nameLocation":"12131:8:36","nodeType":"VariableDeclaration","scope":11366,"src":"12114:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12114:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11343,"nodeType":"ArrayTypeName","src":"12114:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11346,"mutability":"mutable","name":"staticData","nameLocation":"12158:10:36","nodeType":"VariableDeclaration","scope":11366,"src":"12145:23:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11345,"name":"bytes","nodeType":"ElementaryTypeName","src":"12145:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11349,"mutability":"mutable","name":"encodedLengths","nameLocation":"12189:14:36","nodeType":"VariableDeclaration","scope":11366,"src":"12174:29:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":11348,"nodeType":"UserDefinedTypeName","pathNode":{"id":11347,"name":"EncodedLengths","nameLocations":["12174:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"12174:14:36"},"referencedDeclaration":7251,"src":"12174:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"},{"constant":false,"id":11351,"mutability":"mutable","name":"dynamicData","nameLocation":"12222:11:36","nodeType":"VariableDeclaration","scope":11366,"src":"12209:24:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11350,"name":"bytes","nodeType":"ElementaryTypeName","src":"12209:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12084:153:36"},"returnParameters":{"id":11353,"nodeType":"ParameterList","parameters":[],"src":"12247:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11614,"nodeType":"FunctionDefinition","src":"13212:3165:36","nodes":[],"body":{"id":11613,"nodeType":"Block","src":"13422:2955:36","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":11390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11386,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11370,"src":"13486:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":11387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13494:7:36","memberName":"getType","nodeType":"MemberAccess","referencedDeclaration":9545,"src":"13486:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes2_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (bytes2)"}},"id":11388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13486:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":11389,"name":"RESOURCE_OFFCHAIN_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21709,"src":"13507:23:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"13486:44:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11403,"nodeType":"IfStatement","src":"13482:211:36","trueBody":{"id":11402,"nodeType":"Block","src":"13532:161:36","statements":[{"eventCall":{"arguments":[{"id":11394,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11370,"src":"13613:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11395,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11373,"src":"13622:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11396,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11375,"src":"13632:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11397,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11378,"src":"13644:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":11398,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11380,"src":"13660:11:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11391,"name":"IStoreEvents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"13584:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreEvents_$8826_$","typeString":"type(contract IStoreEvents)"}},"id":11393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13597:15:36","memberName":"Store_SetRecord","nodeType":"MemberAccess","referencedDeclaration":8783,"src":"13584:28:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,bytes memory,EncodedLengths,bytes memory)"}},"id":11399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13584:88:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11400,"nodeType":"EmitStatement","src":"13579:93:36"},{"functionReturnParameters":11385,"id":11401,"nodeType":"Return","src":"13680:7:36"}]}},{"assignments":[11408],"declarations":[{"constant":false,"id":11408,"mutability":"mutable","name":"hooks","nameLocation":"13848:5:36","nodeType":"VariableDeclaration","scope":11613,"src":"13831:22:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":11406,"name":"bytes21","nodeType":"ElementaryTypeName","src":"13831:7:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":11407,"nodeType":"ArrayTypeName","src":"13831:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"id":11413,"initialValue":{"arguments":[{"id":11411,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11370,"src":"13872:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":11409,"name":"StoreHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18664,"src":"13856:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreHooks_$18664_$","typeString":"type(library StoreHooks)"}},"id":11410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13867:4:36","memberName":"_get","nodeType":"MemberAccess","referencedDeclaration":17338,"src":"13856:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_array$_t_bytes21_$dyn_memory_ptr_$","typeString":"function (ResourceId) view returns (bytes21[] memory)"}},"id":11412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13856:24:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13831:49:36"},{"body":{"id":11454,"nodeType":"Block","src":"13925:301:36","statements":[{"assignments":[11426],"declarations":[{"constant":false,"id":11426,"mutability":"mutable","name":"hook","nameLocation":"13938:4:36","nodeType":"VariableDeclaration","scope":11454,"src":"13933:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"},"typeName":{"id":11425,"nodeType":"UserDefinedTypeName","pathNode":{"id":11424,"name":"Hook","nameLocations":["13933:4:36"],"nodeType":"IdentifierPath","referencedDeclaration":8369,"src":"13933:4:36"},"referencedDeclaration":8369,"src":"13933:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"visibility":"internal"}],"id":11433,"initialValue":{"arguments":[{"baseExpression":{"id":11429,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11408,"src":"13955:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":11431,"indexExpression":{"id":11430,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11415,"src":"13961:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13955:8:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":11427,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"13945:4:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hook_$8369_$","typeString":"type(Hook)"}},"id":11428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13950:4:36","memberName":"wrap","nodeType":"MemberAccess","src":"13945:9:36","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes21_$returns$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (bytes21) pure returns (Hook)"}},"id":11432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13945:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"nodeType":"VariableDeclarationStatement","src":"13933:31:36"},{"condition":{"arguments":[{"id":11436,"name":"BEFORE_SET_RECORD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21619,"src":"13991:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":11434,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11426,"src":"13976:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":11435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13981:9:36","memberName":"isEnabled","nodeType":"MemberAccess","referencedDeclaration":8515,"src":"13976:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$_t_uint8_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook,uint8) pure returns (bool)"}},"id":11437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13976:33:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11453,"nodeType":"IfStatement","src":"13972:248:36","trueBody":{"id":11452,"nodeType":"Block","src":"14011:209:36","statements":[{"expression":{"arguments":[{"id":11444,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11370,"src":"14080:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11445,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11373,"src":"14099:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11446,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11375,"src":"14119:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11447,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11378,"src":"14141:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":11448,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11380,"src":"14167:11:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11449,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11383,"src":"14190:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11439,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11426,"src":"14032:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":11440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14037:10:36","memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":8536,"src":"14032:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$returns$_t_address_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook) pure returns (address)"}},"id":11441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14032:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11438,"name":"IStoreHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8979,"src":"14021:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreHook_$8979_$","typeString":"type(contract IStoreHook)"}},"id":11442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14021:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}},"id":11443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14051:17:36","memberName":"onBeforeSetRecord","nodeType":"MemberAccess","referencedDeclaration":8862,"src":"14021:47:36","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,bytes memory,EncodedLengths,bytes memory,FieldLayout) external"}},"id":11450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14021:190:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11451,"nodeType":"ExpressionStatement","src":"14021:190:36"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11417,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11415,"src":"13902:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":11418,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11408,"src":"13906:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":11419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13912:6:36","memberName":"length","nodeType":"MemberAccess","src":"13906:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13902:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11455,"initializationExpression":{"assignments":[11415],"declarations":[{"constant":false,"id":11415,"mutability":"mutable","name":"i","nameLocation":"13899:1:36","nodeType":"VariableDeclaration","scope":11455,"src":"13891:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11414,"name":"uint256","nodeType":"ElementaryTypeName","src":"13891:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11416,"nodeType":"VariableDeclarationStatement","src":"13891:9:36"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":11422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13920:3:36","subExpression":{"id":11421,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11415,"src":"13920:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11423,"nodeType":"ExpressionStatement","src":"13920:3:36"},"nodeType":"ForStatement","src":"13886:340:36"},{"eventCall":{"arguments":[{"id":11459,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11370,"src":"14303:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11460,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11373,"src":"14312:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11461,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11375,"src":"14322:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11462,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11378,"src":"14334:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":11463,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11380,"src":"14350:11:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11456,"name":"IStoreEvents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"14274:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreEvents_$8826_$","typeString":"type(contract IStoreEvents)"}},"id":11458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14287:15:36","memberName":"Store_SetRecord","nodeType":"MemberAccess","referencedDeclaration":8783,"src":"14274:28:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,bytes memory,EncodedLengths,bytes memory)"}},"id":11464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14274:88:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11465,"nodeType":"EmitStatement","src":"14269:93:36"},{"assignments":[11467],"declarations":[{"constant":false,"id":11467,"mutability":"mutable","name":"staticDataLocation","nameLocation":"14434:18:36","nodeType":"VariableDeclaration","scope":11613,"src":"14426:26:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11466,"name":"uint256","nodeType":"ElementaryTypeName","src":"14426:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11473,"initialValue":{"arguments":[{"id":11470,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11370,"src":"14496:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11471,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11373,"src":"14505:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":11468,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"14455:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":11469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14473:22:36","memberName":"_getStaticDataLocation","nodeType":"MemberAccess","referencedDeclaration":13087,"src":"14455:40:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory) pure returns (uint256)"}},"id":11472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14455:59:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14426:88:36"},{"assignments":[11475],"declarations":[{"constant":false,"id":11475,"mutability":"mutable","name":"memoryPointer","nameLocation":"14528:13:36","nodeType":"VariableDeclaration","scope":11613,"src":"14520:21:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11474,"name":"uint256","nodeType":"ElementaryTypeName","src":"14520:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11480,"initialValue":{"arguments":[{"id":11478,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11375,"src":"14563:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11476,"name":"Memory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9482,"src":"14544:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Memory_$9482_$","typeString":"type(library Memory)"}},"id":11477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14551:11:36","memberName":"dataPointer","nodeType":"MemberAccess","referencedDeclaration":9439,"src":"14544:18:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":11479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14544:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14520:54:36"},{"expression":{"arguments":[{"id":11484,"name":"staticDataLocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11467,"src":"14618:18:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":11485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14652:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":11486,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11375,"src":"14669:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14680:6:36","memberName":"length","nodeType":"MemberAccess","src":"14669:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11488,"name":"memoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11475,"src":"14709:13:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11481,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"14580:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":11483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14588:5:36","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":10436,"src":"14580:13:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256)"}},"id":11489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["14602:14:36","14644:6:36","14661:6:36","14694:13:36"],"names":["storagePointer","offset","length","memoryPointer"],"nodeType":"FunctionCall","src":"14580:149:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11490,"nodeType":"ExpressionStatement","src":"14580:149:36"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11491,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11383,"src":"14796:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14808:16:36","memberName":"numDynamicFields","nodeType":"MemberAccess","referencedDeclaration":8134,"src":"14796:28:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14796:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":11494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14829:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14796:34:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11570,"nodeType":"IfStatement","src":"14792:1174:36","trueBody":{"id":11569,"nodeType":"Block","src":"14832:1134:36","statements":[{"assignments":[11497],"declarations":[{"constant":false,"id":11497,"mutability":"mutable","name":"dynamicDataLengthLocation","nameLocation":"14923:25:36","nodeType":"VariableDeclaration","scope":11569,"src":"14915:33:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11496,"name":"uint256","nodeType":"ElementaryTypeName","src":"14915:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11503,"initialValue":{"arguments":[{"id":11500,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11370,"src":"14999:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11501,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11373,"src":"15008:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":11498,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"14951:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":11499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14969:29:36","memberName":"_getDynamicDataLengthLocation","nodeType":"MemberAccess","referencedDeclaration":13207,"src":"14951:47:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory) pure returns (uint256)"}},"id":11502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14951:66:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14915:102:36"},{"expression":{"arguments":[{"id":11507,"name":"dynamicDataLengthLocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11497,"src":"15057:25:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11508,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11378,"src":"15090:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":11509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15105:6:36","memberName":"unwrap","nodeType":"MemberAccess","referencedDeclaration":7871,"src":"15090:21:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$_t_bytes32_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths) pure returns (bytes32)"}},"id":11510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15090:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11504,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"15025:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":11506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15033:5:36","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":10308,"src":"15025:13:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,bytes32)"}},"id":11511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["15041:14:36","15084:4:36"],"names":["storagePointer","data"],"nodeType":"FunctionCall","src":"15025:91:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11512,"nodeType":"ExpressionStatement","src":"15025:91:36"},{"expression":{"id":11518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11513,"name":"memoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11475,"src":"15191:13:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11516,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11380,"src":"15226:11:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11514,"name":"Memory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9482,"src":"15207:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Memory_$9482_$","typeString":"type(library Memory)"}},"id":11515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15214:11:36","memberName":"dataPointer","nodeType":"MemberAccess","referencedDeclaration":9439,"src":"15207:18:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":11517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15207:31:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15191:47:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11519,"nodeType":"ExpressionStatement","src":"15191:47:36"},{"assignments":[11521],"declarations":[{"constant":false,"id":11521,"mutability":"mutable","name":"dynamicDataLocation","nameLocation":"15355:19:36","nodeType":"VariableDeclaration","scope":11569,"src":"15347:27:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11520,"name":"uint256","nodeType":"ElementaryTypeName","src":"15347:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11522,"nodeType":"VariableDeclarationStatement","src":"15347:27:36"},{"assignments":[11524],"declarations":[{"constant":false,"id":11524,"mutability":"mutable","name":"dynamicDataLength","nameLocation":"15390:17:36","nodeType":"VariableDeclaration","scope":11569,"src":"15382:25:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11523,"name":"uint256","nodeType":"ElementaryTypeName","src":"15382:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11525,"nodeType":"VariableDeclarationStatement","src":"15382:25:36"},{"body":{"id":11567,"nodeType":"Block","src":"15467:493:36","statements":[{"expression":{"id":11541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11534,"name":"dynamicDataLocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11521,"src":"15477:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11537,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11370,"src":"15541:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11538,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11373,"src":"15550:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11539,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11527,"src":"15560:1:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":11535,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"15499:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":11536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15517:23:36","memberName":"_getDynamicDataLocation","nodeType":"MemberAccess","referencedDeclaration":13181,"src":"15499:41:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory,uint8) pure returns (uint256)"}},"id":11540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15499:63:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15477:85:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11542,"nodeType":"ExpressionStatement","src":"15477:85:36"},{"expression":{"id":11548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11543,"name":"dynamicDataLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11524,"src":"15572:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11546,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11527,"src":"15615:1:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":11544,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11378,"src":"15592:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":11545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15607:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":7722,"src":"15592:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths,uint8) pure returns (uint256)"}},"id":11547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15592:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15572:45:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11549,"nodeType":"ExpressionStatement","src":"15572:45:36"},{"expression":{"arguments":[{"id":11553,"name":"dynamicDataLocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11521,"src":"15669:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":11554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15708:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":11555,"name":"dynamicDataLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11524,"src":"15729:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11556,"name":"memoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11475,"src":"15773:13:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11550,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"15627:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":11552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15635:5:36","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":10436,"src":"15627:13:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256)"}},"id":11557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["15653:14:36","15700:6:36","15721:6:36","15758:13:36"],"names":["storagePointer","offset","length","memoryPointer"],"nodeType":"FunctionCall","src":"15627:170:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11558,"nodeType":"ExpressionStatement","src":"15627:170:36"},{"expression":{"id":11561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11559,"name":"memoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11475,"src":"15807:13:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":11560,"name":"dynamicDataLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11524,"src":"15824:17:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15807:34:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11562,"nodeType":"ExpressionStatement","src":"15807:34:36"},{"id":11566,"nodeType":"UncheckedBlock","src":"15916:36:36","statements":[{"expression":{"id":11564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15938:3:36","subExpression":{"id":11563,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11527,"src":"15938:1:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":11565,"nodeType":"ExpressionStatement","src":"15938:3:36"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11529,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11527,"src":"15429:1:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11530,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11383,"src":"15433:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15445:16:36","memberName":"numDynamicFields","nodeType":"MemberAccess","referencedDeclaration":8134,"src":"15433:28:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15433:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15429:34:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11568,"initializationExpression":{"assignments":[11527],"declarations":[{"constant":false,"id":11527,"mutability":"mutable","name":"i","nameLocation":"15426:1:36","nodeType":"VariableDeclaration","scope":11568,"src":"15420:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11526,"name":"uint8","nodeType":"ElementaryTypeName","src":"15420:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":11528,"nodeType":"VariableDeclarationStatement","src":"15420:7:36"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"15415:545:36"}]}},{"body":{"id":11611,"nodeType":"Block","src":"16074:299:36","statements":[{"assignments":[11583],"declarations":[{"constant":false,"id":11583,"mutability":"mutable","name":"hook","nameLocation":"16087:4:36","nodeType":"VariableDeclaration","scope":11611,"src":"16082:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"},"typeName":{"id":11582,"nodeType":"UserDefinedTypeName","pathNode":{"id":11581,"name":"Hook","nameLocations":["16082:4:36"],"nodeType":"IdentifierPath","referencedDeclaration":8369,"src":"16082:4:36"},"referencedDeclaration":8369,"src":"16082:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"visibility":"internal"}],"id":11590,"initialValue":{"arguments":[{"baseExpression":{"id":11586,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11408,"src":"16104:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":11588,"indexExpression":{"id":11587,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11572,"src":"16110:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16104:8:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":11584,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"16094:4:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hook_$8369_$","typeString":"type(Hook)"}},"id":11585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16099:4:36","memberName":"wrap","nodeType":"MemberAccess","src":"16094:9:36","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes21_$returns$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (bytes21) pure returns (Hook)"}},"id":11589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16094:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"nodeType":"VariableDeclarationStatement","src":"16082:31:36"},{"condition":{"arguments":[{"id":11593,"name":"AFTER_SET_RECORD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21625,"src":"16140:16:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":11591,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11583,"src":"16125:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":11592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16130:9:36","memberName":"isEnabled","nodeType":"MemberAccess","referencedDeclaration":8515,"src":"16125:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$_t_uint8_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook,uint8) pure returns (bool)"}},"id":11594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16125:32:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11610,"nodeType":"IfStatement","src":"16121:246:36","trueBody":{"id":11609,"nodeType":"Block","src":"16159:208:36","statements":[{"expression":{"arguments":[{"id":11601,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11370,"src":"16227:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11602,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11373,"src":"16246:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11603,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11375,"src":"16266:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11604,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11378,"src":"16288:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":11605,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11380,"src":"16314:11:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11606,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11383,"src":"16337:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11596,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11583,"src":"16180:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":11597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16185:10:36","memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":8536,"src":"16180:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$returns$_t_address_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook) pure returns (address)"}},"id":11598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16180:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11595,"name":"IStoreHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8979,"src":"16169:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreHook_$8979_$","typeString":"type(contract IStoreHook)"}},"id":11599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16169:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}},"id":11600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16199:16:36","memberName":"onAfterSetRecord","nodeType":"MemberAccess","referencedDeclaration":8882,"src":"16169:46:36","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,bytes memory,EncodedLengths,bytes memory,FieldLayout) external"}},"id":11607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16169:189:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11608,"nodeType":"ExpressionStatement","src":"16169:189:36"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11574,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11572,"src":"16051:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":11575,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11408,"src":"16055:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":11576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16061:6:36","memberName":"length","nodeType":"MemberAccess","src":"16055:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16051:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11612,"initializationExpression":{"assignments":[11572],"declarations":[{"constant":false,"id":11572,"mutability":"mutable","name":"i","nameLocation":"16048:1:36","nodeType":"VariableDeclaration","scope":11612,"src":"16040:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11571,"name":"uint256","nodeType":"ElementaryTypeName","src":"16040:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11573,"nodeType":"VariableDeclarationStatement","src":"16040:9:36"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":11579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16069:3:36","subExpression":{"id":11578,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11572,"src":"16069:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11580,"nodeType":"ExpressionStatement","src":"16069:3:36"},"nodeType":"ForStatement","src":"16035:338:36"}]},"documentation":{"id":11367,"nodeType":"StructuredDocumentation","src":"12356:853:36","text":" @notice Set a full data record for the given table ID, key tuple, and field layout.\n @dev For onchain tables, the method emits a `Store_SetRecord` event, updates the data in storage,\n calls `onBeforeSetRecord` hooks before actually modifying the state, and calls `onAfterSetRecord`\n hooks after modifying the state. For offchain tables, the method returns early after emitting the\n event without calling hooks or modifying the state.\n @param tableId The ID of the table to set the record for.\n @param keyTuple An array representing the composite key for the record.\n @param staticData The static data of the record.\n @param encodedLengths The encoded lengths of the dynamic data of the record.\n @param dynamicData The dynamic data of the record.\n @param fieldLayout The field layout for the record."},"implemented":true,"kind":"function","modifiers":[],"name":"setRecord","nameLocation":"13221:9:36","parameters":{"id":11384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11370,"mutability":"mutable","name":"tableId","nameLocation":"13247:7:36","nodeType":"VariableDeclaration","scope":11614,"src":"13236:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11369,"nodeType":"UserDefinedTypeName","pathNode":{"id":11368,"name":"ResourceId","nameLocations":["13236:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"13236:10:36"},"referencedDeclaration":9486,"src":"13236:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11373,"mutability":"mutable","name":"keyTuple","nameLocation":"13277:8:36","nodeType":"VariableDeclaration","scope":11614,"src":"13260:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13260:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11372,"nodeType":"ArrayTypeName","src":"13260:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11375,"mutability":"mutable","name":"staticData","nameLocation":"13304:10:36","nodeType":"VariableDeclaration","scope":11614,"src":"13291:23:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11374,"name":"bytes","nodeType":"ElementaryTypeName","src":"13291:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11378,"mutability":"mutable","name":"encodedLengths","nameLocation":"13335:14:36","nodeType":"VariableDeclaration","scope":11614,"src":"13320:29:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":11377,"nodeType":"UserDefinedTypeName","pathNode":{"id":11376,"name":"EncodedLengths","nameLocations":["13320:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"13320:14:36"},"referencedDeclaration":7251,"src":"13320:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"},{"constant":false,"id":11380,"mutability":"mutable","name":"dynamicData","nameLocation":"13368:11:36","nodeType":"VariableDeclaration","scope":11614,"src":"13355:24:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11379,"name":"bytes","nodeType":"ElementaryTypeName","src":"13355:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11383,"mutability":"mutable","name":"fieldLayout","nameLocation":"13397:11:36","nodeType":"VariableDeclaration","scope":11614,"src":"13385:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":11382,"nodeType":"UserDefinedTypeName","pathNode":{"id":11381,"name":"FieldLayout","nameLocations":["13385:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"13385:11:36"},"referencedDeclaration":7885,"src":"13385:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"}],"src":"13230:182:36"},"returnParameters":{"id":11385,"nodeType":"ParameterList","parameters":[],"src":"13422:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11761,"nodeType":"FunctionDefinition","src":"17013:1682:36","nodes":[],"body":{"id":11760,"nodeType":"Block","src":"17128:1567:36","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":11632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11628,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11618,"src":"17192:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":11629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17200:7:36","memberName":"getType","nodeType":"MemberAccess","referencedDeclaration":9545,"src":"17192:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes2_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (bytes2)"}},"id":11630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17192:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":11631,"name":"RESOURCE_OFFCHAIN_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21709,"src":"17213:23:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"17192:44:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11644,"nodeType":"IfStatement","src":"17188:235:36","trueBody":{"id":11643,"nodeType":"Block","src":"17238:185:36","statements":[{"eventCall":{"arguments":[{"id":11636,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11618,"src":"17346:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11637,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11621,"src":"17365:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11638,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11623,"src":"17382:5:36","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":11639,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11625,"src":"17395:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11633,"name":"IStoreEvents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"17299:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreEvents_$8826_$","typeString":"type(contract IStoreEvents)"}},"id":11635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17312:22:36","memberName":"Store_SpliceStaticData","nodeType":"MemberAccess","referencedDeclaration":8796,"src":"17299:35:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint48_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint48,bytes memory)"}},"id":11640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["17337:7:36","17355:8:36","17375:5:36","17389:4:36"],"names":["tableId","keyTuple","start","data"],"nodeType":"FunctionCall","src":"17299:103:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11641,"nodeType":"EmitStatement","src":"17294:108:36"},{"functionReturnParameters":11627,"id":11642,"nodeType":"Return","src":"17410:7:36"}]}},{"assignments":[11646],"declarations":[{"constant":false,"id":11646,"mutability":"mutable","name":"location","nameLocation":"17437:8:36","nodeType":"VariableDeclaration","scope":11760,"src":"17429:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11645,"name":"uint256","nodeType":"ElementaryTypeName","src":"17429:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11652,"initialValue":{"arguments":[{"id":11649,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11618,"src":"17489:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11650,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11621,"src":"17498:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":11647,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"17448:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":11648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17466:22:36","memberName":"_getStaticDataLocation","nodeType":"MemberAccess","referencedDeclaration":13087,"src":"17448:40:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory) pure returns (uint256)"}},"id":11651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17448:59:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17429:78:36"},{"assignments":[11657],"declarations":[{"constant":false,"id":11657,"mutability":"mutable","name":"hooks","nameLocation":"17670:5:36","nodeType":"VariableDeclaration","scope":11760,"src":"17653:22:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":11655,"name":"bytes21","nodeType":"ElementaryTypeName","src":"17653:7:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":11656,"nodeType":"ArrayTypeName","src":"17653:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"id":11662,"initialValue":{"arguments":[{"id":11660,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11618,"src":"17694:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":11658,"name":"StoreHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18664,"src":"17678:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreHooks_$18664_$","typeString":"type(library StoreHooks)"}},"id":11659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17689:4:36","memberName":"_get","nodeType":"MemberAccess","referencedDeclaration":17338,"src":"17678:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_array$_t_bytes21_$dyn_memory_ptr_$","typeString":"function (ResourceId) view returns (bytes21[] memory)"}},"id":11661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17678:24:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"nodeType":"VariableDeclarationStatement","src":"17653:49:36"},{"body":{"id":11701,"nodeType":"Block","src":"17747:289:36","statements":[{"assignments":[11675],"declarations":[{"constant":false,"id":11675,"mutability":"mutable","name":"hook","nameLocation":"17760:4:36","nodeType":"VariableDeclaration","scope":11701,"src":"17755:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"},"typeName":{"id":11674,"nodeType":"UserDefinedTypeName","pathNode":{"id":11673,"name":"Hook","nameLocations":["17755:4:36"],"nodeType":"IdentifierPath","referencedDeclaration":8369,"src":"17755:4:36"},"referencedDeclaration":8369,"src":"17755:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"visibility":"internal"}],"id":11682,"initialValue":{"arguments":[{"baseExpression":{"id":11678,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11657,"src":"17777:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":11680,"indexExpression":{"id":11679,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11664,"src":"17783:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17777:8:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":11676,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"17767:4:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hook_$8369_$","typeString":"type(Hook)"}},"id":11677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17772:4:36","memberName":"wrap","nodeType":"MemberAccess","src":"17767:9:36","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes21_$returns$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (bytes21) pure returns (Hook)"}},"id":11681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17767:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"nodeType":"VariableDeclarationStatement","src":"17755:31:36"},{"condition":{"arguments":[{"id":11685,"name":"BEFORE_SPLICE_STATIC_DATA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21631,"src":"17813:25:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":11683,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11675,"src":"17798:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":11684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17803:9:36","memberName":"isEnabled","nodeType":"MemberAccess","referencedDeclaration":8515,"src":"17798:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$_t_uint8_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook,uint8) pure returns (bool)"}},"id":11686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17798:41:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11700,"nodeType":"IfStatement","src":"17794:236:36","trueBody":{"id":11699,"nodeType":"Block","src":"17841:189:36","statements":[{"expression":{"arguments":[{"id":11693,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11618,"src":"17927:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11694,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11621,"src":"17956:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11695,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11623,"src":"17983:5:36","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":11696,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11625,"src":"18006:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11688,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11675,"src":"17862:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":11689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17867:10:36","memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":8536,"src":"17862:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$returns$_t_address_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook) pure returns (address)"}},"id":11690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17862:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11687,"name":"IStoreHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8979,"src":"17851:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreHook_$8979_$","typeString":"type(contract IStoreHook)"}},"id":11691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17851:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}},"id":11692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17881:24:36","memberName":"onBeforeSpliceStaticData","nodeType":"MemberAccess","referencedDeclaration":8896,"src":"17851:54:36","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint48_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint48,bytes memory) external"}},"id":11697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["17918:7:36","17946:8:36","17976:5:36","18000:4:36"],"names":["tableId","keyTuple","start","data"],"nodeType":"FunctionCall","src":"17851:170:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11698,"nodeType":"ExpressionStatement","src":"17851:170:36"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11666,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11664,"src":"17724:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":11667,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11657,"src":"17728:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":11668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17734:6:36","memberName":"length","nodeType":"MemberAccess","src":"17728:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17724:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11702,"initializationExpression":{"assignments":[11664],"declarations":[{"constant":false,"id":11664,"mutability":"mutable","name":"i","nameLocation":"17721:1:36","nodeType":"VariableDeclaration","scope":11702,"src":"17713:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11663,"name":"uint256","nodeType":"ElementaryTypeName","src":"17713:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11665,"nodeType":"VariableDeclarationStatement","src":"17713:9:36"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":11671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17742:3:36","subExpression":{"id":11670,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11664,"src":"17742:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11672,"nodeType":"ExpressionStatement","src":"17742:3:36"},"nodeType":"ForStatement","src":"17708:328:36"},{"eventCall":{"arguments":[{"id":11706,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11618,"src":"18140:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11707,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11621,"src":"18159:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11708,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11623,"src":"18176:5:36","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":11709,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11625,"src":"18189:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11703,"name":"IStoreEvents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"18093:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreEvents_$8826_$","typeString":"type(contract IStoreEvents)"}},"id":11705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18106:22:36","memberName":"Store_SpliceStaticData","nodeType":"MemberAccess","referencedDeclaration":8796,"src":"18093:35:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint48_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint48,bytes memory)"}},"id":11710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["18131:7:36","18149:8:36","18169:5:36","18183:4:36"],"names":["tableId","keyTuple","start","data"],"nodeType":"FunctionCall","src":"18093:103:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11711,"nodeType":"EmitStatement","src":"18088:108:36"},{"expression":{"arguments":[{"id":11715,"name":"location","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11646,"src":"18278:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11716,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11623,"src":"18296:5:36","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":11717,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11625,"src":"18309:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11712,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"18246:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":11714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18254:5:36","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":10330,"src":"18246:13:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,bytes memory)"}},"id":11718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["18262:14:36","18288:6:36","18303:4:36"],"names":["storagePointer","offset","data"],"nodeType":"FunctionCall","src":"18246:70:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11719,"nodeType":"ExpressionStatement","src":"18246:70:36"},{"body":{"id":11758,"nodeType":"Block","src":"18404:287:36","statements":[{"assignments":[11732],"declarations":[{"constant":false,"id":11732,"mutability":"mutable","name":"hook","nameLocation":"18417:4:36","nodeType":"VariableDeclaration","scope":11758,"src":"18412:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"},"typeName":{"id":11731,"nodeType":"UserDefinedTypeName","pathNode":{"id":11730,"name":"Hook","nameLocations":["18412:4:36"],"nodeType":"IdentifierPath","referencedDeclaration":8369,"src":"18412:4:36"},"referencedDeclaration":8369,"src":"18412:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"visibility":"internal"}],"id":11739,"initialValue":{"arguments":[{"baseExpression":{"id":11735,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11657,"src":"18434:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":11737,"indexExpression":{"id":11736,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11721,"src":"18440:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18434:8:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":11733,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"18424:4:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hook_$8369_$","typeString":"type(Hook)"}},"id":11734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18429:4:36","memberName":"wrap","nodeType":"MemberAccess","src":"18424:9:36","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes21_$returns$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (bytes21) pure returns (Hook)"}},"id":11738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18424:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"nodeType":"VariableDeclarationStatement","src":"18412:31:36"},{"condition":{"arguments":[{"id":11742,"name":"AFTER_SPLICE_STATIC_DATA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21637,"src":"18470:24:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":11740,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11732,"src":"18455:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":11741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18460:9:36","memberName":"isEnabled","nodeType":"MemberAccess","referencedDeclaration":8515,"src":"18455:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$_t_uint8_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook,uint8) pure returns (bool)"}},"id":11743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18455:40:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11757,"nodeType":"IfStatement","src":"18451:234:36","trueBody":{"id":11756,"nodeType":"Block","src":"18497:188:36","statements":[{"expression":{"arguments":[{"id":11750,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11618,"src":"18582:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11751,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11621,"src":"18611:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11752,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11623,"src":"18638:5:36","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":11753,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11625,"src":"18661:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11745,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11732,"src":"18518:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":11746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18523:10:36","memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":8536,"src":"18518:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$returns$_t_address_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook) pure returns (address)"}},"id":11747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18518:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11744,"name":"IStoreHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8979,"src":"18507:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreHook_$8979_$","typeString":"type(contract IStoreHook)"}},"id":11748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18507:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}},"id":11749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18537:23:36","memberName":"onAfterSpliceStaticData","nodeType":"MemberAccess","referencedDeclaration":8910,"src":"18507:53:36","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint48_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint48,bytes memory) external"}},"id":11754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["18573:7:36","18601:8:36","18631:5:36","18655:4:36"],"names":["tableId","keyTuple","start","data"],"nodeType":"FunctionCall","src":"18507:169:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11755,"nodeType":"ExpressionStatement","src":"18507:169:36"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11723,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11721,"src":"18381:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":11724,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11657,"src":"18385:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":11725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18391:6:36","memberName":"length","nodeType":"MemberAccess","src":"18385:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18381:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11759,"initializationExpression":{"assignments":[11721],"declarations":[{"constant":false,"id":11721,"mutability":"mutable","name":"i","nameLocation":"18378:1:36","nodeType":"VariableDeclaration","scope":11759,"src":"18370:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11720,"name":"uint256","nodeType":"ElementaryTypeName","src":"18370:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11722,"nodeType":"VariableDeclarationStatement","src":"18370:9:36"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":11728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"18399:3:36","subExpression":{"id":11727,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11721,"src":"18399:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11729,"nodeType":"ExpressionStatement","src":"18399:3:36"},"nodeType":"ForStatement","src":"18365:326:36"}]},"documentation":{"id":11615,"nodeType":"StructuredDocumentation","src":"16381:629:36","text":" @notice Splice the static data for the given table ID and key tuple.\n @dev This method emits a `Store_SpliceStaticData` event, updates the data in storage, and calls\n `onBeforeSpliceStaticData` and `onAfterSpliceStaticData` hooks.\n For offchain tables, it returns early after emitting the event.\n @param tableId The ID of the table to splice the static data for.\n @param keyTuple An array representing the composite key for the record.\n @param start The start position in bytes for the splice operation.\n @param data The data to write to the static data of the record at the start byte."},"implemented":true,"kind":"function","modifiers":[],"name":"spliceStaticData","nameLocation":"17022:16:36","parameters":{"id":11626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11618,"mutability":"mutable","name":"tableId","nameLocation":"17050:7:36","nodeType":"VariableDeclaration","scope":11761,"src":"17039:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11617,"nodeType":"UserDefinedTypeName","pathNode":{"id":11616,"name":"ResourceId","nameLocations":["17039:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"17039:10:36"},"referencedDeclaration":9486,"src":"17039:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11621,"mutability":"mutable","name":"keyTuple","nameLocation":"17076:8:36","nodeType":"VariableDeclaration","scope":11761,"src":"17059:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11619,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17059:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11620,"nodeType":"ArrayTypeName","src":"17059:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11623,"mutability":"mutable","name":"start","nameLocation":"17093:5:36","nodeType":"VariableDeclaration","scope":11761,"src":"17086:12:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":11622,"name":"uint48","nodeType":"ElementaryTypeName","src":"17086:6:36","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"},{"constant":false,"id":11625,"mutability":"mutable","name":"data","nameLocation":"17113:4:36","nodeType":"VariableDeclaration","scope":11761,"src":"17100:17:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11624,"name":"bytes","nodeType":"ElementaryTypeName","src":"17100:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17038:80:36"},"returnParameters":{"id":11627,"nodeType":"ParameterList","parameters":[],"src":"17128:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11796,"nodeType":"FunctionDefinition","src":"19594:539:36","nodes":[],"body":{"id":11795,"nodeType":"Block","src":"19794:339:36","nodes":[],"statements":[{"expression":{"arguments":[{"id":11782,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11765,"src":"19854:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11783,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11768,"src":"19879:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11784,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11770,"src":"19914:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":11785,"name":"startWithinField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11772,"src":"19957:16:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":11786,"name":"deleteCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11774,"src":"19994:11:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":11787,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11776,"src":"20019:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":11790,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11765,"src":"20103:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11791,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11768,"src":"20112:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":11788,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"20055:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":11789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20073:29:36","memberName":"_loadEncodedDynamicDataLength","nodeType":"MemberAccess","referencedDeclaration":13232,"src":"20055:47:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (ResourceId,bytes32[] memory) view returns (EncodedLengths)"}},"id":11792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20055:66:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"expression":{"id":11779,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"19800:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":11781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19818:18:36","memberName":"_spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":12992,"src":"19800:36:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint40_$_t_uint40_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint40,uint40,bytes memory,EncodedLengths)"}},"id":11793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["19845:7:36","19869:8:36","19895:17:36","19939:16:36","19981:11:36","20013:4:36","20031:22:36"],"names":["tableId","keyTuple","dynamicFieldIndex","startWithinField","deleteCount","data","previousEncodedLengths"],"nodeType":"FunctionCall","src":"19800:328:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11794,"nodeType":"ExpressionStatement","src":"19800:328:36"}]},"documentation":{"id":11762,"nodeType":"StructuredDocumentation","src":"18699:892:36","text":" @notice Splice the dynamic data for the given table ID, key tuple, and dynamic field index.\n @dev This method emits a `Store_SpliceDynamicData` event, updates the data in storage, and calls\n `onBeforeSpliceDynamicData` and `onAfterSpliceDynamicData` hooks.\n For offchain tables, it returns early after emitting the event.\n @param tableId The ID of the table to splice the dynamic data for.\n @param keyTuple An array representing the composite key for the record.\n @param dynamicFieldIndex The index of the dynamic field to splice. (Dynamic field index = field index - number of static fields)\n @param startWithinField The start position within the field for the splice operation.\n @param deleteCount The number of bytes to delete in the splice operation.\n @param data The data to insert into the dynamic data of the record at the start byte."},"implemented":true,"kind":"function","modifiers":[],"name":"spliceDynamicData","nameLocation":"19603:17:36","parameters":{"id":11777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11765,"mutability":"mutable","name":"tableId","nameLocation":"19637:7:36","nodeType":"VariableDeclaration","scope":11796,"src":"19626:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11764,"nodeType":"UserDefinedTypeName","pathNode":{"id":11763,"name":"ResourceId","nameLocations":["19626:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"19626:10:36"},"referencedDeclaration":9486,"src":"19626:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11768,"mutability":"mutable","name":"keyTuple","nameLocation":"19667:8:36","nodeType":"VariableDeclaration","scope":11796,"src":"19650:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19650:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11767,"nodeType":"ArrayTypeName","src":"19650:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11770,"mutability":"mutable","name":"dynamicFieldIndex","nameLocation":"19687:17:36","nodeType":"VariableDeclaration","scope":11796,"src":"19681:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11769,"name":"uint8","nodeType":"ElementaryTypeName","src":"19681:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":11772,"mutability":"mutable","name":"startWithinField","nameLocation":"19717:16:36","nodeType":"VariableDeclaration","scope":11796,"src":"19710:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":11771,"name":"uint40","nodeType":"ElementaryTypeName","src":"19710:6:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"},{"constant":false,"id":11774,"mutability":"mutable","name":"deleteCount","nameLocation":"19746:11:36","nodeType":"VariableDeclaration","scope":11796,"src":"19739:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":11773,"name":"uint40","nodeType":"ElementaryTypeName","src":"19739:6:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"},{"constant":false,"id":11776,"mutability":"mutable","name":"data","nameLocation":"19776:4:36","nodeType":"VariableDeclaration","scope":11796,"src":"19763:17:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11775,"name":"bytes","nodeType":"ElementaryTypeName","src":"19763:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19620:164:36"},"returnParameters":{"id":11778,"nodeType":"ParameterList","parameters":[],"src":"19794:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11821,"nodeType":"FunctionDefinition","src":"20949:192:36","nodes":[],"body":{"id":11820,"nodeType":"Block","src":"21060:81:36","nodes":[],"statements":[{"expression":{"arguments":[{"id":11811,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11800,"src":"21075:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11812,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11803,"src":"21084:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11813,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11805,"src":"21094:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":11814,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11807,"src":"21106:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":11816,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11800,"src":"21127:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"id":11815,"name":"getFieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10895,"src":"21112:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (ResourceId) view returns (FieldLayout)"}},"id":11817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21112:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"id":11810,"name":"setField","nodeType":"Identifier","overloadedDeclarations":[11821,11869],"referencedDeclaration":11869,"src":"21066:8:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,bytes memory,FieldLayout)"}},"id":11818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21066:70:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11819,"nodeType":"ExpressionStatement","src":"21066:70:36"}]},"documentation":{"id":11797,"nodeType":"StructuredDocumentation","src":"20137:809:36","text":" @notice Set data for a field at the given index in a table with the given tableId, key tuple, and value field layout.\n @dev This method internally calls another overload of setField by fetching the field layout for the given table ID.\n If the field layout is available to the caller, it is recommended to use the other overload to avoid an additional storage read.\n This function emits a `Store_SpliceStaticData` or `Store_SpliceDynamicData` event and calls the corresponding hooks.\n For offchain tables, it returns early after emitting the event.\n @param tableId The ID of the table to set the field for.\n @param keyTuple An array representing the key for the record.\n @param fieldIndex The index of the field to set.\n @param data The data to set for the field."},"implemented":true,"kind":"function","modifiers":[],"name":"setField","nameLocation":"20958:8:36","parameters":{"id":11808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11800,"mutability":"mutable","name":"tableId","nameLocation":"20978:7:36","nodeType":"VariableDeclaration","scope":11821,"src":"20967:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11799,"nodeType":"UserDefinedTypeName","pathNode":{"id":11798,"name":"ResourceId","nameLocations":["20967:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"20967:10:36"},"referencedDeclaration":9486,"src":"20967:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11803,"mutability":"mutable","name":"keyTuple","nameLocation":"21004:8:36","nodeType":"VariableDeclaration","scope":11821,"src":"20987:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11801,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20987:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11802,"nodeType":"ArrayTypeName","src":"20987:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11805,"mutability":"mutable","name":"fieldIndex","nameLocation":"21020:10:36","nodeType":"VariableDeclaration","scope":11821,"src":"21014:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11804,"name":"uint8","nodeType":"ElementaryTypeName","src":"21014:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":11807,"mutability":"mutable","name":"data","nameLocation":"21045:4:36","nodeType":"VariableDeclaration","scope":11821,"src":"21032:17:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11806,"name":"bytes","nodeType":"ElementaryTypeName","src":"21032:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20966:84:36"},"returnParameters":{"id":11809,"nodeType":"ParameterList","parameters":[],"src":"21060:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11869,"nodeType":"FunctionDefinition","src":"22040:409:36","nodes":[],"body":{"id":11868,"nodeType":"Block","src":"22200:249:36","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11838,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11830,"src":"22210:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11839,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11835,"src":"22223:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22235:15:36","memberName":"numStaticFields","nodeType":"MemberAccess","referencedDeclaration":8111,"src":"22223:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22223:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22210:42:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":11866,"nodeType":"Block","src":"22339:106:36","statements":[{"expression":{"arguments":[{"id":11853,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11825,"src":"22363:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11854,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11828,"src":"22372:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":11862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11855,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11830,"src":"22382:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11858,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11835,"src":"22401:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":11859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22413:15:36","memberName":"numStaticFields","nodeType":"MemberAccess","referencedDeclaration":8111,"src":"22401:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":11860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22401:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22395:5:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":11856,"name":"uint8","nodeType":"ElementaryTypeName","src":"22395:5:36","typeDescriptions":{}}},"id":11861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22395:36:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"22382:49:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":11863,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"22433:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11852,"name":"setDynamicField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11947,"src":"22347:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,bytes memory)"}},"id":11864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22347:91:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11865,"nodeType":"ExpressionStatement","src":"22347:91:36"}]},"id":11867,"nodeType":"IfStatement","src":"22206:239:36","trueBody":{"id":11851,"nodeType":"Block","src":"22254:79:36","statements":[{"expression":{"arguments":[{"id":11844,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11825,"src":"22277:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11845,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11828,"src":"22286:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11846,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11830,"src":"22296:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":11847,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"22308:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11848,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11835,"src":"22314:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"id":11843,"name":"setStaticField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11901,"src":"22262:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,bytes memory,FieldLayout)"}},"id":11849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22262:64:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11850,"nodeType":"ExpressionStatement","src":"22262:64:36"}]}}]},"documentation":{"id":11822,"nodeType":"StructuredDocumentation","src":"21145:892:36","text":" @notice Set data for a field at the given index in a table with the given tableId, key tuple, and value field layout.\n @dev This method internally calls to `setStaticField` or `setDynamicField` based on the field index and layout.\n Calling `setStaticField` or `setDynamicField` directly is recommended if the caller is aware of the field layout.\n This function emits a `Store_SpliceStaticData` or `Store_SpliceDynamicData` event, updates the data in storage,\n and calls the corresponding hooks.\n For offchain tables, it returns early after emitting the event.\n @param tableId The ID of the table to set the field for.\n @param keyTuple An array representing the composite key for the record.\n @param fieldIndex The index of the field to set.\n @param data The data to set for the field.\n @param fieldLayout The field layout for the record."},"implemented":true,"kind":"function","modifiers":[],"name":"setField","nameLocation":"22049:8:36","parameters":{"id":11836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11825,"mutability":"mutable","name":"tableId","nameLocation":"22074:7:36","nodeType":"VariableDeclaration","scope":11869,"src":"22063:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11824,"nodeType":"UserDefinedTypeName","pathNode":{"id":11823,"name":"ResourceId","nameLocations":["22063:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"22063:10:36"},"referencedDeclaration":9486,"src":"22063:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11828,"mutability":"mutable","name":"keyTuple","nameLocation":"22104:8:36","nodeType":"VariableDeclaration","scope":11869,"src":"22087:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22087:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11827,"nodeType":"ArrayTypeName","src":"22087:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11830,"mutability":"mutable","name":"fieldIndex","nameLocation":"22124:10:36","nodeType":"VariableDeclaration","scope":11869,"src":"22118:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11829,"name":"uint8","nodeType":"ElementaryTypeName","src":"22118:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":11832,"mutability":"mutable","name":"data","nameLocation":"22153:4:36","nodeType":"VariableDeclaration","scope":11869,"src":"22140:17:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11831,"name":"bytes","nodeType":"ElementaryTypeName","src":"22140:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11835,"mutability":"mutable","name":"fieldLayout","nameLocation":"22175:11:36","nodeType":"VariableDeclaration","scope":11869,"src":"22163:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":11834,"nodeType":"UserDefinedTypeName","pathNode":{"id":11833,"name":"FieldLayout","nameLocations":["22163:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"22163:11:36"},"referencedDeclaration":7885,"src":"22163:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"}],"src":"22057:133:36"},"returnParameters":{"id":11837,"nodeType":"ParameterList","parameters":[],"src":"22200:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11901,"nodeType":"FunctionDefinition","src":"23107:355:36","nodes":[],"body":{"id":11900,"nodeType":"Block","src":"23273:189:36","nodes":[],"statements":[{"expression":{"arguments":[{"id":11887,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11873,"src":"23313:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11888,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11876,"src":"23338:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"arguments":[{"arguments":[{"id":11893,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11883,"src":"23407:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},{"id":11894,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11878,"src":"23420:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":11891,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"23368:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":11892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23386:20:36","memberName":"_getStaticDataOffset","nodeType":"MemberAccess","referencedDeclaration":13148,"src":"23368:38:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$_t_uint8_$returns$_t_uint256_$","typeString":"function (FieldLayout,uint8) pure returns (uint256)"}},"id":11895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23368:63:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23361:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":11889,"name":"uint48","nodeType":"ElementaryTypeName","src":"23361:6:36","typeDescriptions":{}}},"id":11896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23361:71:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":11897,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11880,"src":"23446:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11886,"name":"spliceStaticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11761,"src":"23279:16:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint48_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint48,bytes memory)"}},"id":11898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["23304:7:36","23328:8:36","23354:5:36","23440:4:36"],"names":["tableId","keyTuple","start","data"],"nodeType":"FunctionCall","src":"23279:178:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11899,"nodeType":"ExpressionStatement","src":"23279:178:36"}]},"documentation":{"id":11870,"nodeType":"StructuredDocumentation","src":"22453:651:36","text":" @notice Set a static field for the given table ID, key tuple, field index, and field layout.\n @dev This method emits a `Store_SpliceStaticData` event, updates the data in storage and calls the\n `onBeforeSpliceStaticData` and `onAfterSpliceStaticData` hooks.\n For offchain tables, it returns early after emitting the event.\n @param tableId The ID of the table to set the static field for.\n @param keyTuple An array representing the key for the record.\n @param fieldIndex The index of the field to set.\n @param data The data to set for the static field.\n @param fieldLayout The field layout for the record."},"implemented":true,"kind":"function","modifiers":[],"name":"setStaticField","nameLocation":"23116:14:36","parameters":{"id":11884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11873,"mutability":"mutable","name":"tableId","nameLocation":"23147:7:36","nodeType":"VariableDeclaration","scope":11901,"src":"23136:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11872,"nodeType":"UserDefinedTypeName","pathNode":{"id":11871,"name":"ResourceId","nameLocations":["23136:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"23136:10:36"},"referencedDeclaration":9486,"src":"23136:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11876,"mutability":"mutable","name":"keyTuple","nameLocation":"23177:8:36","nodeType":"VariableDeclaration","scope":11901,"src":"23160:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23160:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11875,"nodeType":"ArrayTypeName","src":"23160:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11878,"mutability":"mutable","name":"fieldIndex","nameLocation":"23197:10:36","nodeType":"VariableDeclaration","scope":11901,"src":"23191:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11877,"name":"uint8","nodeType":"ElementaryTypeName","src":"23191:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":11880,"mutability":"mutable","name":"data","nameLocation":"23226:4:36","nodeType":"VariableDeclaration","scope":11901,"src":"23213:17:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11879,"name":"bytes","nodeType":"ElementaryTypeName","src":"23213:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11883,"mutability":"mutable","name":"fieldLayout","nameLocation":"23248:11:36","nodeType":"VariableDeclaration","scope":11901,"src":"23236:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":11882,"nodeType":"UserDefinedTypeName","pathNode":{"id":11881,"name":"FieldLayout","nameLocations":["23236:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"23236:11:36"},"referencedDeclaration":7885,"src":"23236:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"}],"src":"23130:133:36"},"returnParameters":{"id":11885,"nodeType":"ParameterList","parameters":[],"src":"23273:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11947,"nodeType":"FunctionDefinition","src":"24152:738:36","nodes":[],"body":{"id":11946,"nodeType":"Block","src":"24297:593:36","nodes":[],"statements":[{"assignments":[11917],"declarations":[{"constant":false,"id":11917,"mutability":"mutable","name":"previousEncodedLengths","nameLocation":"24418:22:36","nodeType":"VariableDeclaration","scope":11946,"src":"24403:37:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":11916,"nodeType":"UserDefinedTypeName","pathNode":{"id":11915,"name":"EncodedLengths","nameLocations":["24403:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"24403:14:36"},"referencedDeclaration":7251,"src":"24403:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"id":11923,"initialValue":{"arguments":[{"id":11920,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11905,"src":"24491:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11921,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11908,"src":"24500:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":11918,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"24443:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":11919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24461:29:36","memberName":"_loadEncodedDynamicDataLength","nodeType":"MemberAccess","referencedDeclaration":13232,"src":"24443:47:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (ResourceId,bytes32[] memory) view returns (EncodedLengths)"}},"id":11922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24443:66:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"nodeType":"VariableDeclarationStatement","src":"24403:106:36"},{"assignments":[11925],"declarations":[{"constant":false,"id":11925,"mutability":"mutable","name":"previousFieldLength","nameLocation":"24522:19:36","nodeType":"VariableDeclaration","scope":11946,"src":"24515:26:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":11924,"name":"uint40","nodeType":"ElementaryTypeName","src":"24515:6:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"}],"id":11933,"initialValue":{"arguments":[{"arguments":[{"id":11930,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11910,"src":"24582:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":11928,"name":"previousEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11917,"src":"24551:22:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":11929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24574:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":7722,"src":"24551:30:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths,uint8) pure returns (uint256)"}},"id":11931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24551:49:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24544:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":11926,"name":"uint40","nodeType":"ElementaryTypeName","src":"24544:6:36","typeDescriptions":{}}},"id":11932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24544:57:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"nodeType":"VariableDeclarationStatement","src":"24515:86:36"},{"expression":{"arguments":[{"id":11937,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11905,"src":"24662:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11938,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11908,"src":"24687:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":11939,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11910,"src":"24722:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"hexValue":"30","id":11940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24765:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":11941,"name":"previousFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11925,"src":"24787:19:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":11942,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11912,"src":"24820:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11943,"name":"previousEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11917,"src":"24856:22:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"expression":{"id":11934,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"24608:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":11936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24626:18:36","memberName":"_spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":12992,"src":"24608:36:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint40_$_t_uint40_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint40,uint40,bytes memory,EncodedLengths)"}},"id":11944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["24653:7:36","24677:8:36","24703:17:36","24747:16:36","24774:11:36","24814:4:36","24832:22:36"],"names":["tableId","keyTuple","dynamicFieldIndex","startWithinField","deleteCount","data","previousEncodedLengths"],"nodeType":"FunctionCall","src":"24608:277:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11945,"nodeType":"ExpressionStatement","src":"24608:277:36"}]},"documentation":{"id":11902,"nodeType":"StructuredDocumentation","src":"23466:683:36","text":" @notice Set a dynamic field for the given table ID, key tuple, and dynamic field index.\n @dev This method emits a `Store_SpliceDynamicData` event, updates the data in storage and calls the\n `onBeforeSpliceDynamicaData` and `onAfterSpliceDynamicData` hooks.\n For offchain tables, it returns early after emitting the event.\n @param tableId The ID of the table to set the dynamic field for.\n @param keyTuple An array representing the composite key for the record.\n @param dynamicFieldIndex The index of the dynamic field to set. (Dynamic field index = field index - number of static fields).\n @param data The data to set for the dynamic field."},"implemented":true,"kind":"function","modifiers":[],"name":"setDynamicField","nameLocation":"24161:15:36","parameters":{"id":11913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11905,"mutability":"mutable","name":"tableId","nameLocation":"24193:7:36","nodeType":"VariableDeclaration","scope":11947,"src":"24182:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11904,"nodeType":"UserDefinedTypeName","pathNode":{"id":11903,"name":"ResourceId","nameLocations":["24182:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"24182:10:36"},"referencedDeclaration":9486,"src":"24182:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11908,"mutability":"mutable","name":"keyTuple","nameLocation":"24223:8:36","nodeType":"VariableDeclaration","scope":11947,"src":"24206:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24206:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11907,"nodeType":"ArrayTypeName","src":"24206:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11910,"mutability":"mutable","name":"dynamicFieldIndex","nameLocation":"24243:17:36","nodeType":"VariableDeclaration","scope":11947,"src":"24237:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11909,"name":"uint8","nodeType":"ElementaryTypeName","src":"24237:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":11912,"mutability":"mutable","name":"data","nameLocation":"24279:4:36","nodeType":"VariableDeclaration","scope":11947,"src":"24266:17:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11911,"name":"bytes","nodeType":"ElementaryTypeName","src":"24266:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24176:111:36"},"returnParameters":{"id":11914,"nodeType":"ParameterList","parameters":[],"src":"24297:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":11966,"nodeType":"FunctionDefinition","src":"25552:145:36","nodes":[],"body":{"id":11965,"nodeType":"Block","src":"25630:67:36","nodes":[],"statements":[{"expression":{"arguments":[{"id":11958,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11951,"src":"25649:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11959,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11954,"src":"25658:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"arguments":[{"id":11961,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11951,"src":"25683:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"id":11960,"name":"getFieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10895,"src":"25668:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (ResourceId) view returns (FieldLayout)"}},"id":11962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25668:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"id":11957,"name":"deleteRecord","nodeType":"Identifier","overloadedDeclarations":[11966,12133],"referencedDeclaration":12133,"src":"25636:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,FieldLayout)"}},"id":11963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25636:56:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11964,"nodeType":"ExpressionStatement","src":"25636:56:36"}]},"documentation":{"id":11948,"nodeType":"StructuredDocumentation","src":"24894:655:36","text":" @notice Delete a record for the given table ID and key tuple.\n @dev This method internally calls another overload of deleteRecord by fetching the field layout for the given table ID.\n This method deletes static data and sets the dynamic data length to 0, but does not\n actually modify the dynamic data. It emits a `Store_DeleteRecord` event and emits the\n `onBeforeDeleteRecord` and `onAfterDeleteRecord` hooks.\n For offchain tables, it returns early after emitting the event.\n @param tableId The ID of the table to delete the record from.\n @param keyTuple An array representing the composite key for the record."},"implemented":true,"kind":"function","modifiers":[],"name":"deleteRecord","nameLocation":"25561:12:36","parameters":{"id":11955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11951,"mutability":"mutable","name":"tableId","nameLocation":"25585:7:36","nodeType":"VariableDeclaration","scope":11966,"src":"25574:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11950,"nodeType":"UserDefinedTypeName","pathNode":{"id":11949,"name":"ResourceId","nameLocations":["25574:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"25574:10:36"},"referencedDeclaration":9486,"src":"25574:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11954,"mutability":"mutable","name":"keyTuple","nameLocation":"25611:8:36","nodeType":"VariableDeclaration","scope":11966,"src":"25594:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11952,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25594:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11953,"nodeType":"ArrayTypeName","src":"25594:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"25573:47:36"},"returnParameters":{"id":11956,"nodeType":"ParameterList","parameters":[],"src":"25630:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12133,"nodeType":"FunctionDefinition","src":"26296:1804:36","nodes":[],"body":{"id":12132,"nodeType":"Block","src":"26399:1701:36","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":11983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":11979,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11970,"src":"26463:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":11980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26471:7:36","memberName":"getType","nodeType":"MemberAccess","referencedDeclaration":9545,"src":"26463:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes2_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (bytes2)"}},"id":11981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26463:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":11982,"name":"RESOURCE_OFFCHAIN_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21709,"src":"26484:23:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"26463:44:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11993,"nodeType":"IfStatement","src":"26459:173:36","trueBody":{"id":11992,"nodeType":"Block","src":"26509:123:36","statements":[{"eventCall":{"arguments":[{"id":11987,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11970,"src":"26593:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":11988,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11973,"src":"26602:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":11984,"name":"IStoreEvents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"26561:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreEvents_$8826_$","typeString":"type(contract IStoreEvents)"}},"id":11986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26574:18:36","memberName":"Store_DeleteRecord","nodeType":"MemberAccess","referencedDeclaration":8825,"src":"26561:31:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory)"}},"id":11989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26561:50:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11990,"nodeType":"EmitStatement","src":"26556:55:36"},{"functionReturnParameters":11978,"id":11991,"nodeType":"Return","src":"26619:7:36"}]}},{"assignments":[11998],"declarations":[{"constant":false,"id":11998,"mutability":"mutable","name":"hooks","nameLocation":"26790:5:36","nodeType":"VariableDeclaration","scope":12132,"src":"26773:22:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":11996,"name":"bytes21","nodeType":"ElementaryTypeName","src":"26773:7:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":11997,"nodeType":"ArrayTypeName","src":"26773:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"id":12003,"initialValue":{"arguments":[{"id":12001,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11970,"src":"26814:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":11999,"name":"StoreHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18664,"src":"26798:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreHooks_$18664_$","typeString":"type(library StoreHooks)"}},"id":12000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26809:4:36","memberName":"_get","nodeType":"MemberAccess","referencedDeclaration":17338,"src":"26798:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_array$_t_bytes21_$dyn_memory_ptr_$","typeString":"function (ResourceId) view returns (bytes21[] memory)"}},"id":12002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26798:24:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"nodeType":"VariableDeclarationStatement","src":"26773:49:36"},{"body":{"id":12041,"nodeType":"Block","src":"26867:196:36","statements":[{"assignments":[12016],"declarations":[{"constant":false,"id":12016,"mutability":"mutable","name":"hook","nameLocation":"26880:4:36","nodeType":"VariableDeclaration","scope":12041,"src":"26875:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"},"typeName":{"id":12015,"nodeType":"UserDefinedTypeName","pathNode":{"id":12014,"name":"Hook","nameLocations":["26875:4:36"],"nodeType":"IdentifierPath","referencedDeclaration":8369,"src":"26875:4:36"},"referencedDeclaration":8369,"src":"26875:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"visibility":"internal"}],"id":12023,"initialValue":{"arguments":[{"baseExpression":{"id":12019,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11998,"src":"26897:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":12021,"indexExpression":{"id":12020,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12005,"src":"26903:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26897:8:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":12017,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"26887:4:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hook_$8369_$","typeString":"type(Hook)"}},"id":12018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26892:4:36","memberName":"wrap","nodeType":"MemberAccess","src":"26887:9:36","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes21_$returns$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (bytes21) pure returns (Hook)"}},"id":12022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26887:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"nodeType":"VariableDeclarationStatement","src":"26875:31:36"},{"condition":{"arguments":[{"id":12026,"name":"BEFORE_DELETE_RECORD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21655,"src":"26933:20:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12024,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12016,"src":"26918:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":12025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26923:9:36","memberName":"isEnabled","nodeType":"MemberAccess","referencedDeclaration":8515,"src":"26918:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$_t_uint8_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook,uint8) pure returns (bool)"}},"id":12027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26918:36:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12040,"nodeType":"IfStatement","src":"26914:143:36","trueBody":{"id":12039,"nodeType":"Block","src":"26956:101:36","statements":[{"expression":{"arguments":[{"id":12034,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11970,"src":"27017:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12035,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11973,"src":"27026:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12036,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11976,"src":"27036:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12029,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12016,"src":"26977:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":12030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26982:10:36","memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":8536,"src":"26977:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$returns$_t_address_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook) pure returns (address)"}},"id":12031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26977:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12028,"name":"IStoreHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8979,"src":"26966:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreHook_$8979_$","typeString":"type(contract IStoreHook)"}},"id":12032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}},"id":12033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26996:20:36","memberName":"onBeforeDeleteRecord","nodeType":"MemberAccess","referencedDeclaration":8965,"src":"26966:50:36","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,FieldLayout) external"}},"id":12037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:82:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12038,"nodeType":"ExpressionStatement","src":"26966:82:36"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12007,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12005,"src":"26844:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":12008,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11998,"src":"26848:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":12009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26854:6:36","memberName":"length","nodeType":"MemberAccess","src":"26848:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26844:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12042,"initializationExpression":{"assignments":[12005],"declarations":[{"constant":false,"id":12005,"mutability":"mutable","name":"i","nameLocation":"26841:1:36","nodeType":"VariableDeclaration","scope":12042,"src":"26833:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12004,"name":"uint256","nodeType":"ElementaryTypeName","src":"26833:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12006,"nodeType":"VariableDeclarationStatement","src":"26833:9:36"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":12012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"26862:3:36","subExpression":{"id":12011,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12005,"src":"26862:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12013,"nodeType":"ExpressionStatement","src":"26862:3:36"},"nodeType":"ForStatement","src":"26828:235:36"},{"eventCall":{"arguments":[{"id":12046,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11970,"src":"27143:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12047,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11973,"src":"27152:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12043,"name":"IStoreEvents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"27111:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreEvents_$8826_$","typeString":"type(contract IStoreEvents)"}},"id":12045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27124:18:36","memberName":"Store_DeleteRecord","nodeType":"MemberAccess","referencedDeclaration":8825,"src":"27111:31:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory)"}},"id":12048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27111:50:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12049,"nodeType":"EmitStatement","src":"27106:55:36"},{"assignments":[12051],"declarations":[{"constant":false,"id":12051,"mutability":"mutable","name":"staticDataLocation","nameLocation":"27202:18:36","nodeType":"VariableDeclaration","scope":12132,"src":"27194:26:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12050,"name":"uint256","nodeType":"ElementaryTypeName","src":"27194:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12057,"initialValue":{"arguments":[{"id":12054,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11970,"src":"27264:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12055,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11973,"src":"27273:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12052,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"27223:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27241:22:36","memberName":"_getStaticDataLocation","nodeType":"MemberAccess","referencedDeclaration":13087,"src":"27223:40:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory) pure returns (uint256)"}},"id":12056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27223:59:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27194:88:36"},{"expression":{"arguments":[{"id":12061,"name":"staticDataLocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12051,"src":"27320:18:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":12062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27348:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12065,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11976,"src":"27367:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":12066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27379:16:36","memberName":"staticDataLength","nodeType":"MemberAccess","referencedDeclaration":8088,"src":"27367:28:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":12067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27367:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"27357:9:36","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":12063,"name":"bytes","nodeType":"ElementaryTypeName","src":"27361:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":12068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27357:41:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12058,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"27288:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":12060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27296:5:36","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":10330,"src":"27288:13:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,bytes memory)"}},"id":12069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["27304:14:36","27340:6:36","27351:4:36"],"names":["storagePointer","offset","data"],"nodeType":"FunctionCall","src":"27288:113:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12070,"nodeType":"ExpressionStatement","src":"27288:113:36"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12071,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11976,"src":"27587:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":12072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27599:16:36","memberName":"numDynamicFields","nodeType":"MemberAccess","referencedDeclaration":8134,"src":"27587:28:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":12073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27587:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":12074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27620:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27587:34:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12092,"nodeType":"IfStatement","src":"27583:236:36","trueBody":{"id":12091,"nodeType":"Block","src":"27623:196:36","statements":[{"assignments":[12077],"declarations":[{"constant":false,"id":12077,"mutability":"mutable","name":"dynamicDataLengthLocation","nameLocation":"27639:25:36","nodeType":"VariableDeclaration","scope":12091,"src":"27631:33:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12076,"name":"uint256","nodeType":"ElementaryTypeName","src":"27631:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12083,"initialValue":{"arguments":[{"id":12080,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11970,"src":"27715:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12081,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11973,"src":"27724:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12078,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"27667:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27685:29:36","memberName":"_getDynamicDataLengthLocation","nodeType":"MemberAccess","referencedDeclaration":13207,"src":"27667:47:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory) pure returns (uint256)"}},"id":12082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27667:66:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27631:102:36"},{"expression":{"arguments":[{"id":12087,"name":"dynamicDataLengthLocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12077,"src":"27772:25:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3332","id":12088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27807:2:36","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"}],"expression":{"id":12084,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"27741:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":12086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27749:4:36","memberName":"zero","nodeType":"MemberAccess","referencedDeclaration":10462,"src":"27741:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":12089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["27756:14:36","27799:6:36"],"names":["storagePointer","length"],"nodeType":"FunctionCall","src":"27741:71:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12090,"nodeType":"ExpressionStatement","src":"27741:71:36"}]}},{"body":{"id":12130,"nodeType":"Block","src":"27902:194:36","statements":[{"assignments":[12105],"declarations":[{"constant":false,"id":12105,"mutability":"mutable","name":"hook","nameLocation":"27915:4:36","nodeType":"VariableDeclaration","scope":12130,"src":"27910:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"},"typeName":{"id":12104,"nodeType":"UserDefinedTypeName","pathNode":{"id":12103,"name":"Hook","nameLocations":["27910:4:36"],"nodeType":"IdentifierPath","referencedDeclaration":8369,"src":"27910:4:36"},"referencedDeclaration":8369,"src":"27910:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"visibility":"internal"}],"id":12112,"initialValue":{"arguments":[{"baseExpression":{"id":12108,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11998,"src":"27932:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":12110,"indexExpression":{"id":12109,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12094,"src":"27938:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27932:8:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":12106,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"27922:4:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hook_$8369_$","typeString":"type(Hook)"}},"id":12107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27927:4:36","memberName":"wrap","nodeType":"MemberAccess","src":"27922:9:36","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes21_$returns$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (bytes21) pure returns (Hook)"}},"id":12111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27922:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"nodeType":"VariableDeclarationStatement","src":"27910:31:36"},{"condition":{"arguments":[{"id":12115,"name":"AFTER_DELETE_RECORD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21661,"src":"27968:19:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12113,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12105,"src":"27953:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":12114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27958:9:36","memberName":"isEnabled","nodeType":"MemberAccess","referencedDeclaration":8515,"src":"27953:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$_t_uint8_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook,uint8) pure returns (bool)"}},"id":12116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27953:35:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12129,"nodeType":"IfStatement","src":"27949:141:36","trueBody":{"id":12128,"nodeType":"Block","src":"27990:100:36","statements":[{"expression":{"arguments":[{"id":12123,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11970,"src":"28050:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12124,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11973,"src":"28059:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12125,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11976,"src":"28069:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12118,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12105,"src":"28011:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":12119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28016:10:36","memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":8536,"src":"28011:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$returns$_t_address_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook) pure returns (address)"}},"id":12120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28011:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12117,"name":"IStoreHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8979,"src":"28000:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreHook_$8979_$","typeString":"type(contract IStoreHook)"}},"id":12121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28000:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}},"id":12122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28030:19:36","memberName":"onAfterDeleteRecord","nodeType":"MemberAccess","referencedDeclaration":8978,"src":"28000:49:36","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,FieldLayout) external"}},"id":12126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28000:81:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12127,"nodeType":"ExpressionStatement","src":"28000:81:36"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12096,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12094,"src":"27879:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":12097,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11998,"src":"27883:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":12098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27889:6:36","memberName":"length","nodeType":"MemberAccess","src":"27883:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27879:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12131,"initializationExpression":{"assignments":[12094],"declarations":[{"constant":false,"id":12094,"mutability":"mutable","name":"i","nameLocation":"27876:1:36","nodeType":"VariableDeclaration","scope":12131,"src":"27868:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12093,"name":"uint256","nodeType":"ElementaryTypeName","src":"27868:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12095,"nodeType":"VariableDeclarationStatement","src":"27868:9:36"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":12101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27897:3:36","subExpression":{"id":12100,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12094,"src":"27897:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12102,"nodeType":"ExpressionStatement","src":"27897:3:36"},"nodeType":"ForStatement","src":"27863:233:36"}]},"documentation":{"id":11967,"nodeType":"StructuredDocumentation","src":"25701:592:36","text":" @notice Delete a record for the given table ID and key tuple.\n @dev This method deletes static data and sets the dynamic data length to 0, but does not\n actually modify the dynamic data. It emits a `Store_DeleteRecord` event and emits the\n `onBeforeDeleteRecord` and `onAfterDeleteRecord` hooks.\n For offchain tables, it returns early after emitting the event.\n @param tableId The ID of the table to delete the record from.\n @param keyTuple An array representing the composite key for the record.\n @param fieldLayout The field layout for the record."},"implemented":true,"kind":"function","modifiers":[],"name":"deleteRecord","nameLocation":"26305:12:36","parameters":{"id":11977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11970,"mutability":"mutable","name":"tableId","nameLocation":"26329:7:36","nodeType":"VariableDeclaration","scope":12133,"src":"26318:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":11969,"nodeType":"UserDefinedTypeName","pathNode":{"id":11968,"name":"ResourceId","nameLocations":["26318:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"26318:10:36"},"referencedDeclaration":9486,"src":"26318:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":11973,"mutability":"mutable","name":"keyTuple","nameLocation":"26355:8:36","nodeType":"VariableDeclaration","scope":12133,"src":"26338:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11971,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26338:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11972,"nodeType":"ArrayTypeName","src":"26338:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11976,"mutability":"mutable","name":"fieldLayout","nameLocation":"26377:11:36","nodeType":"VariableDeclaration","scope":12133,"src":"26365:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":11975,"nodeType":"UserDefinedTypeName","pathNode":{"id":11974,"name":"FieldLayout","nameLocations":["26365:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"26365:11:36"},"referencedDeclaration":7885,"src":"26365:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"}],"src":"26317:72:36"},"returnParameters":{"id":11978,"nodeType":"ParameterList","parameters":[],"src":"26399:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12182,"nodeType":"FunctionDefinition","src":"28764:791:36","nodes":[],"body":{"id":12181,"nodeType":"Block","src":"28918:637:36","nodes":[],"statements":[{"assignments":[12149],"declarations":[{"constant":false,"id":12149,"mutability":"mutable","name":"previousEncodedLengths","nameLocation":"29038:22:36","nodeType":"VariableDeclaration","scope":12181,"src":"29023:37:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":12148,"nodeType":"UserDefinedTypeName","pathNode":{"id":12147,"name":"EncodedLengths","nameLocations":["29023:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"29023:14:36"},"referencedDeclaration":7251,"src":"29023:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"id":12155,"initialValue":{"arguments":[{"id":12152,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12137,"src":"29111:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12153,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12140,"src":"29120:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12150,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"29063:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29081:29:36","memberName":"_loadEncodedDynamicDataLength","nodeType":"MemberAccess","referencedDeclaration":13232,"src":"29063:47:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (ResourceId,bytes32[] memory) view returns (EncodedLengths)"}},"id":12154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29063:66:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"nodeType":"VariableDeclarationStatement","src":"29023:106:36"},{"assignments":[12157],"declarations":[{"constant":false,"id":12157,"mutability":"mutable","name":"previousFieldLength","nameLocation":"29142:19:36","nodeType":"VariableDeclaration","scope":12181,"src":"29135:26:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":12156,"name":"uint40","nodeType":"ElementaryTypeName","src":"29135:6:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"}],"id":12165,"initialValue":{"arguments":[{"arguments":[{"id":12162,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12142,"src":"29202:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12160,"name":"previousEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12149,"src":"29171:22:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29194:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":7722,"src":"29171:30:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths,uint8) pure returns (uint256)"}},"id":12163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29171:49:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29164:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":12158,"name":"uint40","nodeType":"ElementaryTypeName","src":"29164:6:36","typeDescriptions":{}}},"id":12164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29164:57:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"nodeType":"VariableDeclarationStatement","src":"29135:86:36"},{"expression":{"arguments":[{"id":12169,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12137,"src":"29313:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12170,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12140,"src":"29338:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12171,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12142,"src":"29373:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"id":12174,"name":"previousFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12157,"src":"29423:19:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint40","typeString":"uint40"}],"id":12173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29416:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":12172,"name":"uint40","nodeType":"ElementaryTypeName","src":"29416:6:36","typeDescriptions":{}}},"id":12175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29416:27:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"hexValue":"30","id":12176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29464:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":12177,"name":"dataToPush","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12144,"src":"29479:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":12178,"name":"previousEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12149,"src":"29521:22:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"expression":{"id":12166,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"29259:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29277:18:36","memberName":"_spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":12992,"src":"29259:36:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint40_$_t_uint40_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint40,uint40,bytes memory,EncodedLengths)"}},"id":12179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["29304:7:36","29328:8:36","29354:17:36","29398:16:36","29451:11:36","29473:4:36","29497:22:36"],"names":["tableId","keyTuple","dynamicFieldIndex","startWithinField","deleteCount","data","previousEncodedLengths"],"nodeType":"FunctionCall","src":"29259:291:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12180,"nodeType":"ExpressionStatement","src":"29259:291:36"}]},"documentation":{"id":12134,"nodeType":"StructuredDocumentation","src":"28104:657:36","text":" @notice Push data to a field at the dynamic field index in a table with the given table ID and key tuple.\n @dev This method emits a `Store_SpliceDynamicData` event, updates the data in storage and calls the\n `onBeforeSpliceDynamicData` and `onAfterSpliceDynamicData` hooks.\n For offchain tables, it returns early after emitting the event.\n @param tableId The ID of the table to push data to the dynamic field.\n @param keyTuple An array representing the composite key for the record.\n @param dynamicFieldIndex The index of the dynamic field to push data to.\n @param dataToPush The data to push to the dynamic field."},"implemented":true,"kind":"function","modifiers":[],"name":"pushToDynamicField","nameLocation":"28773:18:36","parameters":{"id":12145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12137,"mutability":"mutable","name":"tableId","nameLocation":"28808:7:36","nodeType":"VariableDeclaration","scope":12182,"src":"28797:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12136,"nodeType":"UserDefinedTypeName","pathNode":{"id":12135,"name":"ResourceId","nameLocations":["28797:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"28797:10:36"},"referencedDeclaration":9486,"src":"28797:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12140,"mutability":"mutable","name":"keyTuple","nameLocation":"28838:8:36","nodeType":"VariableDeclaration","scope":12182,"src":"28821:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28821:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12139,"nodeType":"ArrayTypeName","src":"28821:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12142,"mutability":"mutable","name":"dynamicFieldIndex","nameLocation":"28858:17:36","nodeType":"VariableDeclaration","scope":12182,"src":"28852:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12141,"name":"uint8","nodeType":"ElementaryTypeName","src":"28852:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12144,"mutability":"mutable","name":"dataToPush","nameLocation":"28894:10:36","nodeType":"VariableDeclaration","scope":12182,"src":"28881:23:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12143,"name":"bytes","nodeType":"ElementaryTypeName","src":"28881:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"28791:117:36"},"returnParameters":{"id":12146,"nodeType":"ParameterList","parameters":[],"src":"28918:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12239,"nodeType":"FunctionDefinition","src":"30235:834:36","nodes":[],"body":{"id":12238,"nodeType":"Block","src":"30390:679:36","nodes":[],"statements":[{"assignments":[12198],"declarations":[{"constant":false,"id":12198,"mutability":"mutable","name":"previousEncodedLengths","nameLocation":"30510:22:36","nodeType":"VariableDeclaration","scope":12238,"src":"30495:37:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":12197,"nodeType":"UserDefinedTypeName","pathNode":{"id":12196,"name":"EncodedLengths","nameLocations":["30495:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"30495:14:36"},"referencedDeclaration":7251,"src":"30495:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"id":12204,"initialValue":{"arguments":[{"id":12201,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12186,"src":"30583:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12202,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12189,"src":"30592:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12199,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"30535:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30553:29:36","memberName":"_loadEncodedDynamicDataLength","nodeType":"MemberAccess","referencedDeclaration":13232,"src":"30535:47:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (ResourceId,bytes32[] memory) view returns (EncodedLengths)"}},"id":12203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:66:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"nodeType":"VariableDeclarationStatement","src":"30495:106:36"},{"assignments":[12206],"declarations":[{"constant":false,"id":12206,"mutability":"mutable","name":"previousFieldLength","nameLocation":"30614:19:36","nodeType":"VariableDeclaration","scope":12238,"src":"30607:26:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":12205,"name":"uint40","nodeType":"ElementaryTypeName","src":"30607:6:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"}],"id":12214,"initialValue":{"arguments":[{"arguments":[{"id":12211,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12191,"src":"30674:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12209,"name":"previousEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12198,"src":"30643:22:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30666:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":7722,"src":"30643:30:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths,uint8) pure returns (uint256)"}},"id":12212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30643:49:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30636:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":12207,"name":"uint40","nodeType":"ElementaryTypeName","src":"30636:6:36","typeDescriptions":{}}},"id":12213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30636:57:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"nodeType":"VariableDeclarationStatement","src":"30607:86:36"},{"expression":{"arguments":[{"id":12218,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12186,"src":"30785:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12219,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12189,"src":"30810:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12220,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12191,"src":"30845:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12223,"name":"previousFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12206,"src":"30895:19:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12224,"name":"byteLengthToPop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12193,"src":"30917:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30895:37:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30888:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":12221,"name":"uint40","nodeType":"ElementaryTypeName","src":"30888:6:36","typeDescriptions":{}}},"id":12226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30888:45:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"id":12229,"name":"byteLengthToPop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12193,"src":"30961:15:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30954:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":12227,"name":"uint40","nodeType":"ElementaryTypeName","src":"30954:6:36","typeDescriptions":{}}},"id":12230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30954:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"hexValue":"30","id":12233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31001:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":12232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30991:9:36","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":12231,"name":"bytes","nodeType":"ElementaryTypeName","src":"30995:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":12234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30991:12:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":12235,"name":"previousEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12198,"src":"31035:22:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}],"expression":{"id":12215,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"30731:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30749:18:36","memberName":"_spliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":12992,"src":"30731:36:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint40_$_t_uint40_$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint40,uint40,bytes memory,EncodedLengths)"}},"id":12236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["30776:7:36","30800:8:36","30826:17:36","30870:16:36","30941:11:36","30985:4:36","31011:22:36"],"names":["tableId","keyTuple","dynamicFieldIndex","startWithinField","deleteCount","data","previousEncodedLengths"],"nodeType":"FunctionCall","src":"30731:333:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12237,"nodeType":"ExpressionStatement","src":"30731:333:36"}]},"documentation":{"id":12183,"nodeType":"StructuredDocumentation","src":"29559:673:36","text":" @notice Pop data from a field at the dynamic field index in a table with the given table ID and key tuple.\n @dev This method emits a `Store_SpliceDynamicData` event, updates the data in storage and calls the\n `onBeforeSpliceDynamicData` and `onAfterSpliceDynamicData` hooks.\n For offchain tables, it returns early after emitting the event.\n @param tableId The ID of the table to pop data from the dynamic field.\n @param keyTuple An array representing the composite key for the record.\n @param dynamicFieldIndex The index of the dynamic field to pop data from.\n @param byteLengthToPop The byte length to pop from the dynamic field."},"implemented":true,"kind":"function","modifiers":[],"name":"popFromDynamicField","nameLocation":"30244:19:36","parameters":{"id":12194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12186,"mutability":"mutable","name":"tableId","nameLocation":"30280:7:36","nodeType":"VariableDeclaration","scope":12239,"src":"30269:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12185,"nodeType":"UserDefinedTypeName","pathNode":{"id":12184,"name":"ResourceId","nameLocations":["30269:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"30269:10:36"},"referencedDeclaration":9486,"src":"30269:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12189,"mutability":"mutable","name":"keyTuple","nameLocation":"30310:8:36","nodeType":"VariableDeclaration","scope":12239,"src":"30293:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12187,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30293:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12188,"nodeType":"ArrayTypeName","src":"30293:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12191,"mutability":"mutable","name":"dynamicFieldIndex","nameLocation":"30330:17:36","nodeType":"VariableDeclaration","scope":12239,"src":"30324:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12190,"name":"uint8","nodeType":"ElementaryTypeName","src":"30324:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12193,"mutability":"mutable","name":"byteLengthToPop","nameLocation":"30361:15:36","nodeType":"VariableDeclaration","scope":12239,"src":"30353:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12192,"name":"uint256","nodeType":"ElementaryTypeName","src":"30353:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30263:117:36"},"returnParameters":{"id":12195,"nodeType":"ParameterList","parameters":[],"src":"30390:0:36"},"scope":12701,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12265,"nodeType":"FunctionDefinition","src":"31958:254:36","nodes":[],"body":{"id":12264,"nodeType":"Block","src":"32141:71:36","nodes":[],"statements":[{"expression":{"arguments":[{"id":12257,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12243,"src":"32164:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12258,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12246,"src":"32173:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"arguments":[{"id":12260,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12243,"src":"32198:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"id":12259,"name":"getFieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10895,"src":"32183:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (ResourceId) view returns (FieldLayout)"}},"id":12261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32183:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"id":12256,"name":"getRecord","nodeType":"Identifier","overloadedDeclarations":[12265,12376],"referencedDeclaration":12376,"src":"32154:9:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,FieldLayout) view returns (bytes memory,EncodedLengths,bytes memory)"}},"id":12262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32154:53:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes_memory_ptr_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$","typeString":"tuple(bytes memory,EncodedLengths,bytes memory)"}},"functionReturnParameters":12255,"id":12263,"nodeType":"Return","src":"32147:60:36"}]},"documentation":{"id":12240,"nodeType":"StructuredDocumentation","src":"31254:701:36","text":" @notice Get the full record (all fields, static and dynamic data) for the given table ID and key tuple.\n @dev This function internally calls another overload of `getRecord`, loading the field layout from storage.\n If the field layout is available to the caller, it is recommended to use the other overload to avoid an additional storage read.\n @param tableId The ID of the table to get the record from.\n @param keyTuple An array representing the composite key for the record.\n @return staticData The static data of the record.\n @return encodedLengths The encoded lengths of the dynamic data of the record.\n @return dynamicData The dynamic data of the record."},"implemented":true,"kind":"function","modifiers":[],"name":"getRecord","nameLocation":"31967:9:36","parameters":{"id":12247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12243,"mutability":"mutable","name":"tableId","nameLocation":"31993:7:36","nodeType":"VariableDeclaration","scope":12265,"src":"31982:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12242,"nodeType":"UserDefinedTypeName","pathNode":{"id":12241,"name":"ResourceId","nameLocations":["31982:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"31982:10:36"},"referencedDeclaration":9486,"src":"31982:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12246,"mutability":"mutable","name":"keyTuple","nameLocation":"32023:8:36","nodeType":"VariableDeclaration","scope":12265,"src":"32006:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32006:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12245,"nodeType":"ArrayTypeName","src":"32006:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"31976:59:36"},"returnParameters":{"id":12255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12249,"mutability":"mutable","name":"staticData","nameLocation":"32072:10:36","nodeType":"VariableDeclaration","scope":12265,"src":"32059:23:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12248,"name":"bytes","nodeType":"ElementaryTypeName","src":"32059:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12252,"mutability":"mutable","name":"encodedLengths","nameLocation":"32099:14:36","nodeType":"VariableDeclaration","scope":12265,"src":"32084:29:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":12251,"nodeType":"UserDefinedTypeName","pathNode":{"id":12250,"name":"EncodedLengths","nameLocations":["32084:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"32084:14:36"},"referencedDeclaration":7251,"src":"32084:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"},{"constant":false,"id":12254,"mutability":"mutable","name":"dynamicData","nameLocation":"32128:11:36","nodeType":"VariableDeclaration","scope":12265,"src":"32115:24:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12253,"name":"bytes","nodeType":"ElementaryTypeName","src":"32115:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"32058:82:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12376,"nodeType":"FunctionDefinition","src":"32759:1315:36","nodes":[],"body":{"id":12375,"nodeType":"Block","src":"32971:1103:36","nodes":[],"statements":[{"assignments":[12286],"declarations":[{"constant":false,"id":12286,"mutability":"mutable","name":"staticLength","nameLocation":"33019:12:36","nodeType":"VariableDeclaration","scope":12375,"src":"33011:20:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12285,"name":"uint256","nodeType":"ElementaryTypeName","src":"33011:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12290,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12287,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12275,"src":"33034:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":12288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33046:16:36","memberName":"staticDataLength","nodeType":"MemberAccess","referencedDeclaration":8088,"src":"33034:28:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":12289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33034:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33011:53:36"},{"expression":{"id":12298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12291,"name":"staticData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12278,"src":"33112:10:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12294,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12269,"src":"33158:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12295,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12272,"src":"33167:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12296,"name":"staticLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12286,"src":"33177:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12292,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"33125:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33143:14:36","memberName":"_getStaticData","nodeType":"MemberAccess","referencedDeclaration":13027,"src":"33125:32:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint256) view returns (bytes memory)"}},"id":12297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33125:65:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"33112:78:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12299,"nodeType":"ExpressionStatement","src":"33112:78:36"},{"assignments":[12301],"declarations":[{"constant":false,"id":12301,"mutability":"mutable","name":"numDynamicFields","nameLocation":"33262:16:36","nodeType":"VariableDeclaration","scope":12375,"src":"33254:24:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12300,"name":"uint256","nodeType":"ElementaryTypeName","src":"33254:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12305,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12302,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12275,"src":"33281:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":12303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33293:16:36","memberName":"numDynamicFields","nodeType":"MemberAccess","referencedDeclaration":8134,"src":"33281:28:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":12304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33281:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33254:57:36"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12306,"name":"numDynamicFields","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12301,"src":"33321:16:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":12307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33340:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33321:20:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12374,"nodeType":"IfStatement","src":"33317:753:36","trueBody":{"id":12373,"nodeType":"Block","src":"33343:727:36","statements":[{"expression":{"id":12315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12309,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12281,"src":"33397:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12312,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12269,"src":"33462:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12313,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12272,"src":"33471:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12310,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"33414:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33432:29:36","memberName":"_loadEncodedDynamicDataLength","nodeType":"MemberAccess","referencedDeclaration":13232,"src":"33414:47:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (ResourceId,bytes32[] memory) view returns (EncodedLengths)"}},"id":12314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33414:66:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"src":"33397:83:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12316,"nodeType":"ExpressionStatement","src":"33397:83:36"},{"expression":{"id":12324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12317,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12283,"src":"33518:11:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12320,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12281,"src":"33542:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33557:5:36","memberName":"total","nodeType":"MemberAccess","referencedDeclaration":7691,"src":"33542:20:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths) pure returns (uint256)"}},"id":12322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33542:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"33532:9:36","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":12318,"name":"bytes","nodeType":"ElementaryTypeName","src":"33536:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":12323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33532:33:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"33518:47:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12325,"nodeType":"ExpressionStatement","src":"33518:47:36"},{"assignments":[12327],"declarations":[{"constant":false,"id":12327,"mutability":"mutable","name":"memoryPointer","nameLocation":"33581:13:36","nodeType":"VariableDeclaration","scope":12373,"src":"33573:21:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12326,"name":"uint256","nodeType":"ElementaryTypeName","src":"33573:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12332,"initialValue":{"arguments":[{"id":12330,"name":"dynamicData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12283,"src":"33616:11:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12328,"name":"Memory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9482,"src":"33597:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Memory_$9482_$","typeString":"type(library Memory)"}},"id":12329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33604:11:36","memberName":"dataPointer","nodeType":"MemberAccess","referencedDeclaration":9439,"src":"33597:18:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":12331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33597:31:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33573:55:36"},{"body":{"id":12371,"nodeType":"Block","src":"33678:386:36","statements":[{"assignments":[12343],"declarations":[{"constant":false,"id":12343,"mutability":"mutable","name":"dynamicDataLocation","nameLocation":"33696:19:36","nodeType":"VariableDeclaration","scope":12371,"src":"33688:27:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12342,"name":"uint256","nodeType":"ElementaryTypeName","src":"33688:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12350,"initialValue":{"arguments":[{"id":12346,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12269,"src":"33760:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12347,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12272,"src":"33769:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12348,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12334,"src":"33779:1:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12344,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"33718:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33736:23:36","memberName":"_getDynamicDataLocation","nodeType":"MemberAccess","referencedDeclaration":13181,"src":"33718:41:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory,uint8) pure returns (uint256)"}},"id":12349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33718:63:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33688:93:36"},{"assignments":[12352],"declarations":[{"constant":false,"id":12352,"mutability":"mutable","name":"length","nameLocation":"33799:6:36","nodeType":"VariableDeclaration","scope":12371,"src":"33791:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12351,"name":"uint256","nodeType":"ElementaryTypeName","src":"33791:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12357,"initialValue":{"arguments":[{"id":12355,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12334,"src":"33831:1:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12353,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12281,"src":"33808:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33823:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":7722,"src":"33808:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths,uint8) pure returns (uint256)"}},"id":12356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33808:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33791:42:36"},{"expression":{"arguments":[{"id":12361,"name":"dynamicDataLocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12343,"src":"33874:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":12362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33903:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":12363,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12352,"src":"33914:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12364,"name":"memoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12327,"src":"33937:13:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12358,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"33843:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":12360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33851:4:36","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10618,"src":"33843:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) view"}},"id":12365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["33858:14:36","33895:6:36","33906:6:36","33922:13:36"],"names":["storagePointer","offset","length","memoryPointer"],"nodeType":"FunctionCall","src":"33843:110:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12366,"nodeType":"ExpressionStatement","src":"33843:110:36"},{"expression":{"id":12369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12367,"name":"memoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12327,"src":"34032:13:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":12368,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12352,"src":"34049:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34032:23:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12370,"nodeType":"ExpressionStatement","src":"34032:23:36"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12336,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12334,"src":"33651:1:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12337,"name":"numDynamicFields","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12301,"src":"33655:16:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33651:20:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12372,"initializationExpression":{"assignments":[12334],"declarations":[{"constant":false,"id":12334,"mutability":"mutable","name":"i","nameLocation":"33648:1:36","nodeType":"VariableDeclaration","scope":12372,"src":"33642:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12333,"name":"uint8","nodeType":"ElementaryTypeName","src":"33642:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":12335,"nodeType":"VariableDeclarationStatement","src":"33642:7:36"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":12340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"33673:3:36","subExpression":{"id":12339,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12334,"src":"33673:1:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":12341,"nodeType":"ExpressionStatement","src":"33673:3:36"},"nodeType":"ForStatement","src":"33637:427:36"}]}}]},"documentation":{"id":12266,"nodeType":"StructuredDocumentation","src":"32216:540:36","text":" @notice Get the full record (all fields, static and dynamic data) for the given table ID and key tuple, with the given field layout.\n @param tableId The ID of the table to get the record from.\n @param keyTuple An array representing the composite key for the record.\n @param fieldLayout The field layout for the record.\n @return staticData The static data of the record.\n @return encodedLengths The encoded lengths of the dynamic data of the record.\n @return dynamicData The dynamic data of the record."},"implemented":true,"kind":"function","modifiers":[],"name":"getRecord","nameLocation":"32768:9:36","parameters":{"id":12276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12269,"mutability":"mutable","name":"tableId","nameLocation":"32794:7:36","nodeType":"VariableDeclaration","scope":12376,"src":"32783:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12268,"nodeType":"UserDefinedTypeName","pathNode":{"id":12267,"name":"ResourceId","nameLocations":["32783:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"32783:10:36"},"referencedDeclaration":9486,"src":"32783:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12272,"mutability":"mutable","name":"keyTuple","nameLocation":"32824:8:36","nodeType":"VariableDeclaration","scope":12376,"src":"32807:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12270,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32807:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12271,"nodeType":"ArrayTypeName","src":"32807:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12275,"mutability":"mutable","name":"fieldLayout","nameLocation":"32850:11:36","nodeType":"VariableDeclaration","scope":12376,"src":"32838:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":12274,"nodeType":"UserDefinedTypeName","pathNode":{"id":12273,"name":"FieldLayout","nameLocations":["32838:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"32838:11:36"},"referencedDeclaration":7885,"src":"32838:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"}],"src":"32777:88:36"},"returnParameters":{"id":12284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12278,"mutability":"mutable","name":"staticData","nameLocation":"32902:10:36","nodeType":"VariableDeclaration","scope":12376,"src":"32889:23:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12277,"name":"bytes","nodeType":"ElementaryTypeName","src":"32889:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12281,"mutability":"mutable","name":"encodedLengths","nameLocation":"32929:14:36","nodeType":"VariableDeclaration","scope":12376,"src":"32914:29:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":12280,"nodeType":"UserDefinedTypeName","pathNode":{"id":12279,"name":"EncodedLengths","nameLocations":["32914:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"32914:14:36"},"referencedDeclaration":7251,"src":"32914:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"},{"constant":false,"id":12283,"mutability":"mutable","name":"dynamicData","nameLocation":"32958:11:36","nodeType":"VariableDeclaration","scope":12376,"src":"32945:24:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12282,"name":"bytes","nodeType":"ElementaryTypeName","src":"32945:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"32888:82:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12400,"nodeType":"FunctionDefinition","src":"34503:218:36","nodes":[],"body":{"id":12399,"nodeType":"Block","src":"34639:82:36","nodes":[],"statements":[{"expression":{"arguments":[{"id":12391,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12380,"src":"34661:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12392,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12383,"src":"34670:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12393,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12385,"src":"34680:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"id":12395,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12380,"src":"34707:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"id":12394,"name":"getFieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10895,"src":"34692:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (ResourceId) view returns (FieldLayout)"}},"id":12396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34692:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"id":12390,"name":"getField","nodeType":"Identifier","overloadedDeclarations":[12400,12447],"referencedDeclaration":12447,"src":"34652:8:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint8,FieldLayout) view returns (bytes memory)"}},"id":12397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34652:64:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12389,"id":12398,"nodeType":"Return","src":"34645:71:36"}]},"documentation":{"id":12377,"nodeType":"StructuredDocumentation","src":"34078:422:36","text":" @notice Get a single field from the given table ID and key tuple.\n @dev This function internally calls another overload of `getField`, loading the field layout from storage.\n @param tableId The ID of the table to get the field from.\n @param keyTuple An array representing the composite key for the record.\n @param fieldIndex The index of the field to get.\n @return The data of the field."},"implemented":true,"kind":"function","modifiers":[],"name":"getField","nameLocation":"34512:8:36","parameters":{"id":12386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12380,"mutability":"mutable","name":"tableId","nameLocation":"34537:7:36","nodeType":"VariableDeclaration","scope":12400,"src":"34526:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12379,"nodeType":"UserDefinedTypeName","pathNode":{"id":12378,"name":"ResourceId","nameLocations":["34526:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"34526:10:36"},"referencedDeclaration":9486,"src":"34526:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12383,"mutability":"mutable","name":"keyTuple","nameLocation":"34567:8:36","nodeType":"VariableDeclaration","scope":12400,"src":"34550:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34550:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12382,"nodeType":"ArrayTypeName","src":"34550:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12385,"mutability":"mutable","name":"fieldIndex","nameLocation":"34587:10:36","nodeType":"VariableDeclaration","scope":12400,"src":"34581:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12384,"name":"uint8","nodeType":"ElementaryTypeName","src":"34581:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"34520:81:36"},"returnParameters":{"id":12389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12388,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12400,"src":"34625:12:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12387,"name":"bytes","nodeType":"ElementaryTypeName","src":"34625:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34624:14:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12447,"nodeType":"FunctionDefinition","src":"35124:440:36","nodes":[],"body":{"id":12446,"nodeType":"Block","src":"35289:275:36","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12417,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"35299:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12418,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12412,"src":"35312:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":12419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35324:15:36","memberName":"numStaticFields","nodeType":"MemberAccess","referencedDeclaration":8111,"src":"35312:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":12420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35312:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35299:42:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":12444,"nodeType":"Block","src":"35453:107:36","statements":[{"expression":{"arguments":[{"id":12432,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12404,"src":"35484:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12433,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12407,"src":"35493:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":12441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12434,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"35503:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12437,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12412,"src":"35522:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":12438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35534:15:36","memberName":"numStaticFields","nodeType":"MemberAccess","referencedDeclaration":8111,"src":"35522:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":12439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35522:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35516:5:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":12435,"name":"uint8","nodeType":"ElementaryTypeName","src":"35516:5:36","typeDescriptions":{}}},"id":12440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35516:36:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"35503:49:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":12431,"name":"getDynamicField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12517,"src":"35468:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint8) view returns (bytes memory)"}},"id":12442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35468:85:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12416,"id":12443,"nodeType":"Return","src":"35461:92:36"}]},"id":12445,"nodeType":"IfStatement","src":"35295:265:36","trueBody":{"id":12430,"nodeType":"Block","src":"35343:104:36","statements":[{"expression":{"arguments":[{"id":12424,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12404,"src":"35397:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12425,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12407,"src":"35406:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12426,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"35416:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":12427,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12412,"src":"35428:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"expression":{"id":12422,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"35358:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35376:20:36","memberName":"_getStaticFieldBytes","nodeType":"MemberAccess","referencedDeclaration":13061,"src":"35358:38:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes32[] memory,uint8,FieldLayout) view returns (bytes memory)"}},"id":12428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35358:82:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12416,"id":12429,"nodeType":"Return","src":"35351:89:36"}]}}]},"documentation":{"id":12401,"nodeType":"StructuredDocumentation","src":"34725:396:36","text":" @notice Get a single field from the given table ID and key tuple, with the given field layout.\n @param tableId The ID of the table to get the field from.\n @param keyTuple An array representing the composite key for the record.\n @param fieldIndex The index of the field to get.\n @param fieldLayout The field layout for the record.\n @return The data of the field."},"implemented":true,"kind":"function","modifiers":[],"name":"getField","nameLocation":"35133:8:36","parameters":{"id":12413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12404,"mutability":"mutable","name":"tableId","nameLocation":"35158:7:36","nodeType":"VariableDeclaration","scope":12447,"src":"35147:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12403,"nodeType":"UserDefinedTypeName","pathNode":{"id":12402,"name":"ResourceId","nameLocations":["35147:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"35147:10:36"},"referencedDeclaration":9486,"src":"35147:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12407,"mutability":"mutable","name":"keyTuple","nameLocation":"35188:8:36","nodeType":"VariableDeclaration","scope":12447,"src":"35171:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35171:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12406,"nodeType":"ArrayTypeName","src":"35171:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12409,"mutability":"mutable","name":"fieldIndex","nameLocation":"35208:10:36","nodeType":"VariableDeclaration","scope":12447,"src":"35202:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12408,"name":"uint8","nodeType":"ElementaryTypeName","src":"35202:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12412,"mutability":"mutable","name":"fieldLayout","nameLocation":"35236:11:36","nodeType":"VariableDeclaration","scope":12447,"src":"35224:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":12411,"nodeType":"UserDefinedTypeName","pathNode":{"id":12410,"name":"FieldLayout","nameLocations":["35224:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"35224:11:36"},"referencedDeclaration":7885,"src":"35224:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"}],"src":"35141:110:36"},"returnParameters":{"id":12416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12447,"src":"35275:12:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12414,"name":"bytes","nodeType":"ElementaryTypeName","src":"35275:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"35274:14:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12483,"nodeType":"FunctionDefinition","src":"36171:541:36","nodes":[],"body":{"id":12482,"nodeType":"Block","src":"36337:375:36","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":12468,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12451,"src":"36550:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12469,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12454,"src":"36559:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12466,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"36509:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36527:22:36","memberName":"_getStaticDataLocation","nodeType":"MemberAccess","referencedDeclaration":13087,"src":"36509:40:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory) pure returns (uint256)"}},"id":12470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36509:59:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":12473,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12456,"src":"36606:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12471,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12459,"src":"36586:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":12472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36598:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":8067,"src":"36586:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$_t_uint256_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout,uint256) pure returns (uint256)"}},"id":12474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36586:31:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":12477,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12459,"src":"36674:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},{"id":12478,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12456,"src":"36687:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12475,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"36635:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36653:20:36","memberName":"_getStaticDataOffset","nodeType":"MemberAccess","referencedDeclaration":13148,"src":"36635:38:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$_t_uint8_$returns$_t_uint256_$","typeString":"function (FieldLayout,uint8) pure returns (uint256)"}},"id":12479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36635:63:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12464,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"36465:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":12465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36473:9:36","memberName":"loadField","nodeType":"MemberAccess","referencedDeclaration":10664,"src":"36465:17:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256,uint256,uint256) view returns (bytes32)"}},"id":12480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["36493:14:36","36578:6:36","36627:6:36"],"names":["storagePointer","length","offset"],"nodeType":"FunctionCall","src":"36465:242:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":12463,"id":12481,"nodeType":"Return","src":"36452:255:36"}]},"documentation":{"id":12448,"nodeType":"StructuredDocumentation","src":"35568:600:36","text":" @notice Get a single static field from the given table ID and key tuple, with the given value field layout.\n @dev The field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out.\n Consumers are expected to truncate the returned value as needed.\n @param tableId The ID of the table to get the static field from.\n @param keyTuple An array representing the composite key for the record.\n @param fieldIndex The index of the field to get.\n @param fieldLayout The field layout for the record.\n @return The data of the static field."},"implemented":true,"kind":"function","modifiers":[],"name":"getStaticField","nameLocation":"36180:14:36","parameters":{"id":12460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12451,"mutability":"mutable","name":"tableId","nameLocation":"36211:7:36","nodeType":"VariableDeclaration","scope":12483,"src":"36200:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12450,"nodeType":"UserDefinedTypeName","pathNode":{"id":12449,"name":"ResourceId","nameLocations":["36200:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"36200:10:36"},"referencedDeclaration":9486,"src":"36200:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12454,"mutability":"mutable","name":"keyTuple","nameLocation":"36241:8:36","nodeType":"VariableDeclaration","scope":12483,"src":"36224:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12452,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36224:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12453,"nodeType":"ArrayTypeName","src":"36224:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12456,"mutability":"mutable","name":"fieldIndex","nameLocation":"36261:10:36","nodeType":"VariableDeclaration","scope":12483,"src":"36255:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12455,"name":"uint8","nodeType":"ElementaryTypeName","src":"36255:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12459,"mutability":"mutable","name":"fieldLayout","nameLocation":"36289:11:36","nodeType":"VariableDeclaration","scope":12483,"src":"36277:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":12458,"nodeType":"UserDefinedTypeName","pathNode":{"id":12457,"name":"FieldLayout","nameLocations":["36277:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"36277:11:36"},"referencedDeclaration":7885,"src":"36277:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"}],"src":"36194:110:36"},"returnParameters":{"id":12463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12462,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12483,"src":"36328:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36328:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"36327:9:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12517,"nodeType":"FunctionDefinition","src":"37180:522:36","nodes":[],"body":{"id":12516,"nodeType":"Block","src":"37330:372:36","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":12501,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12487,"src":"37521:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12502,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12490,"src":"37530:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12503,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12492,"src":"37540:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12499,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"37479:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37497:23:36","memberName":"_getDynamicDataLocation","nodeType":"MemberAccess","referencedDeclaration":13181,"src":"37479:41:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory,uint8) pure returns (uint256)"}},"id":12504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37479:79:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":12505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37576:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"id":12512,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12492,"src":"37670:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"arguments":[{"id":12508,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12487,"src":"37643:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12509,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12490,"src":"37652:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12506,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"37595:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37613:29:36","memberName":"_loadEncodedDynamicDataLength","nodeType":"MemberAccess","referencedDeclaration":13232,"src":"37595:47:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (ResourceId,bytes32[] memory) view returns (EncodedLengths)"}},"id":12510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37595:66:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37662:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":7722,"src":"37595:74:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths,uint8) pure returns (uint256)"}},"id":12513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37595:93:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12497,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"37440:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":12498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37448:4:36","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10498,"src":"37440:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256,uint256,uint256) view returns (bytes memory)"}},"id":12514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["37463:14:36","37568:6:36","37587:6:36"],"names":["storagePointer","offset","length"],"nodeType":"FunctionCall","src":"37440:257:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12496,"id":12515,"nodeType":"Return","src":"37427:270:36"}]},"documentation":{"id":12484,"nodeType":"StructuredDocumentation","src":"36716:461:36","text":" @notice Get a single dynamic field from the given table ID and key tuple.\n @param tableId The ID of the table to get the dynamic field from.\n @param keyTuple An array representing the composite key for the record.\n @param dynamicFieldIndex The index of the dynamic field to get, relative to the start of the dynamic fields.\n (Dynamic field index = field index - number of static fields)\n @return The data of the dynamic field."},"implemented":true,"kind":"function","modifiers":[],"name":"getDynamicField","nameLocation":"37189:15:36","parameters":{"id":12493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12487,"mutability":"mutable","name":"tableId","nameLocation":"37221:7:36","nodeType":"VariableDeclaration","scope":12517,"src":"37210:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12486,"nodeType":"UserDefinedTypeName","pathNode":{"id":12485,"name":"ResourceId","nameLocations":["37210:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"37210:10:36"},"referencedDeclaration":9486,"src":"37210:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12490,"mutability":"mutable","name":"keyTuple","nameLocation":"37251:8:36","nodeType":"VariableDeclaration","scope":12517,"src":"37234:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12488,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37234:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12489,"nodeType":"ArrayTypeName","src":"37234:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12492,"mutability":"mutable","name":"dynamicFieldIndex","nameLocation":"37271:17:36","nodeType":"VariableDeclaration","scope":12517,"src":"37265:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12491,"name":"uint8","nodeType":"ElementaryTypeName","src":"37265:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"37204:88:36"},"returnParameters":{"id":12496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12495,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12517,"src":"37316:12:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12494,"name":"bytes","nodeType":"ElementaryTypeName","src":"37316:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"37315:14:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12541,"nodeType":"FunctionDefinition","src":"38319:225:36","nodes":[],"body":{"id":12540,"nodeType":"Block","src":"38456:88:36","nodes":[],"statements":[{"expression":{"arguments":[{"id":12532,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12521,"src":"38484:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12533,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12524,"src":"38493:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12534,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12526,"src":"38503:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"id":12536,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12521,"src":"38530:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"id":12535,"name":"getFieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10895,"src":"38515:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (ResourceId) view returns (FieldLayout)"}},"id":12537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38515:23:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}],"id":12531,"name":"getFieldLength","nodeType":"Identifier","overloadedDeclarations":[12541,12587],"referencedDeclaration":12587,"src":"38469:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory,uint8,FieldLayout) view returns (uint256)"}},"id":12538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38469:70:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12530,"id":12539,"nodeType":"Return","src":"38462:77:36"}]},"documentation":{"id":12518,"nodeType":"StructuredDocumentation","src":"37706:610:36","text":" @notice Get the byte length of a single field from the given table ID and key tuple.\n @dev This function internally calls another overload of `getFieldLength`, loading the field layout from storage.\n If the field layout is available to the caller, it is recommended to use the other overload to avoid an additional storage read.\n @param tableId The ID of the table to get the field length from.\n @param keyTuple An array representing the composite key for the record.\n @param fieldIndex The index of the field to get the length for.\n @return The byte length of the field."},"implemented":true,"kind":"function","modifiers":[],"name":"getFieldLength","nameLocation":"38328:14:36","parameters":{"id":12527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12521,"mutability":"mutable","name":"tableId","nameLocation":"38359:7:36","nodeType":"VariableDeclaration","scope":12541,"src":"38348:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12520,"nodeType":"UserDefinedTypeName","pathNode":{"id":12519,"name":"ResourceId","nameLocations":["38348:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"38348:10:36"},"referencedDeclaration":9486,"src":"38348:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12524,"mutability":"mutable","name":"keyTuple","nameLocation":"38389:8:36","nodeType":"VariableDeclaration","scope":12541,"src":"38372:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38372:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12523,"nodeType":"ArrayTypeName","src":"38372:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12526,"mutability":"mutable","name":"fieldIndex","nameLocation":"38409:10:36","nodeType":"VariableDeclaration","scope":12541,"src":"38403:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12525,"name":"uint8","nodeType":"ElementaryTypeName","src":"38403:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"38342:81:36"},"returnParameters":{"id":12530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12529,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12541,"src":"38447:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12528,"name":"uint256","nodeType":"ElementaryTypeName","src":"38447:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38446:9:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12587,"nodeType":"FunctionDefinition","src":"38966:427:36","nodes":[],"body":{"id":12586,"nodeType":"Block","src":"39132:261:36","nodes":[],"statements":[{"assignments":[12559],"declarations":[{"constant":false,"id":12559,"mutability":"mutable","name":"numStaticFields","nameLocation":"39144:15:36","nodeType":"VariableDeclaration","scope":12586,"src":"39138:21:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12558,"name":"uint8","nodeType":"ElementaryTypeName","src":"39138:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":12566,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12562,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12553,"src":"39168:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":12563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39180:15:36","memberName":"numStaticFields","nodeType":"MemberAccess","referencedDeclaration":8111,"src":"39168:27:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout) pure returns (uint256)"}},"id":12564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39168:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39162:5:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":12560,"name":"uint8","nodeType":"ElementaryTypeName","src":"39162:5:36","typeDescriptions":{}}},"id":12565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39162:36:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"39138:60:36"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":12569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12567,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12550,"src":"39208:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12568,"name":"numStaticFields","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12559,"src":"39221:15:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"39208:28:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":12584,"nodeType":"Block","src":"39297:92:36","statements":[{"expression":{"arguments":[{"id":12577,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12545,"src":"39334:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12578,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12548,"src":"39343:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":12581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12579,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12550,"src":"39353:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12580,"name":"numStaticFields","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12559,"src":"39366:15:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"39353:28:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":12576,"name":"getDynamicFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12611,"src":"39312:21:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory,uint8) view returns (uint256)"}},"id":12582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39312:70:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12557,"id":12583,"nodeType":"Return","src":"39305:77:36"}]},"id":12585,"nodeType":"IfStatement","src":"39204:185:36","trueBody":{"id":12575,"nodeType":"Block","src":"39238:53:36","statements":[{"expression":{"arguments":[{"id":12572,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12550,"src":"39273:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12570,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12553,"src":"39253:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":12571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39265:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":8067,"src":"39253:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$_t_uint256_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout,uint256) pure returns (uint256)"}},"id":12573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39253:31:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12557,"id":12574,"nodeType":"Return","src":"39246:38:36"}]}}]},"documentation":{"id":12542,"nodeType":"StructuredDocumentation","src":"38548:415:36","text":" @notice Get the byte length of a single field from the given table ID and key tuple.\n @param tableId The ID of the table to get the field length from.\n @param keyTuple An array representing the composite key for the record.\n @param fieldIndex The index of the field to get the length for.\n @param fieldLayout The field layout for the record.\n @return The byte length of the field."},"implemented":true,"kind":"function","modifiers":[],"name":"getFieldLength","nameLocation":"38975:14:36","parameters":{"id":12554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12545,"mutability":"mutable","name":"tableId","nameLocation":"39006:7:36","nodeType":"VariableDeclaration","scope":12587,"src":"38995:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12544,"nodeType":"UserDefinedTypeName","pathNode":{"id":12543,"name":"ResourceId","nameLocations":["38995:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"38995:10:36"},"referencedDeclaration":9486,"src":"38995:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12548,"mutability":"mutable","name":"keyTuple","nameLocation":"39036:8:36","nodeType":"VariableDeclaration","scope":12587,"src":"39019:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12546,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39019:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12547,"nodeType":"ArrayTypeName","src":"39019:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12550,"mutability":"mutable","name":"fieldIndex","nameLocation":"39056:10:36","nodeType":"VariableDeclaration","scope":12587,"src":"39050:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12549,"name":"uint8","nodeType":"ElementaryTypeName","src":"39050:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12553,"mutability":"mutable","name":"fieldLayout","nameLocation":"39084:11:36","nodeType":"VariableDeclaration","scope":12587,"src":"39072:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":12552,"nodeType":"UserDefinedTypeName","pathNode":{"id":12551,"name":"FieldLayout","nameLocations":["39072:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"39072:11:36"},"referencedDeclaration":7885,"src":"39072:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"}],"src":"38989:110:36"},"returnParameters":{"id":12557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12556,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12587,"src":"39123:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12555,"name":"uint256","nodeType":"ElementaryTypeName","src":"39123:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39122:9:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12611,"nodeType":"FunctionDefinition","src":"39909:262:36","nodes":[],"body":{"id":12610,"nodeType":"Block","src":"40060:111:36","nodes":[],"statements":[{"expression":{"arguments":[{"id":12607,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12596,"src":"40148:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"arguments":[{"id":12603,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12591,"src":"40121:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12604,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12594,"src":"40130:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12601,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"40073:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40091:29:36","memberName":"_loadEncodedDynamicDataLength","nodeType":"MemberAccess","referencedDeclaration":13232,"src":"40073:47:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (ResourceId,bytes32[] memory) view returns (EncodedLengths)"}},"id":12605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40073:66:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40140:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":7722,"src":"40073:74:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths,uint8) pure returns (uint256)"}},"id":12608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40073:93:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12600,"id":12609,"nodeType":"Return","src":"40066:100:36"}]},"documentation":{"id":12588,"nodeType":"StructuredDocumentation","src":"39397:509:36","text":" @notice Get the byte length of a single dynamic field from the given table ID and key tuple.\n @param tableId The ID of the table to get the dynamic field length from.\n @param keyTuple An array representing the composite key for the record.\n @param dynamicFieldIndex The index of the dynamic field to get the length for, relative to the start of the dynamic fields.\n (Dynamic field index = field index - number of static fields)\n @return The byte length of the dynamic field."},"implemented":true,"kind":"function","modifiers":[],"name":"getDynamicFieldLength","nameLocation":"39918:21:36","parameters":{"id":12597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12591,"mutability":"mutable","name":"tableId","nameLocation":"39956:7:36","nodeType":"VariableDeclaration","scope":12611,"src":"39945:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12590,"nodeType":"UserDefinedTypeName","pathNode":{"id":12589,"name":"ResourceId","nameLocations":["39945:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"39945:10:36"},"referencedDeclaration":9486,"src":"39945:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12594,"mutability":"mutable","name":"keyTuple","nameLocation":"39986:8:36","nodeType":"VariableDeclaration","scope":12611,"src":"39969:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12592,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39969:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12593,"nodeType":"ArrayTypeName","src":"39969:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12596,"mutability":"mutable","name":"dynamicFieldIndex","nameLocation":"40006:17:36","nodeType":"VariableDeclaration","scope":12611,"src":"40000:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12595,"name":"uint8","nodeType":"ElementaryTypeName","src":"40000:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"39939:88:36"},"returnParameters":{"id":12600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12611,"src":"40051:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12598,"name":"uint256","nodeType":"ElementaryTypeName","src":"40051:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40050:9:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12700,"nodeType":"FunctionDefinition","src":"40903:1149:36","nodes":[],"body":{"id":12699,"nodeType":"Block","src":"41094:958:36","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12629,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12622,"src":"41145:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":12630,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12624,"src":"41153:3:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41145:11:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12640,"nodeType":"IfStatement","src":"41141:83:36","trueBody":{"id":12639,"nodeType":"Block","src":"41158:66:36","statements":[{"errorCall":{"arguments":[{"id":12635,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12622,"src":"41206:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12636,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12624,"src":"41213:3:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12632,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"41173:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":12634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41186:19:36","memberName":"Store_InvalidBounds","nodeType":"MemberAccess","referencedDeclaration":8696,"src":"41173:32:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":12637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41173:44:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12638,"nodeType":"RevertStatement","src":"41166:51:36"}]}},{"assignments":[12643],"declarations":[{"constant":false,"id":12643,"mutability":"mutable","name":"encodedLengths","nameLocation":"41448:14:36","nodeType":"VariableDeclaration","scope":12699,"src":"41433:29:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":12642,"nodeType":"UserDefinedTypeName","pathNode":{"id":12641,"name":"EncodedLengths","nameLocations":["41433:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"41433:14:36"},"referencedDeclaration":7251,"src":"41433:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"id":12649,"initialValue":{"arguments":[{"id":12646,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12615,"src":"41513:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12647,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12618,"src":"41522:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12644,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"41465:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41483:29:36","memberName":"_loadEncodedDynamicDataLength","nodeType":"MemberAccess","referencedDeclaration":13232,"src":"41465:47:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (ResourceId,bytes32[] memory) view returns (EncodedLengths)"}},"id":12648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41465:66:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"nodeType":"VariableDeclarationStatement","src":"41433:98:36"},{"assignments":[12651],"declarations":[{"constant":false,"id":12651,"mutability":"mutable","name":"fieldLength","nameLocation":"41545:11:36","nodeType":"VariableDeclaration","scope":12699,"src":"41537:19:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12650,"name":"uint256","nodeType":"ElementaryTypeName","src":"41537:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12656,"initialValue":{"arguments":[{"id":12654,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12620,"src":"41582:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12652,"name":"encodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12643,"src":"41559:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41574:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":7722,"src":"41559:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths,uint8) pure returns (uint256)"}},"id":12655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41559:41:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41537:63:36"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12657,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12622,"src":"41610:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":12658,"name":"fieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12651,"src":"41619:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41610:20:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12660,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12624,"src":"41634:3:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":12661,"name":"fieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12651,"src":"41640:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41634:17:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"41610:41:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12679,"nodeType":"IfStatement","src":"41606:157:36","trueBody":{"id":12678,"nodeType":"Block","src":"41653:110:36","statements":[{"errorCall":{"arguments":[{"id":12667,"name":"fieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12651,"src":"41704:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12668,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12622,"src":"41717:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":12669,"name":"fieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12651,"src":"41726:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41717:20:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12672,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12624,"src":"41748:3:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41754:1:36","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"41748:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"41717:38:36","trueExpression":{"id":12671,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12622,"src":"41740:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12664,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"41668:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":12666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41681:22:36","memberName":"Store_IndexOutOfBounds","nodeType":"MemberAccess","referencedDeclaration":8703,"src":"41668:35:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":12676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41668:88:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12677,"nodeType":"RevertStatement","src":"41661:95:36"}]}},{"assignments":[12681],"declarations":[{"constant":false,"id":12681,"mutability":"mutable","name":"location","nameLocation":"41841:8:36","nodeType":"VariableDeclaration","scope":12699,"src":"41833:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12680,"name":"uint256","nodeType":"ElementaryTypeName","src":"41833:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12688,"initialValue":{"arguments":[{"id":12684,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12615,"src":"41894:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12685,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12618,"src":"41903:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12686,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12620,"src":"41913:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12682,"name":"StoreCoreInternal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13233,"src":"41852:17:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreCoreInternal_$13233_$","typeString":"type(library StoreCoreInternal)"}},"id":12683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41870:23:36","memberName":"_getDynamicDataLocation","nodeType":"MemberAccess","referencedDeclaration":13181,"src":"41852:41:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory,uint8) pure returns (uint256)"}},"id":12687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41852:79:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"41833:98:36"},{"id":12698,"nodeType":"UncheckedBlock","src":"41938:110:36","statements":[{"expression":{"arguments":[{"id":12691,"name":"location","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12681,"src":"41994:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12692,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12622,"src":"42012:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12693,"name":"end","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12624,"src":"42027:3:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12694,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12622,"src":"42033:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"42027:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12689,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"41963:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":12690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41971:4:36","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10498,"src":"41963:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256,uint256,uint256) view returns (bytes memory)"}},"id":12696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["41978:14:36","42004:6:36","42019:6:36"],"names":["storagePointer","offset","length"],"nodeType":"FunctionCall","src":"41963:78:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12628,"id":12697,"nodeType":"Return","src":"41956:85:36"}]}]},"documentation":{"id":12612,"nodeType":"StructuredDocumentation","src":"40175:725:36","text":" @notice Get a byte slice (including start, excluding end) of a single dynamic field from the given table ID and key tuple.\n @param tableId The ID of the table to get the dynamic field slice from.\n @param keyTuple An array representing the composite key for the record.\n @param dynamicFieldIndex The index of the dynamic field to get the slice from, relative to the start of the dynamic fields.\n (Dynamic field index = field index - number of static fields)\n @param start The start index within the dynamic field for the slice operation (inclusive).\n @param end The end index within the dynamic field for the slice operation (exclusive).\n @return The byte slice of the dynamic field."},"implemented":true,"kind":"function","modifiers":[],"name":"getDynamicFieldSlice","nameLocation":"40912:20:36","parameters":{"id":12625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12615,"mutability":"mutable","name":"tableId","nameLocation":"40949:7:36","nodeType":"VariableDeclaration","scope":12700,"src":"40938:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12614,"nodeType":"UserDefinedTypeName","pathNode":{"id":12613,"name":"ResourceId","nameLocations":["40938:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"40938:10:36"},"referencedDeclaration":9486,"src":"40938:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12618,"mutability":"mutable","name":"keyTuple","nameLocation":"40979:8:36","nodeType":"VariableDeclaration","scope":12700,"src":"40962:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40962:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12617,"nodeType":"ArrayTypeName","src":"40962:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12620,"mutability":"mutable","name":"dynamicFieldIndex","nameLocation":"40999:17:36","nodeType":"VariableDeclaration","scope":12700,"src":"40993:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12619,"name":"uint8","nodeType":"ElementaryTypeName","src":"40993:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12622,"mutability":"mutable","name":"start","nameLocation":"41030:5:36","nodeType":"VariableDeclaration","scope":12700,"src":"41022:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12621,"name":"uint256","nodeType":"ElementaryTypeName","src":"41022:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12624,"mutability":"mutable","name":"end","nameLocation":"41049:3:36","nodeType":"VariableDeclaration","scope":12700,"src":"41041:11:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12623,"name":"uint256","nodeType":"ElementaryTypeName","src":"41041:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40932:124:36"},"returnParameters":{"id":12628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12627,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12700,"src":"41080:12:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12626,"name":"bytes","nodeType":"ElementaryTypeName","src":"41080:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"41079:14:36"},"scope":12701,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StoreCore","contractDependencies":[],"contractKind":"library","documentation":{"id":10717,"nodeType":"StructuredDocumentation","src":"1127:214:36","text":" @title StoreCore Library\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @notice This library includes implementations for all IStore methods and events related to the store actions."},"fullyImplemented":true,"linearizedBaseContracts":[12701],"name":"StoreCore","nameLocation":"1350:9:36","scope":13234,"usedErrors":[],"usedEvents":[]},{"id":13233,"nodeType":"ContractDefinition","src":"42298:11946:36","nodes":[{"id":12707,"nodeType":"VariableDeclaration","src":"42328:55:36","nodes":[],"constant":true,"mutability":"constant","name":"SLOT","nameLocation":"42354:4:36","scope":13233,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42328:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"6d75642e73746f7265","id":12705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42371:11:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9","typeString":"literal_string \"mud.store\""},"value":"mud.store"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9","typeString":"literal_string \"mud.store\""}],"id":12704,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"42361:9:36","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42361:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":12712,"nodeType":"VariableDeclaration","src":"42387:80:36","nodes":[],"constant":true,"mutability":"constant","name":"DYNAMIC_DATA_SLOT","nameLocation":"42413:17:36","scope":13233,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12708,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42387:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"6d75642e73746f72652e64796e616d696344617461","id":12710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42443:23:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1","typeString":"literal_string \"mud.store.dynamicData\""},"value":"mud.store.dynamicData"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1","typeString":"literal_string \"mud.store.dynamicData\""}],"id":12709,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"42433:9:36","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42433:34:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":12717,"nodeType":"VariableDeclaration","src":"42471:93:36","nodes":[],"constant":true,"mutability":"constant","name":"DYNAMIC_DATA_LENGTH_SLOT","nameLocation":"42497:24:36","scope":13233,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42471:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"6d75642e73746f72652e64796e616d6963446174614c656e677468","id":12715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42534:29:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569","typeString":"literal_string \"mud.store.dynamicDataLength\""},"value":"mud.store.dynamicDataLength"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569","typeString":"literal_string \"mud.store.dynamicDataLength\""}],"id":12714,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"42524:9:36","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42524:40:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":12992,"nodeType":"FunctionDefinition","src":"44254:4001:36","nodes":[],"body":{"id":12991,"nodeType":"Block","src":"44498:3757:36","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"id":12742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12738,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12721,"src":"44652:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":12739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44660:7:36","memberName":"getType","nodeType":"MemberAccess","referencedDeclaration":9545,"src":"44652:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes2_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (bytes2)"}},"id":12740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44652:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":12741,"name":"RESOURCE_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21705,"src":"44673:14:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"src":"44652:35:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12758,"nodeType":"IfStatement","src":"44648:161:36","trueBody":{"id":12757,"nodeType":"Block","src":"44689:120:36","statements":[{"errorCall":{"arguments":[{"id":12746,"name":"RESOURCE_TABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21705,"src":"44743:14:36","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":12747,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12721,"src":"44759:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"arguments":[{"id":12752,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12721,"src":"44792:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":12750,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44775:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44779:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"44775:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44775:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44768:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":12748,"name":"string","nodeType":"ElementaryTypeName","src":"44768:6:36","typeDescriptions":{}}},"id":12754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44768:33:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12743,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"44704:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":12745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44717:25:36","memberName":"Store_InvalidResourceType","nodeType":"MemberAccess","referencedDeclaration":8689,"src":"44704:38:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes2_$_t_userDefinedValueType$_ResourceId_$9486_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes2,ResourceId,string memory) pure"}},"id":12755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44704:98:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12756,"nodeType":"RevertStatement","src":"44697:105:36"}]}},{"assignments":[12760],"declarations":[{"constant":false,"id":12760,"mutability":"mutable","name":"previousFieldLength","nameLocation":"44823:19:36","nodeType":"VariableDeclaration","scope":12991,"src":"44815:27:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12759,"name":"uint256","nodeType":"ElementaryTypeName","src":"44815:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12765,"initialValue":{"arguments":[{"id":12763,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12726,"src":"44876:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12761,"name":"previousEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12735,"src":"44845:22:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44868:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":7722,"src":"44845:30:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths,uint8) pure returns (uint256)"}},"id":12764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44845:49:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"44815:79:36"},{"assignments":[12767],"declarations":[{"constant":false,"id":12767,"mutability":"mutable","name":"updatedFieldLength","nameLocation":"44908:18:36","nodeType":"VariableDeclaration","scope":12991,"src":"44900:26:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12766,"name":"uint256","nodeType":"ElementaryTypeName","src":"44900:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12774,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12768,"name":"previousFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12760,"src":"44929:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12769,"name":"deleteCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12730,"src":"44951:11:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"src":"44929:33:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":12771,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12732,"src":"44965:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"44970:6:36","memberName":"length","nodeType":"MemberAccess","src":"44965:11:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44929:47:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"44900:76:36"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12775,"name":"previousFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12760,"src":"45225:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":12776,"name":"updatedFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12767,"src":"45248:18:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45225:41:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint40","typeString":"uint40"},"id":12780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12778,"name":"startWithinField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"45270:16:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12779,"name":"deleteCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12730,"src":"45289:11:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"src":"45270:30:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":12781,"name":"previousFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12760,"src":"45304:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45270:53:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"45225:98:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12796,"nodeType":"IfStatement","src":"45221:218:36","trueBody":{"id":12795,"nodeType":"Block","src":"45325:114:36","statements":[{"errorCall":{"arguments":[{"id":12787,"name":"startWithinField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"45373:16:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":12788,"name":"deleteCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12730,"src":"45391:11:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"id":12791,"name":"previousFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12760,"src":"45411:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45404:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":12789,"name":"uint40","nodeType":"ElementaryTypeName","src":"45404:6:36","typeDescriptions":{}}},"id":12792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45404:27:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_uint40","typeString":"uint40"}],"expression":{"id":12784,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"45340:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":12786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45353:19:36","memberName":"Store_InvalidSplice","nodeType":"MemberAccess","referencedDeclaration":8754,"src":"45340:32:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint40_$_t_uint40_$_t_uint40_$returns$__$","typeString":"function (uint40,uint40,uint40) pure"}},"id":12793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45340:92:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12794,"nodeType":"RevertStatement","src":"45333:99:36"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12797,"name":"startWithinField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"45526:16:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":12798,"name":"previousFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12760,"src":"45545:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45526:38:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12808,"nodeType":"IfStatement","src":"45522:140:36","trueBody":{"id":12807,"nodeType":"Block","src":"45566:96:36","statements":[{"errorCall":{"arguments":[{"id":12803,"name":"previousFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12760,"src":"45617:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12804,"name":"startWithinField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"45638:16:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint40","typeString":"uint40"}],"expression":{"id":12800,"name":"IStoreErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"45581:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreErrors_$8755_$","typeString":"type(contract IStoreErrors)"}},"id":12802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45594:22:36","memberName":"Store_IndexOutOfBounds","nodeType":"MemberAccess","referencedDeclaration":8703,"src":"45581:35:36","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":12805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45581:74:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12806,"nodeType":"RevertStatement","src":"45574:81:36"}]}},{"assignments":[12811],"declarations":[{"constant":false,"id":12811,"mutability":"mutable","name":"updatedEncodedLengths","nameLocation":"45716:21:36","nodeType":"VariableDeclaration","scope":12991,"src":"45701:36:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":12810,"nodeType":"UserDefinedTypeName","pathNode":{"id":12809,"name":"EncodedLengths","nameLocations":["45701:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"45701:14:36"},"referencedDeclaration":7251,"src":"45701:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"id":12817,"initialValue":{"arguments":[{"id":12814,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12726,"src":"45774:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":12815,"name":"updatedFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12767,"src":"45793:18:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12812,"name":"previousEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12735,"src":"45740:22:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45763:10:36","memberName":"setAtIndex","nodeType":"MemberAccess","referencedDeclaration":7856,"src":"45740:33:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$_t_uint256_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths,uint8,uint256) pure returns (EncodedLengths)"}},"id":12816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45740:72:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"nodeType":"VariableDeclarationStatement","src":"45701:111:36"},{"assignments":[12822],"declarations":[{"constant":false,"id":12822,"mutability":"mutable","name":"hooks","nameLocation":"45976:5:36","nodeType":"VariableDeclaration","scope":12991,"src":"45959:22:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":12820,"name":"bytes21","nodeType":"ElementaryTypeName","src":"45959:7:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":12821,"nodeType":"ArrayTypeName","src":"45959:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"id":12827,"initialValue":{"arguments":[{"id":12825,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12721,"src":"46000:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":12823,"name":"StoreHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18664,"src":"45984:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StoreHooks_$18664_$","typeString":"type(library StoreHooks)"}},"id":12824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45995:4:36","memberName":"_get","nodeType":"MemberAccess","referencedDeclaration":17338,"src":"45984:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_array$_t_bytes21_$dyn_memory_ptr_$","typeString":"function (ResourceId) view returns (bytes21[] memory)"}},"id":12826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45984:24:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"nodeType":"VariableDeclarationStatement","src":"45959:49:36"},{"body":{"id":12869,"nodeType":"Block","src":"46053:447:36","statements":[{"assignments":[12840],"declarations":[{"constant":false,"id":12840,"mutability":"mutable","name":"hook","nameLocation":"46066:4:36","nodeType":"VariableDeclaration","scope":12869,"src":"46061:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"},"typeName":{"id":12839,"nodeType":"UserDefinedTypeName","pathNode":{"id":12838,"name":"Hook","nameLocations":["46061:4:36"],"nodeType":"IdentifierPath","referencedDeclaration":8369,"src":"46061:4:36"},"referencedDeclaration":8369,"src":"46061:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"visibility":"internal"}],"id":12847,"initialValue":{"arguments":[{"baseExpression":{"id":12843,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12822,"src":"46083:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":12845,"indexExpression":{"id":12844,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12829,"src":"46089:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46083:8:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":12841,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"46073:4:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hook_$8369_$","typeString":"type(Hook)"}},"id":12842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46078:4:36","memberName":"wrap","nodeType":"MemberAccess","src":"46073:9:36","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes21_$returns$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (bytes21) pure returns (Hook)"}},"id":12846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46073:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"nodeType":"VariableDeclarationStatement","src":"46061:31:36"},{"condition":{"arguments":[{"id":12850,"name":"BEFORE_SPLICE_DYNAMIC_DATA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21643,"src":"46119:26:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12848,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12840,"src":"46104:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":12849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46109:9:36","memberName":"isEnabled","nodeType":"MemberAccess","referencedDeclaration":8515,"src":"46104:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$_t_uint8_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook,uint8) pure returns (bool)"}},"id":12851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46104:42:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12868,"nodeType":"IfStatement","src":"46100:394:36","trueBody":{"id":12867,"nodeType":"Block","src":"46148:346:36","statements":[{"expression":{"arguments":[{"id":12858,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12721,"src":"46235:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12859,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12724,"src":"46264:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12860,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12726,"src":"46303:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":12861,"name":"startWithinField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"46350:16:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":12862,"name":"deleteCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12730,"src":"46391:11:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":12863,"name":"previousEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12735,"src":"46430:22:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":12864,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12732,"src":"46470:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12853,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12840,"src":"46169:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":12854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46174:10:36","memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":8536,"src":"46169:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$returns$_t_address_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook) pure returns (address)"}},"id":12855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46169:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12852,"name":"IStoreHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8979,"src":"46158:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreHook_$8979_$","typeString":"type(contract IStoreHook)"}},"id":12856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46158:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}},"id":12857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46188:25:36","memberName":"onBeforeSpliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":8931,"src":"46158:55:36","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint40_$_t_uint40_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint40,uint40,EncodedLengths,bytes memory) external"}},"id":12865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["46226:7:36","46254:8:36","46284:17:36","46332:16:36","46378:11:36","46414:14:36","46464:4:36"],"names":["tableId","keyTuple","dynamicFieldIndex","startWithinField","deleteCount","encodedLengths","data"],"nodeType":"FunctionCall","src":"46158:327:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12866,"nodeType":"ExpressionStatement","src":"46158:327:36"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12829,"src":"46030:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":12832,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12822,"src":"46034:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":12833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46040:6:36","memberName":"length","nodeType":"MemberAccess","src":"46034:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46030:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12870,"initializationExpression":{"assignments":[12829],"declarations":[{"constant":false,"id":12829,"mutability":"mutable","name":"i","nameLocation":"46027:1:36","nodeType":"VariableDeclaration","scope":12870,"src":"46019:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12828,"name":"uint256","nodeType":"ElementaryTypeName","src":"46019:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12830,"nodeType":"VariableDeclarationStatement","src":"46019:9:36"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":12836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"46048:3:36","subExpression":{"id":12835,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12829,"src":"46048:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12837,"nodeType":"ExpressionStatement","src":"46048:3:36"},"nodeType":"ForStatement","src":"46014:486:36"},{"id":12909,"nodeType":"Block","src":"46506:652:36","statements":[{"assignments":[12872],"declarations":[{"constant":false,"id":12872,"mutability":"mutable","name":"start","nameLocation":"46566:5:36","nodeType":"VariableDeclaration","scope":12909,"src":"46558:13:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12871,"name":"uint256","nodeType":"ElementaryTypeName","src":"46558:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12874,"initialValue":{"id":12873,"name":"startWithinField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"46574:16:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"nodeType":"VariableDeclarationStatement","src":"46558:32:36"},{"id":12893,"nodeType":"UncheckedBlock","src":"46598:215:36","statements":[{"body":{"id":12891,"nodeType":"Block","src":"46740:65:36","statements":[{"expression":{"id":12889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12884,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12872,"src":"46752:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":12887,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12876,"src":"46792:1:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12885,"name":"previousEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12735,"src":"46761:22:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46784:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":7722,"src":"46761:30:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_uint8_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths,uint8) pure returns (uint256)"}},"id":12888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46761:33:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46752:42:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12890,"nodeType":"ExpressionStatement","src":"46752:42:36"}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":12880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12878,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12876,"src":"46712:1:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12879,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12726,"src":"46716:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"46712:21:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12892,"initializationExpression":{"assignments":[12876],"declarations":[{"constant":false,"id":12876,"mutability":"mutable","name":"i","nameLocation":"46709:1:36","nodeType":"VariableDeclaration","scope":12892,"src":"46703:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12875,"name":"uint8","nodeType":"ElementaryTypeName","src":"46703:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":12877,"nodeType":"VariableDeclarationStatement","src":"46703:7:36"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":12882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"46735:3:36","subExpression":{"id":12881,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12876,"src":"46735:1:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":12883,"nodeType":"ExpressionStatement","src":"46735:3:36"},"nodeType":"ForStatement","src":"46698:107:36"}]},{"eventCall":{"arguments":[{"id":12897,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12721,"src":"46930:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12898,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12724,"src":"46957:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12899,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12726,"src":"46994:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"arguments":[{"id":12902,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12872,"src":"47035:5:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"47028:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":12900,"name":"uint48","nodeType":"ElementaryTypeName","src":"47028:6:36","typeDescriptions":{}}},"id":12903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47028:13:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},{"id":12904,"name":"deleteCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12730,"src":"47064:11:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":12905,"name":"updatedEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12811,"src":"47101:21:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":12906,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12732,"src":"47138:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint48","typeString":"uint48"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12894,"name":"IStoreEvents","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8826,"src":"46874:12:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreEvents_$8826_$","typeString":"type(contract IStoreEvents)"}},"id":12896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46887:23:36","memberName":"Store_SpliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":8816,"src":"46874:36:36","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint48_$_t_uint40_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint48,uint40,EncodedLengths,bytes memory)"}},"id":12907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["46921:7:36","46947:8:36","46975:17:36","47021:5:36","47051:11:36","47085:14:36","47132:4:36"],"names":["tableId","keyTuple","dynamicFieldIndex","start","deleteCount","encodedLengths","data"],"nodeType":"FunctionCall","src":"46874:277:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12908,"nodeType":"EmitStatement","src":"46869:282:36"}]},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12910,"name":"previousFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12760,"src":"47220:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":12911,"name":"updatedFieldLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12767,"src":"47243:18:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47220:41:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12930,"nodeType":"IfStatement","src":"47216:248:36","trueBody":{"id":12929,"nodeType":"Block","src":"47263:201:36","statements":[{"assignments":[12914],"declarations":[{"constant":false,"id":12914,"mutability":"mutable","name":"dynamicSchemaLengthSlot","nameLocation":"47279:23:36","nodeType":"VariableDeclaration","scope":12929,"src":"47271:31:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12913,"name":"uint256","nodeType":"ElementaryTypeName","src":"47271:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12919,"initialValue":{"arguments":[{"id":12916,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12721,"src":"47335:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12917,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12724,"src":"47344:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":12915,"name":"_getDynamicDataLengthLocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13207,"src":"47305:29:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory) pure returns (uint256)"}},"id":12918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47305:48:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47271:82:36"},{"expression":{"arguments":[{"id":12923,"name":"dynamicSchemaLengthSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12914,"src":"47393:23:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12924,"name":"updatedEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12811,"src":"47424:21:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"id":12925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47446:6:36","memberName":"unwrap","nodeType":"MemberAccess","referencedDeclaration":7871,"src":"47424:28:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_EncodedLengths_$7251_$returns$_t_bytes32_$attached_to$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (EncodedLengths) pure returns (bytes32)"}},"id":12926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47424:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":12920,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"47361:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":12922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47369:5:36","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":10308,"src":"47361:13:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,bytes32)"}},"id":12927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["47377:14:36","47418:4:36"],"names":["storagePointer","data"],"nodeType":"FunctionCall","src":"47361:96:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12928,"nodeType":"ExpressionStatement","src":"47361:96:36"}]}},{"id":12947,"nodeType":"Block","src":"47513:206:36","statements":[{"assignments":[12932],"declarations":[{"constant":false,"id":12932,"mutability":"mutable","name":"dynamicDataLocation","nameLocation":"47529:19:36","nodeType":"VariableDeclaration","scope":12947,"src":"47521:27:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12931,"name":"uint256","nodeType":"ElementaryTypeName","src":"47521:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12938,"initialValue":{"arguments":[{"id":12934,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12721,"src":"47575:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12935,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12724,"src":"47584:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12936,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12726,"src":"47594:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":12933,"name":"_getDynamicDataLocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13181,"src":"47551:23:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory,uint8) pure returns (uint256)"}},"id":12937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47551:61:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47521:91:36"},{"expression":{"arguments":[{"id":12942,"name":"dynamicDataLocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12932,"src":"47652:19:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12943,"name":"startWithinField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"47681:16:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":12944,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12732,"src":"47705:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12939,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"47620:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":12941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47628:5:36","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":10330,"src":"47620:13:36","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,bytes memory)"}},"id":12945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["47636:14:36","47673:6:36","47699:4:36"],"names":["storagePointer","offset","data"],"nodeType":"FunctionCall","src":"47620:92:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12946,"nodeType":"ExpressionStatement","src":"47620:92:36"}]},{"body":{"id":12989,"nodeType":"Block","src":"47807:444:36","statements":[{"assignments":[12960],"declarations":[{"constant":false,"id":12960,"mutability":"mutable","name":"hook","nameLocation":"47820:4:36","nodeType":"VariableDeclaration","scope":12989,"src":"47815:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"},"typeName":{"id":12959,"nodeType":"UserDefinedTypeName","pathNode":{"id":12958,"name":"Hook","nameLocations":["47815:4:36"],"nodeType":"IdentifierPath","referencedDeclaration":8369,"src":"47815:4:36"},"referencedDeclaration":8369,"src":"47815:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"visibility":"internal"}],"id":12967,"initialValue":{"arguments":[{"baseExpression":{"id":12963,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12822,"src":"47837:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":12965,"indexExpression":{"id":12964,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12949,"src":"47843:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47837:8:36","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":12961,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"47827:4:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hook_$8369_$","typeString":"type(Hook)"}},"id":12962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47832:4:36","memberName":"wrap","nodeType":"MemberAccess","src":"47827:9:36","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes21_$returns$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (bytes21) pure returns (Hook)"}},"id":12966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47827:19:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"nodeType":"VariableDeclarationStatement","src":"47815:31:36"},{"condition":{"arguments":[{"id":12970,"name":"AFTER_SPLICE_DYNAMIC_DATA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21649,"src":"47873:25:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":12968,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12960,"src":"47858:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":12969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47863:9:36","memberName":"isEnabled","nodeType":"MemberAccess","referencedDeclaration":8515,"src":"47858:14:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$_t_uint8_$returns$_t_bool_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook,uint8) pure returns (bool)"}},"id":12971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47858:41:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12988,"nodeType":"IfStatement","src":"47854:391:36","trueBody":{"id":12987,"nodeType":"Block","src":"47901:344:36","statements":[{"expression":{"arguments":[{"id":12978,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12721,"src":"47987:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":12979,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12724,"src":"48016:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":12980,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12726,"src":"48055:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":12981,"name":"startWithinField","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12728,"src":"48102:16:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":12982,"name":"deleteCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12730,"src":"48143:11:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"id":12983,"name":"updatedEncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12811,"src":"48182:21:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"id":12984,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12732,"src":"48221:4:36","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12973,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12960,"src":"47922:4:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":12974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47927:10:36","memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":8536,"src":"47922:15:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Hook_$8369_$returns$_t_address_$attached_to$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (Hook) pure returns (address)"}},"id":12975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47922:17:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12972,"name":"IStoreHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8979,"src":"47911:10:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStoreHook_$8979_$","typeString":"type(contract IStoreHook)"}},"id":12976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47911:29:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStoreHook_$8979","typeString":"contract IStoreHook"}},"id":12977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47941:24:36","memberName":"onAfterSpliceDynamicData","nodeType":"MemberAccess","referencedDeclaration":8952,"src":"47911:54:36","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_uint8_$_t_uint40_$_t_uint40_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (ResourceId,bytes32[] memory,uint8,uint40,uint40,EncodedLengths,bytes memory) external"}},"id":12985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["47978:7:36","48006:8:36","48036:17:36","48084:16:36","48130:11:36","48166:14:36","48215:4:36"],"names":["tableId","keyTuple","dynamicFieldIndex","startWithinField","deleteCount","encodedLengths","data"],"nodeType":"FunctionCall","src":"47911:325:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12986,"nodeType":"ExpressionStatement","src":"47911:325:36"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12951,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12949,"src":"47784:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":12952,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12822,"src":"47788:5:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":12953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47794:6:36","memberName":"length","nodeType":"MemberAccess","src":"47788:12:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47784:16:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12990,"initializationExpression":{"assignments":[12949],"declarations":[{"constant":false,"id":12949,"mutability":"mutable","name":"i","nameLocation":"47781:1:36","nodeType":"VariableDeclaration","scope":12990,"src":"47773:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12948,"name":"uint256","nodeType":"ElementaryTypeName","src":"47773:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12950,"nodeType":"VariableDeclarationStatement","src":"47773:9:36"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":12956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"47802:3:36","subExpression":{"id":12955,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12949,"src":"47802:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12957,"nodeType":"ExpressionStatement","src":"47802:3:36"},"nodeType":"ForStatement","src":"47768:483:36"}]},"documentation":{"id":12718,"nodeType":"StructuredDocumentation","src":"42750:1501:36","text":" @notice Splice dynamic data in the store.\n @dev This function checks various conditions to ensure the operation is valid.\n It emits a `Store_SpliceDynamicData` event, calls `onBeforeSpliceDynamicData` hooks before actually modifying the storage,\n and calls `onAfterSpliceDynamicData` hooks after modifying the storage.\n It reverts with `Store_InvalidResourceType` if the table ID is not a table.\n (Splicing dynamic data is not supported for offchain tables, as it requires reading the previous encoded lengths from storage.)\n It reverts with `Store_InvalidSplice` if the splice total length of the field is changed but the splice is not at the end of the field.\n It reverts with `Store_IndexOutOfBounds` if the start index is larger than the previous length of the field.\n @param tableId The ID of the table to splice dynamic data.\n @param keyTuple An array representing the composite key for the record.\n @param dynamicFieldIndex The index of the dynamic field to splice data, relative to the start of the dynamic fields.\n (Dynamic field index = field index - number of static fields)\n @param startWithinField The start index within the field for the splice operation.\n @param deleteCount The number of bytes to delete in the splice operation.\n @param data The data to insert into the dynamic data of the record at the start byte.\n @param previousEncodedLengths The previous encoded lengths of the dynamic data of the record."},"implemented":true,"kind":"function","modifiers":[],"name":"_spliceDynamicData","nameLocation":"44263:18:36","parameters":{"id":12736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12721,"mutability":"mutable","name":"tableId","nameLocation":"44298:7:36","nodeType":"VariableDeclaration","scope":12992,"src":"44287:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12720,"nodeType":"UserDefinedTypeName","pathNode":{"id":12719,"name":"ResourceId","nameLocations":["44287:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"44287:10:36"},"referencedDeclaration":9486,"src":"44287:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12724,"mutability":"mutable","name":"keyTuple","nameLocation":"44328:8:36","nodeType":"VariableDeclaration","scope":12992,"src":"44311:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44311:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12723,"nodeType":"ArrayTypeName","src":"44311:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12726,"mutability":"mutable","name":"dynamicFieldIndex","nameLocation":"44348:17:36","nodeType":"VariableDeclaration","scope":12992,"src":"44342:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12725,"name":"uint8","nodeType":"ElementaryTypeName","src":"44342:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12728,"mutability":"mutable","name":"startWithinField","nameLocation":"44378:16:36","nodeType":"VariableDeclaration","scope":12992,"src":"44371:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":12727,"name":"uint40","nodeType":"ElementaryTypeName","src":"44371:6:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"},{"constant":false,"id":12730,"mutability":"mutable","name":"deleteCount","nameLocation":"44407:11:36","nodeType":"VariableDeclaration","scope":12992,"src":"44400:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":12729,"name":"uint40","nodeType":"ElementaryTypeName","src":"44400:6:36","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"},{"constant":false,"id":12732,"mutability":"mutable","name":"data","nameLocation":"44437:4:36","nodeType":"VariableDeclaration","scope":12992,"src":"44424:17:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12731,"name":"bytes","nodeType":"ElementaryTypeName","src":"44424:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12735,"mutability":"mutable","name":"previousEncodedLengths","nameLocation":"44462:22:36","nodeType":"VariableDeclaration","scope":12992,"src":"44447:37:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":12734,"nodeType":"UserDefinedTypeName","pathNode":{"id":12733,"name":"EncodedLengths","nameLocations":["44447:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"44447:14:36"},"referencedDeclaration":7251,"src":"44447:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"44281:207:36"},"returnParameters":{"id":12737,"nodeType":"ParameterList","parameters":[],"src":"44498:0:36"},"scope":13233,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":13027,"nodeType":"FunctionDefinition","src":"48823:360:36","nodes":[],"body":{"id":13026,"nodeType":"Block","src":"48963:220:36","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13006,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13001,"src":"48973:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":13007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48983:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48973:11:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13011,"nodeType":"IfStatement","src":"48969:26:36","trueBody":{"expression":{"hexValue":"","id":13009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48993:2:36","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":13005,"id":13010,"nodeType":"Return","src":"48986:9:36"}},{"assignments":[13013],"declarations":[{"constant":false,"id":13013,"mutability":"mutable","name":"location","nameLocation":"49044:8:36","nodeType":"VariableDeclaration","scope":13026,"src":"49036:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13012,"name":"uint256","nodeType":"ElementaryTypeName","src":"49036:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13018,"initialValue":{"arguments":[{"id":13015,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12996,"src":"49078:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":13016,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12999,"src":"49087:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":13014,"name":"_getStaticDataLocation","nodeType":"Identifier","overloadedDeclarations":[13087,13112],"referencedDeclaration":13087,"src":"49055:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory) pure returns (uint256)"}},"id":13017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49055:41:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"49036:60:36"},{"expression":{"arguments":[{"id":13021,"name":"location","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13013,"src":"49140:8:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":13022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"49158:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":13023,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13001,"src":"49169:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13019,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"49109:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":13020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49117:4:36","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10498,"src":"49109:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256,uint256,uint256) view returns (bytes memory)"}},"id":13024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["49124:14:36","49150:6:36","49161:6:36"],"names":["storagePointer","offset","length"],"nodeType":"FunctionCall","src":"49109:69:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":13005,"id":13025,"nodeType":"Return","src":"49102:76:36"}]},"documentation":{"id":12993,"nodeType":"StructuredDocumentation","src":"48440:380:36","text":" @notice Get full static data for the given table ID and key tuple, with the given length in bytes.\n @param tableId The ID of the table to get the static data from.\n @param keyTuple An array representing the composite key for the record.\n @param length The length of the static data to retrieve.\n @return The full static data of the specified length."},"implemented":true,"kind":"function","modifiers":[],"name":"_getStaticData","nameLocation":"48832:14:36","parameters":{"id":13002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12996,"mutability":"mutable","name":"tableId","nameLocation":"48863:7:36","nodeType":"VariableDeclaration","scope":13027,"src":"48852:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":12995,"nodeType":"UserDefinedTypeName","pathNode":{"id":12994,"name":"ResourceId","nameLocations":["48852:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"48852:10:36"},"referencedDeclaration":9486,"src":"48852:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":12999,"mutability":"mutable","name":"keyTuple","nameLocation":"48893:8:36","nodeType":"VariableDeclaration","scope":13027,"src":"48876:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12997,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48876:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12998,"nodeType":"ArrayTypeName","src":"48876:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13001,"mutability":"mutable","name":"length","nameLocation":"48915:6:36","nodeType":"VariableDeclaration","scope":13027,"src":"48907:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13000,"name":"uint256","nodeType":"ElementaryTypeName","src":"48907:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48846:79:36"},"returnParameters":{"id":13005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13027,"src":"48949:12:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13003,"name":"bytes","nodeType":"ElementaryTypeName","src":"48949:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"48948:14:36"},"scope":13233,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13061,"nodeType":"FunctionDefinition","src":"49648:511:36","nodes":[],"body":{"id":13060,"nodeType":"Block","src":"49825:334:36","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":13047,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13031,"src":"50015:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":13048,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13034,"src":"50024:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":13046,"name":"_getStaticDataLocation","nodeType":"Identifier","overloadedDeclarations":[13087,13112],"referencedDeclaration":13087,"src":"49992:22:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory) pure returns (uint256)"}},"id":13049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49992:41:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":13051,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13039,"src":"50072:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},{"id":13052,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13036,"src":"50085:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":13050,"name":"_getStaticDataOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13148,"src":"50051:20:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$_t_uint8_$returns$_t_uint256_$","typeString":"function (FieldLayout,uint8) pure returns (uint256)"}},"id":13053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50051:45:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":13056,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13036,"src":"50134:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":13054,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13039,"src":"50114:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":13055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"50126:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":8067,"src":"50114:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$_t_uint256_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout,uint256) pure returns (uint256)"}},"id":13057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50114:31:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13044,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"49953:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":13045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49961:4:36","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10498,"src":"49953:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256,uint256,uint256) view returns (bytes memory)"}},"id":13058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["49976:14:36","50043:6:36","50106:6:36"],"names":["storagePointer","offset","length"],"nodeType":"FunctionCall","src":"49953:201:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":13043,"id":13059,"nodeType":"Return","src":"49940:214:36"}]},"documentation":{"id":13028,"nodeType":"StructuredDocumentation","src":"49187:458:36","text":" @notice Get a single static field from the given table ID and key tuple, with the given value field layout.\n @param tableId The ID of the table to get the static field from.\n @param keyTuple An array representing the composite key for the record.\n @param fieldIndex The index of the field to get.\n @param fieldLayout The field layout for the record.\n @return The static field data as dynamic bytes in the size of the field."},"implemented":true,"kind":"function","modifiers":[],"name":"_getStaticFieldBytes","nameLocation":"49657:20:36","parameters":{"id":13040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13031,"mutability":"mutable","name":"tableId","nameLocation":"49694:7:36","nodeType":"VariableDeclaration","scope":13061,"src":"49683:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":13030,"nodeType":"UserDefinedTypeName","pathNode":{"id":13029,"name":"ResourceId","nameLocations":["49683:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"49683:10:36"},"referencedDeclaration":9486,"src":"49683:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":13034,"mutability":"mutable","name":"keyTuple","nameLocation":"49724:8:36","nodeType":"VariableDeclaration","scope":13061,"src":"49707:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"49707:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13033,"nodeType":"ArrayTypeName","src":"49707:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13036,"mutability":"mutable","name":"fieldIndex","nameLocation":"49744:10:36","nodeType":"VariableDeclaration","scope":13061,"src":"49738:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13035,"name":"uint8","nodeType":"ElementaryTypeName","src":"49738:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13039,"mutability":"mutable","name":"fieldLayout","nameLocation":"49772:11:36","nodeType":"VariableDeclaration","scope":13061,"src":"49760:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":13038,"nodeType":"UserDefinedTypeName","pathNode":{"id":13037,"name":"FieldLayout","nameLocations":["49760:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"49760:11:36"},"referencedDeclaration":7885,"src":"49760:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"}],"src":"49677:110:36"},"returnParameters":{"id":13043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13042,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13061,"src":"49811:12:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13041,"name":"bytes","nodeType":"ElementaryTypeName","src":"49811:5:36","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49810:14:36"},"scope":13233,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13087,"nodeType":"FunctionDefinition","src":"50806:191:36","nodes":[],"body":{"id":13086,"nodeType":"Block","src":"50917:80:36","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":13083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13075,"name":"SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12707,"src":"50938:4:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"arguments":[{"id":13079,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13065,"src":"50972:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":13080,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13068,"src":"50981:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":13077,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50955:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50959:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"50955:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50955:35:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13076,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"50945:9:36","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50945:46:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"50938:53:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50930:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13073,"name":"uint256","nodeType":"ElementaryTypeName","src":"50930:7:36","typeDescriptions":{}}},"id":13084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50930:62:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13072,"id":13085,"nodeType":"Return","src":"50923:69:36"}]},"documentation":{"id":13062,"nodeType":"StructuredDocumentation","src":"50525:278:36","text":" @notice Compute the storage location based on table ID and key tuple.\n @param tableId The ID of the table.\n @param keyTuple An array representing the composite key for the record.\n @return The computed storage location based on table ID and key tuple."},"implemented":true,"kind":"function","modifiers":[],"name":"_getStaticDataLocation","nameLocation":"50815:22:36","parameters":{"id":13069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13065,"mutability":"mutable","name":"tableId","nameLocation":"50849:7:36","nodeType":"VariableDeclaration","scope":13087,"src":"50838:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":13064,"nodeType":"UserDefinedTypeName","pathNode":{"id":13063,"name":"ResourceId","nameLocations":["50838:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"50838:10:36"},"referencedDeclaration":9486,"src":"50838:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":13068,"mutability":"mutable","name":"keyTuple","nameLocation":"50875:8:36","nodeType":"VariableDeclaration","scope":13087,"src":"50858:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"50858:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13067,"nodeType":"ArrayTypeName","src":"50858:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"50837:47:36"},"returnParameters":{"id":13072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13087,"src":"50908:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13070,"name":"uint256","nodeType":"ElementaryTypeName","src":"50908:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50907:9:36"},"scope":13233,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13112,"nodeType":"FunctionDefinition","src":"51249:282:36","nodes":[],"body":{"id":13111,"nodeType":"Block","src":"51346:185:36","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":13108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13100,"name":"SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12707,"src":"51477:4:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"arguments":[{"id":13104,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13091,"src":"51511:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":13105,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13093,"src":"51520:3:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":13102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51494:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51498:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"51494:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51494:30:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13101,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"51484:9:36","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51484:41:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"51477:48:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"51469:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13098,"name":"uint256","nodeType":"ElementaryTypeName","src":"51469:7:36","typeDescriptions":{}}},"id":13109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51469:57:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13097,"id":13110,"nodeType":"Return","src":"51462:64:36"}]},"documentation":{"id":13088,"nodeType":"StructuredDocumentation","src":"51001:245:36","text":" @notice Compute the storage location based on table ID and a single key.\n @param tableId The ID of the table.\n @param key The single key for the record.\n @return The computed storage location based on table ID and key."},"implemented":true,"kind":"function","modifiers":[],"name":"_getStaticDataLocation","nameLocation":"51258:22:36","parameters":{"id":13094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13091,"mutability":"mutable","name":"tableId","nameLocation":"51292:7:36","nodeType":"VariableDeclaration","scope":13112,"src":"51281:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":13090,"nodeType":"UserDefinedTypeName","pathNode":{"id":13089,"name":"ResourceId","nameLocations":["51281:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"51281:10:36"},"referencedDeclaration":9486,"src":"51281:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":13093,"mutability":"mutable","name":"key","nameLocation":"51309:3:36","nodeType":"VariableDeclaration","scope":13112,"src":"51301:11:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13092,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51301:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"51280:33:36"},"returnParameters":{"id":13097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13096,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13112,"src":"51337:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13095,"name":"uint256","nodeType":"ElementaryTypeName","src":"51337:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51336:9:36"},"scope":13233,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13148,"nodeType":"FunctionDefinition","src":"51823:242:36","nodes":[],"body":{"id":13147,"nodeType":"Block","src":"51928:137:36","nodes":[],"statements":[{"assignments":[13124],"declarations":[{"constant":false,"id":13124,"mutability":"mutable","name":"offset","nameLocation":"51942:6:36","nodeType":"VariableDeclaration","scope":13147,"src":"51934:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13123,"name":"uint256","nodeType":"ElementaryTypeName","src":"51934:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13126,"initialValue":{"hexValue":"30","id":13125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51951:1:36","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"51934:18:36"},{"body":{"id":13143,"nodeType":"Block","src":"51995:47:36","statements":[{"expression":{"id":13141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13136,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13124,"src":"52003:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":13139,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13128,"src":"52033:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13137,"name":"fieldLayout","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13116,"src":"52013:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"id":13138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52025:7:36","memberName":"atIndex","nodeType":"MemberAccess","referencedDeclaration":8067,"src":"52013:19:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_FieldLayout_$7885_$_t_uint256_$returns$_t_uint256_$attached_to$_t_userDefinedValueType$_FieldLayout_$7885_$","typeString":"function (FieldLayout,uint256) pure returns (uint256)"}},"id":13140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52013:22:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"52003:32:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13142,"nodeType":"ExpressionStatement","src":"52003:32:36"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13130,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13128,"src":"51974:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":13131,"name":"fieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13118,"src":"51978:10:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"51974:14:36","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13144,"initializationExpression":{"assignments":[13128],"declarations":[{"constant":false,"id":13128,"mutability":"mutable","name":"i","nameLocation":"51971:1:36","nodeType":"VariableDeclaration","scope":13144,"src":"51963:9:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13127,"name":"uint256","nodeType":"ElementaryTypeName","src":"51963:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13129,"nodeType":"VariableDeclarationStatement","src":"51963:9:36"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":13134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"51990:3:36","subExpression":{"id":13133,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13128,"src":"51990:1:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13135,"nodeType":"ExpressionStatement","src":"51990:3:36"},"nodeType":"ForStatement","src":"51958:84:36"},{"expression":{"id":13145,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13124,"src":"52054:6:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13122,"id":13146,"nodeType":"Return","src":"52047:13:36"}]},"documentation":{"id":13113,"nodeType":"StructuredDocumentation","src":"51535:285:36","text":" @notice Get storage offset for the given value field layout and index.\n @param fieldLayout The field layout for the record.\n @param fieldIndex The index of the field to get the offset for.\n @return The storage offset for the specified field layout and index."},"implemented":true,"kind":"function","modifiers":[],"name":"_getStaticDataOffset","nameLocation":"51832:20:36","parameters":{"id":13119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13116,"mutability":"mutable","name":"fieldLayout","nameLocation":"51865:11:36","nodeType":"VariableDeclaration","scope":13148,"src":"51853:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"},"typeName":{"id":13115,"nodeType":"UserDefinedTypeName","pathNode":{"id":13114,"name":"FieldLayout","nameLocations":["51853:11:36"],"nodeType":"IdentifierPath","referencedDeclaration":7885,"src":"51853:11:36"},"referencedDeclaration":7885,"src":"51853:11:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_FieldLayout_$7885","typeString":"FieldLayout"}},"visibility":"internal"},{"constant":false,"id":13118,"mutability":"mutable","name":"fieldIndex","nameLocation":"51884:10:36","nodeType":"VariableDeclaration","scope":13148,"src":"51878:16:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13117,"name":"uint8","nodeType":"ElementaryTypeName","src":"51878:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"51852:43:36"},"returnParameters":{"id":13122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13148,"src":"51919:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13120,"name":"uint256","nodeType":"ElementaryTypeName","src":"51919:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51918:9:36"},"scope":13233,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13181,"nodeType":"FunctionDefinition","src":"52742:274:36","nodes":[],"body":{"id":13180,"nodeType":"Block","src":"52895:121:36","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":13177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":13169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13164,"name":"DYNAMIC_DATA_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12712,"src":"52916:17:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"id":13167,"name":"dynamicFieldIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13157,"src":"52943:17:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":13166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52936:6:36","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":13165,"name":"bytes1","nodeType":"ElementaryTypeName","src":"52936:6:36","typeDescriptions":{}}},"id":13168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52936:25:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"52916:45:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"arguments":[{"id":13173,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13152,"src":"52991:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":13174,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13155,"src":"53000:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":13171,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52974:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52978:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"52974:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52974:35:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13170,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"52964:9:36","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52964:46:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"52916:94:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52908:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13162,"name":"uint256","nodeType":"ElementaryTypeName","src":"52908:7:36","typeDescriptions":{}}},"id":13178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52908:103:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13161,"id":13179,"nodeType":"Return","src":"52901:110:36"}]},"documentation":{"id":13149,"nodeType":"StructuredDocumentation","src":"52243:496:36","text":" @notice Compute the storage location based on table ID, key tuple, and dynamic field index.\n @param tableId The ID of the table.\n @param keyTuple An array representing the composite key for the record.\n @param dynamicFieldIndex The index of the dynamic field, relative to the start of the dynamic fields.\n (Dynamic field index = field index - number of static fields)\n @return The computed storage location based on table ID, key tuple, and dynamic field index."},"implemented":true,"kind":"function","modifiers":[],"name":"_getDynamicDataLocation","nameLocation":"52751:23:36","parameters":{"id":13158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13152,"mutability":"mutable","name":"tableId","nameLocation":"52791:7:36","nodeType":"VariableDeclaration","scope":13181,"src":"52780:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":13151,"nodeType":"UserDefinedTypeName","pathNode":{"id":13150,"name":"ResourceId","nameLocations":["52780:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"52780:10:36"},"referencedDeclaration":9486,"src":"52780:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":13155,"mutability":"mutable","name":"keyTuple","nameLocation":"52821:8:36","nodeType":"VariableDeclaration","scope":13181,"src":"52804:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13153,"name":"bytes32","nodeType":"ElementaryTypeName","src":"52804:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13154,"nodeType":"ArrayTypeName","src":"52804:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13157,"mutability":"mutable","name":"dynamicFieldIndex","nameLocation":"52841:17:36","nodeType":"VariableDeclaration","scope":13181,"src":"52835:23:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13156,"name":"uint8","nodeType":"ElementaryTypeName","src":"52835:5:36","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"52774:88:36"},"returnParameters":{"id":13161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13181,"src":"52886:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13159,"name":"uint256","nodeType":"ElementaryTypeName","src":"52886:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52885:9:36"},"scope":13233,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13207,"nodeType":"FunctionDefinition","src":"53371:230:36","nodes":[],"body":{"id":13206,"nodeType":"Block","src":"53501:100:36","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":13203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13195,"name":"DYNAMIC_DATA_LENGTH_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12717,"src":"53522:24:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"arguments":[{"arguments":[{"id":13199,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13185,"src":"53576:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":13200,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13188,"src":"53585:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":13197,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53559:3:36","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53563:12:36","memberName":"encodePacked","nodeType":"MemberAccess","src":"53559:16:36","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53559:35:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13196,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"53549:9:36","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53549:46:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"53522:73:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"53514:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13193,"name":"uint256","nodeType":"ElementaryTypeName","src":"53514:7:36","typeDescriptions":{}}},"id":13204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53514:82:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13192,"id":13205,"nodeType":"Return","src":"53507:89:36"}]},"documentation":{"id":13182,"nodeType":"StructuredDocumentation","src":"53020:348:36","text":" @notice Compute the storage location for the length of the dynamic data based on table ID and key tuple.\n @param tableId The ID of the table.\n @param keyTuple An array representing the composite key for the record.\n @return The computed storage location for the length of the dynamic data based on table ID and key tuple."},"implemented":true,"kind":"function","modifiers":[],"name":"_getDynamicDataLengthLocation","nameLocation":"53380:29:36","parameters":{"id":13189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13185,"mutability":"mutable","name":"tableId","nameLocation":"53426:7:36","nodeType":"VariableDeclaration","scope":13207,"src":"53415:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":13184,"nodeType":"UserDefinedTypeName","pathNode":{"id":13183,"name":"ResourceId","nameLocations":["53415:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"53415:10:36"},"referencedDeclaration":9486,"src":"53415:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":13188,"mutability":"mutable","name":"keyTuple","nameLocation":"53456:8:36","nodeType":"VariableDeclaration","scope":13207,"src":"53439:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53439:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13187,"nodeType":"ArrayTypeName","src":"53439:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"53409:59:36"},"returnParameters":{"id":13192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13191,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13207,"src":"53492:7:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13190,"name":"uint256","nodeType":"ElementaryTypeName","src":"53492:7:36","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53491:9:36"},"scope":13233,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13232,"nodeType":"FunctionDefinition","src":"53939:303:36","nodes":[],"body":{"id":13231,"nodeType":"Block","src":"54076:166:36","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":13225,"name":"tableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13211,"src":"54215:7:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":13226,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13214,"src":"54224:8:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":13224,"name":"_getDynamicDataLengthLocation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13207,"src":"54185:29:36","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (ResourceId,bytes32[] memory) pure returns (uint256)"}},"id":13227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54185:48:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13222,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10665,"src":"54154:7:36","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$10665_$","typeString":"type(library Storage)"}},"id":13223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"54162:4:36","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10472,"src":"54154:12:36","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":13228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["54169:14:36"],"names":["storagePointer"],"nodeType":"FunctionCall","src":"54154:82:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":13220,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"54134:14:36","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":13221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54149:4:36","memberName":"wrap","nodeType":"MemberAccess","src":"54134:19:36","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (bytes32) pure returns (EncodedLengths)"}},"id":13229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54134:103:36","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"functionReturnParameters":13219,"id":13230,"nodeType":"Return","src":"54127:110:36"}]},"documentation":{"id":13208,"nodeType":"StructuredDocumentation","src":"53605:331:36","text":" @notice Load the encoded dynamic data length from storage for the given table ID and key tuple.\n @param tableId The ID of the table.\n @param keyTuple An array representing the composite key for the record.\n @return The loaded encoded dynamic data length from storage for the given table ID and key tuple."},"implemented":true,"kind":"function","modifiers":[],"name":"_loadEncodedDynamicDataLength","nameLocation":"53948:29:36","parameters":{"id":13215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13211,"mutability":"mutable","name":"tableId","nameLocation":"53994:7:36","nodeType":"VariableDeclaration","scope":13232,"src":"53983:18:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":13210,"nodeType":"UserDefinedTypeName","pathNode":{"id":13209,"name":"ResourceId","nameLocations":["53983:10:36"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"53983:10:36"},"referencedDeclaration":9486,"src":"53983:10:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":13214,"mutability":"mutable","name":"keyTuple","nameLocation":"54024:8:36","nodeType":"VariableDeclaration","scope":13232,"src":"54007:25:36","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"54007:7:36","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13213,"nodeType":"ArrayTypeName","src":"54007:9:36","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"53977:59:36"},"returnParameters":{"id":13219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13218,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13232,"src":"54060:14:36","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},"typeName":{"id":13217,"nodeType":"UserDefinedTypeName","pathNode":{"id":13216,"name":"EncodedLengths","nameLocations":["54060:14:36"],"nodeType":"IdentifierPath","referencedDeclaration":7251,"src":"54060:14:36"},"referencedDeclaration":7251,"src":"54060:14:36","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},"visibility":"internal"}],"src":"54059:16:36"},"scope":13233,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StoreCoreInternal","contractDependencies":[],"contractKind":"library","documentation":{"id":12702,"nodeType":"StructuredDocumentation","src":"42056:241:36","text":" @title StoreCoreInternal\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @dev This library contains internal functions used by StoreCore.\n They are not intended to be used directly by consumers of StoreCore."},"fullyImplemented":true,"linearizedBaseContracts":[13233],"name":"StoreCoreInternal","nameLocation":"42306:17:36","scope":13234,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":36}