{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220427f002a388fee89d7abb20d505faef6b292cde2dcaeaaaf191c2d47792fb96064736f6c63430008180033","sourceMap":"1081:4580:115:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1081:4580:115;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220427f002a388fee89d7abb20d505faef6b292cde2dcaeaaaf191c2d47792fb96064736f6c63430008180033","sourceMap":"1081:4580:115:-: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)\",\"details\":\"The SystemCall library provides functions for interacting with systems using their unique Resource IDs. It ensures the necessary access control checks, handles system hooks, and performs system calls.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SystemCall\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/SystemCall.sol\":\"SystemCall\"},\"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\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"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/world/src/SystemCall.sol":"SystemCall"},"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"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@latticexyz/world/src/SystemCall.sol","id":48275,"exportedSymbols":{"AFTER_CALL_SYSTEM":[59151],"AccessControl":[47499],"BEFORE_CALL_SYSTEM":[59145],"Balances":[49787],"Hook":[8369],"ISystemHook":[47658],"IWorldErrors":[47783],"ROOT_NAMESPACE":[59030],"ResourceId":[9486],"SystemCall":[48274],"SystemHooks":[56411],"Systems":[58090],"WorldContextProviderLib":[48577],"WorldResourceIdInstance":[48858],"revertWithBytes":[59137]},"nodeType":"SourceUnit","src":"32:5630:115","nodes":[{"id":47983,"nodeType":"PragmaDirective","src":"32:25:115","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":47985,"nodeType":"ImportDirective","src":"59:54:115","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/Hook.sol","file":"@latticexyz/store/src/Hook.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":8559,"symbolAliases":[{"foreign":{"id":47984,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"68:4:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47988,"nodeType":"ImportDirective","src":"115:76:115","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/WorldResourceId.sol","file":"./WorldResourceId.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":48859,"symbolAliases":[{"foreign":{"id":47986,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"124:10:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":47987,"name":"WorldResourceIdInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48858,"src":"136:23:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47990,"nodeType":"ImportDirective","src":"192:61:115","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/WorldContext.sol","file":"./WorldContext.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":48578,"symbolAliases":[{"foreign":{"id":47989,"name":"WorldContextProviderLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48577,"src":"201:23:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47992,"nodeType":"ImportDirective","src":"254:52:115","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/AccessControl.sol","file":"./AccessControl.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":47500,"symbolAliases":[{"foreign":{"id":47991,"name":"AccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47499,"src":"263:13:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47994,"nodeType":"ImportDirective","src":"307:49:115","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/constants.sol","file":"./constants.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":59103,"symbolAliases":[{"foreign":{"id":47993,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59030,"src":"316:14:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47996,"nodeType":"ImportDirective","src":"357:56:115","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/revertWithBytes.sol","file":"./revertWithBytes.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":59138,"symbolAliases":[{"foreign":{"id":47995,"name":"revertWithBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59137,"src":"366:15:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47999,"nodeType":"ImportDirective","src":"414:78:115","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/systemHookTypes.sol","file":"./systemHookTypes.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":59158,"symbolAliases":[{"foreign":{"id":47997,"name":"BEFORE_CALL_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59145,"src":"423:18:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":47998,"name":"AFTER_CALL_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59151,"src":"443:17:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48001,"nodeType":"ImportDirective","src":"494:50:115","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/IWorldErrors.sol","file":"./IWorldErrors.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":47784,"symbolAliases":[{"foreign":{"id":48000,"name":"IWorldErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47783,"src":"503:12:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48003,"nodeType":"ImportDirective","src":"545:48:115","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/ISystemHook.sol","file":"./ISystemHook.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":47659,"symbolAliases":[{"foreign":{"id":48002,"name":"ISystemHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47658,"src":"554:11:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48005,"nodeType":"ImportDirective","src":"595:55:115","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol","file":"./codegen/tables/Systems.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":58101,"symbolAliases":[{"foreign":{"id":48004,"name":"Systems","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58090,"src":"604:7:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48007,"nodeType":"ImportDirective","src":"651:63:115","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol","file":"./codegen/tables/SystemHooks.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":56412,"symbolAliases":[{"foreign":{"id":48006,"name":"SystemHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56411,"src":"660:11:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48009,"nodeType":"ImportDirective","src":"715:57:115","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol","file":"./codegen/tables/Balances.sol","nameLocation":"-1:-1:-1","scope":48275,"sourceUnit":49788,"symbolAliases":[{"foreign":{"id":48008,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49787,"src":"724:8:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":48274,"nodeType":"ContractDefinition","src":"1081:4580:115","nodes":[{"id":48014,"nodeType":"UsingForDirective","src":"1104:45:115","nodes":[],"global":false,"libraryName":{"id":48011,"name":"WorldResourceIdInstance","nameLocations":["1110:23:115"],"nodeType":"IdentifierPath","referencedDeclaration":48858,"src":"1110:23:115"},"typeName":{"id":48013,"nodeType":"UserDefinedTypeName","pathNode":{"id":48012,"name":"ResourceId","nameLocations":["1138:10:115"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"1138:10:115"},"referencedDeclaration":9486,"src":"1138:10:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}},{"id":48120,"nodeType":"FunctionDefinition","src":"1761:1386:115","nodes":[],"body":{"id":48119,"nodeType":"Block","src":"1921:1226:115","nodes":[],"statements":[{"assignments":[48032,48034],"declarations":[{"constant":false,"id":48032,"mutability":"mutable","name":"systemAddress","nameLocation":"1964:13:115","nodeType":"VariableDeclaration","scope":48119,"src":"1956:21:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48031,"name":"address","nodeType":"ElementaryTypeName","src":"1956:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48034,"mutability":"mutable","name":"publicAccess","nameLocation":"1984:12:115","nodeType":"VariableDeclaration","scope":48119,"src":"1979:17:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48033,"name":"bool","nodeType":"ElementaryTypeName","src":"1979:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":48039,"initialValue":{"arguments":[{"id":48037,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48022,"src":"2013:8:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":48035,"name":"Systems","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58090,"src":"2000:7:115","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Systems_$58090_$","typeString":"type(library Systems)"}},"id":48036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2008:4:115","memberName":"_get","nodeType":"MemberAccess","referencedDeclaration":57759,"src":"2000:12:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_address_$_t_bool_$","typeString":"function (ResourceId) view returns (address,bool)"}},"id":48038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2000:22:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_bool_$","typeString":"tuple(address,bool)"}},"nodeType":"VariableDeclarationStatement","src":"1955:67:115"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":48045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48040,"name":"systemAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48032,"src":"2067:13:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":48043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2092:1:115","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":48042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2084:7:115","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":48041,"name":"address","nodeType":"ElementaryTypeName","src":"2084:7:115","typeDescriptions":{}}},"id":48044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2084:10:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2067:27:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48055,"nodeType":"IfStatement","src":"2063:106:115","trueBody":{"errorCall":{"arguments":[{"id":48049,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48022,"src":"2139:8:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48050,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48022,"src":"2149:8:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":48051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2158:8:115","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":48857,"src":"2149:17:115","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_string_memory_ptr_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (string memory)"}},"id":48052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2149:19:115","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":48046,"name":"IWorldErrors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47783,"src":"2103:12:115","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IWorldErrors_$47783_$","typeString":"type(contract IWorldErrors)"}},"id":48048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:22:115","memberName":"World_ResourceNotFound","nodeType":"MemberAccess","referencedDeclaration":47708,"src":"2103:35:115","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_userDefinedValueType$_ResourceId_$9486_$_t_string_memory_ptr_$returns$__$","typeString":"function (ResourceId,string memory) pure"}},"id":48053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2103:66:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48054,"nodeType":"RevertStatement","src":"2096:73:115"}},{"condition":{"id":48057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2274:13:115","subExpression":{"id":48056,"name":"publicAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48034,"src":"2275:12:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48065,"nodeType":"IfStatement","src":"2270:64:115","trueBody":{"expression":{"arguments":[{"id":48061,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48022,"src":"2317:8:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":48062,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48017,"src":"2327:6:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48058,"name":"AccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47499,"src":"2289:13:115","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AccessControl_$47499_$","typeString":"type(library AccessControl)"}},"id":48060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2303:13:115","memberName":"requireAccess","nodeType":"MemberAccess","referencedDeclaration":47445,"src":"2289:27:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$_t_address_$returns$__$","typeString":"function (ResourceId,address) view"}},"id":48063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2289:45:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48064,"nodeType":"ExpressionStatement","src":"2289:45:115"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48066,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48019,"src":"2413:5:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":48067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2421:1:115","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2413:9:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48093,"nodeType":"IfStatement","src":"2409:197:115","trueBody":{"id":48092,"nodeType":"Block","src":"2424:182:115","statements":[{"assignments":[48071],"declarations":[{"constant":false,"id":48071,"mutability":"mutable","name":"namespaceId","nameLocation":"2443:11:115","nodeType":"VariableDeclaration","scope":48092,"src":"2432:22:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":48070,"nodeType":"UserDefinedTypeName","pathNode":{"id":48069,"name":"ResourceId","nameLocations":["2432:10:115"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"2432:10:115"},"referencedDeclaration":9486,"src":"2432:10:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"}],"id":48075,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48072,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48022,"src":"2457:8:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":48073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2466:14:115","memberName":"getNamespaceId","nodeType":"MemberAccess","referencedDeclaration":48777,"src":"2457:23:115","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_userDefinedValueType$_ResourceId_$9486_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (ResourceId)"}},"id":48074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2457:25:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"nodeType":"VariableDeclarationStatement","src":"2432:50:115"},{"assignments":[48077],"declarations":[{"constant":false,"id":48077,"mutability":"mutable","name":"currentBalance","nameLocation":"2498:14:115","nodeType":"VariableDeclaration","scope":48092,"src":"2490:22:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48076,"name":"uint256","nodeType":"ElementaryTypeName","src":"2490:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":48082,"initialValue":{"arguments":[{"id":48080,"name":"namespaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48071,"src":"2529:11:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":48078,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49787,"src":"2515:8:115","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Balances_$49787_$","typeString":"type(library Balances)"}},"id":48079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2524:4:115","memberName":"_get","nodeType":"MemberAccess","referencedDeclaration":49460,"src":"2515:13:115","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_uint256_$","typeString":"function (ResourceId) view returns (uint256)"}},"id":48081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2515:26:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2490:51:115"},{"expression":{"arguments":[{"id":48086,"name":"namespaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48071,"src":"2563:11:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48087,"name":"currentBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48077,"src":"2576:14:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":48088,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48019,"src":"2593:5:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2576:22:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48083,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49787,"src":"2549:8:115","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Balances_$49787_$","typeString":"type(library Balances)"}},"id":48085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2558:4:115","memberName":"_set","nodeType":"MemberAccess","referencedDeclaration":49636,"src":"2549:13:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$9486_$_t_uint256_$returns$__$","typeString":"function (ResourceId,uint256)"}},"id":48090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2549:50:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48091,"nodeType":"ExpressionStatement","src":"2549:50:115"}]}},{"expression":{"id":48117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":48094,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48027,"src":"2664:7:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48095,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48029,"src":"2673:4:115","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":48096,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"2663:15:115","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"id":48101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48097,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48022,"src":"2681:8:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"id":48098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2690:12:115","memberName":"getNamespace","nodeType":"MemberAccess","referencedDeclaration":48753,"src":"2681:21:115","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$9486_$returns$_t_bytes14_$attached_to$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (ResourceId) pure returns (bytes14)"}},"id":48099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2681:23:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":48100,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59030,"src":"2708:14:115","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"src":"2681:41:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":48111,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48017,"src":"3043:6:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48112,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48019,"src":"3069:5:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48113,"name":"systemAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48032,"src":"3092:13:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48114,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48024,"src":"3125:8:115","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":48109,"name":"WorldContextProviderLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48577,"src":"2982:23:115","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldContextProviderLib_$48577_$","typeString":"type(library WorldContextProviderLib)"}},"id":48110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3006:15:115","memberName":"callWithContext","nodeType":"MemberAccess","referencedDeclaration":48476,"src":"2982:39:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (address,uint256,address,bytes memory) returns (bool,bytes memory)"}},"id":48115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["3032:9:115","3059:8:115","3084:6:115","3115:8:115"],"names":["msgSender","msgValue","target","callData"],"nodeType":"FunctionCall","src":"2982:160:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"id":48116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2681:461:115","trueExpression":{"arguments":[{"id":48104,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48017,"src":"2874:6:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48105,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48019,"src":"2900:5:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48106,"name":"systemAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48032,"src":"2923:13:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48107,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48024,"src":"2956:8:115","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":48102,"name":"WorldContextProviderLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48577,"src":"2805:23:115","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldContextProviderLib_$48577_$","typeString":"type(library WorldContextProviderLib)"}},"id":48103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2829:23:115","memberName":"delegatecallWithContext","nodeType":"MemberAccess","referencedDeclaration":48506,"src":"2805:47:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (address,uint256,address,bytes memory) returns (bool,bytes memory)"}},"id":48108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2863:9:115","2890:8:115","2915:6:115","2946:8:115"],"names":["msgSender","msgValue","target","callData"],"nodeType":"FunctionCall","src":"2805:168:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"2663:479:115","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48118,"nodeType":"ExpressionStatement","src":"2663:479:115"}]},"documentation":{"id":48015,"nodeType":"StructuredDocumentation","src":"1153:605:115","text":" @notice Calls a system identified by its Resource ID while ensuring necessary access controls.\n @dev This function does not revert if the system call fails. Instead, it returns a success flag.\n @param caller The address initiating the system call.\n @param value The amount of Ether to be sent with the call.\n @param systemId The unique Resource ID of the system being called.\n @param callData The calldata to be executed in the system.\n @return success A flag indicating whether the system call was successful.\n @return data The return data from the system call."},"implemented":true,"kind":"function","modifiers":[],"name":"call","nameLocation":"1770:4:115","parameters":{"id":48025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48017,"mutability":"mutable","name":"caller","nameLocation":"1788:6:115","nodeType":"VariableDeclaration","scope":48120,"src":"1780:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48016,"name":"address","nodeType":"ElementaryTypeName","src":"1780:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48019,"mutability":"mutable","name":"value","nameLocation":"1808:5:115","nodeType":"VariableDeclaration","scope":48120,"src":"1800:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48018,"name":"uint256","nodeType":"ElementaryTypeName","src":"1800:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48022,"mutability":"mutable","name":"systemId","nameLocation":"1830:8:115","nodeType":"VariableDeclaration","scope":48120,"src":"1819:19:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":48021,"nodeType":"UserDefinedTypeName","pathNode":{"id":48020,"name":"ResourceId","nameLocations":["1819:10:115"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"1819:10:115"},"referencedDeclaration":9486,"src":"1819:10:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":48024,"mutability":"mutable","name":"callData","nameLocation":"1857:8:115","nodeType":"VariableDeclaration","scope":48120,"src":"1844:21:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48023,"name":"bytes","nodeType":"ElementaryTypeName","src":"1844:5:115","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1774:95:115"},"returnParameters":{"id":48030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48027,"mutability":"mutable","name":"success","nameLocation":"1893:7:115","nodeType":"VariableDeclaration","scope":48120,"src":"1888:12:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48026,"name":"bool","nodeType":"ElementaryTypeName","src":"1888:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48029,"mutability":"mutable","name":"data","nameLocation":"1915:4:115","nodeType":"VariableDeclaration","scope":48120,"src":"1902:17:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48028,"name":"bytes","nodeType":"ElementaryTypeName","src":"1902:5:115","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1887:33:115"},"scope":48274,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":48237,"nodeType":"FunctionDefinition","src":"3782:1003:115","nodes":[],"body":{"id":48236,"nodeType":"Block","src":"3951:834:115","nodes":[],"statements":[{"assignments":[48141],"declarations":[{"constant":false,"id":48141,"mutability":"mutable","name":"hooks","nameLocation":"3998:5:115","nodeType":"VariableDeclaration","scope":48236,"src":"3981:22:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[]"},"typeName":{"baseType":{"id":48139,"name":"bytes21","nodeType":"ElementaryTypeName","src":"3981:7:115","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"id":48140,"nodeType":"ArrayTypeName","src":"3981:9:115","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_storage_ptr","typeString":"bytes21[]"}},"visibility":"internal"}],"id":48146,"initialValue":{"arguments":[{"id":48144,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"4023:8:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}],"expression":{"id":48142,"name":"SystemHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56411,"src":"4006:11:115","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemHooks_$56411_$","typeString":"type(library SystemHooks)"}},"id":48143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4018:4:115","memberName":"_get","nodeType":"MemberAccess","referencedDeclaration":55085,"src":"4006:16:115","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":48145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4006:26:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3981:51:115"},{"body":{"id":48184,"nodeType":"Block","src":"4143:189:115","statements":[{"assignments":[48159],"declarations":[{"constant":false,"id":48159,"mutability":"mutable","name":"hook","nameLocation":"4156:4:115","nodeType":"VariableDeclaration","scope":48184,"src":"4151:9:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"},"typeName":{"id":48158,"nodeType":"UserDefinedTypeName","pathNode":{"id":48157,"name":"Hook","nameLocations":["4151:4:115"],"nodeType":"IdentifierPath","referencedDeclaration":8369,"src":"4151:4:115"},"referencedDeclaration":8369,"src":"4151:4:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"visibility":"internal"}],"id":48166,"initialValue":{"arguments":[{"baseExpression":{"id":48162,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48141,"src":"4173:5:115","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":48164,"indexExpression":{"id":48163,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48148,"src":"4179:1:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4173:8:115","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":48160,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"4163:4:115","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hook_$8369_$","typeString":"type(Hook)"}},"id":48161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4168:4:115","memberName":"wrap","nodeType":"MemberAccess","src":"4163:9:115","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes21_$returns$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (bytes21) pure returns (Hook)"}},"id":48165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4163:19:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"nodeType":"VariableDeclarationStatement","src":"4151:31:115"},{"condition":{"arguments":[{"id":48169,"name":"BEFORE_CALL_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59145,"src":"4209:18:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":48167,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48159,"src":"4194:4:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":48168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4199:9:115","memberName":"isEnabled","nodeType":"MemberAccess","referencedDeclaration":8515,"src":"4194:14:115","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":48170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4194:34:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48183,"nodeType":"IfStatement","src":"4190:136:115","trueBody":{"id":48182,"nodeType":"Block","src":"4230:96:115","statements":[{"expression":{"arguments":[{"id":48177,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48123,"src":"4290:6:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48178,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"4298:8:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":48179,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48128,"src":"4308:8:115","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48172,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48159,"src":"4252:4:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":48173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4257:10:115","memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":8536,"src":"4252:15:115","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":48174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4252:17:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":48171,"name":"ISystemHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47658,"src":"4240:11:115","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISystemHook_$47658_$","typeString":"type(contract ISystemHook)"}},"id":48175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4240:30:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISystemHook_$47658","typeString":"contract ISystemHook"}},"id":48176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4271:18:115","memberName":"onBeforeCallSystem","nodeType":"MemberAccess","referencedDeclaration":47646,"src":"4240:49:115","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_userDefinedValueType$_ResourceId_$9486_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,ResourceId,bytes memory) external"}},"id":48180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4240:77:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48181,"nodeType":"ExpressionStatement","src":"4240:77:115"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48150,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48148,"src":"4120:1:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":48151,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48141,"src":"4124:5:115","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":48152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4130:6:115","memberName":"length","nodeType":"MemberAccess","src":"4124:12:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4120:16:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48185,"initializationExpression":{"assignments":[48148],"declarations":[{"constant":false,"id":48148,"mutability":"mutable","name":"i","nameLocation":"4117:1:115","nodeType":"VariableDeclaration","scope":48185,"src":"4109:9:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48147,"name":"uint256","nodeType":"ElementaryTypeName","src":"4109:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":48149,"nodeType":"VariableDeclarationStatement","src":"4109:9:115"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":48155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4138:3:115","subExpression":{"id":48154,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48148,"src":"4138:1:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48156,"nodeType":"ExpressionStatement","src":"4138:3:115"},"nodeType":"ForStatement","src":"4104:228:115"},{"expression":{"id":48195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":48186,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48133,"src":"4390:7:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48187,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48135,"src":"4399:4:115","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":48188,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"4389:15:115","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":48190,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48123,"src":"4422:6:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48191,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48130,"src":"4437:5:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48192,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"4454:8:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":48193,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48128,"src":"4474:8:115","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48189,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48120,"src":"4407:4:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_userDefinedValueType$_ResourceId_$9486_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (address,uint256,ResourceId,bytes memory) returns (bool,bytes memory)"}},"id":48194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["4414:6:115","4430:5:115","4444:8:115","4464:8:115"],"names":["caller","value","systemId","callData"],"nodeType":"FunctionCall","src":"4407:78:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"4389:96:115","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48196,"nodeType":"ExpressionStatement","src":"4389:96:115"},{"body":{"id":48234,"nodeType":"Block","src":"4594:187:115","statements":[{"assignments":[48209],"declarations":[{"constant":false,"id":48209,"mutability":"mutable","name":"hook","nameLocation":"4607:4:115","nodeType":"VariableDeclaration","scope":48234,"src":"4602:9:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"},"typeName":{"id":48208,"nodeType":"UserDefinedTypeName","pathNode":{"id":48207,"name":"Hook","nameLocations":["4602:4:115"],"nodeType":"IdentifierPath","referencedDeclaration":8369,"src":"4602:4:115"},"referencedDeclaration":8369,"src":"4602:4:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"visibility":"internal"}],"id":48216,"initialValue":{"arguments":[{"baseExpression":{"id":48212,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48141,"src":"4624:5:115","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":48214,"indexExpression":{"id":48213,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48198,"src":"4630:1:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4624:8:115","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":48210,"name":"Hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8369,"src":"4614:4:115","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hook_$8369_$","typeString":"type(Hook)"}},"id":48211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4619:4:115","memberName":"wrap","nodeType":"MemberAccess","src":"4614:9:115","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes21_$returns$_t_userDefinedValueType$_Hook_$8369_$","typeString":"function (bytes21) pure returns (Hook)"}},"id":48215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4614:19:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"nodeType":"VariableDeclarationStatement","src":"4602:31:115"},{"condition":{"arguments":[{"id":48219,"name":"AFTER_CALL_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59151,"src":"4660:17:115","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":48217,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48209,"src":"4645:4:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":48218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4650:9:115","memberName":"isEnabled","nodeType":"MemberAccess","referencedDeclaration":8515,"src":"4645:14:115","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":48220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4645:33:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48233,"nodeType":"IfStatement","src":"4641:134:115","trueBody":{"id":48232,"nodeType":"Block","src":"4680:95:115","statements":[{"expression":{"arguments":[{"id":48227,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48123,"src":"4739:6:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48228,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48126,"src":"4747:8:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":48229,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48128,"src":"4757:8:115","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48222,"name":"hook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48209,"src":"4702:4:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hook_$8369","typeString":"Hook"}},"id":48223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4707:10:115","memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":8536,"src":"4702:15:115","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":48224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4702:17:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":48221,"name":"ISystemHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47658,"src":"4690:11:115","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISystemHook_$47658_$","typeString":"type(contract ISystemHook)"}},"id":48225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4690:30:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISystemHook_$47658","typeString":"contract ISystemHook"}},"id":48226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4721:17:115","memberName":"onAfterCallSystem","nodeType":"MemberAccess","referencedDeclaration":47657,"src":"4690:48:115","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_userDefinedValueType$_ResourceId_$9486_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,ResourceId,bytes memory) external"}},"id":48230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4690:76:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48231,"nodeType":"ExpressionStatement","src":"4690:76:115"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":48203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":48200,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48198,"src":"4571:1:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":48201,"name":"hooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48141,"src":"4575:5:115","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes21_$dyn_memory_ptr","typeString":"bytes21[] memory"}},"id":48202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4581:6:115","memberName":"length","nodeType":"MemberAccess","src":"4575:12:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4571:16:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48235,"initializationExpression":{"assignments":[48198],"declarations":[{"constant":false,"id":48198,"mutability":"mutable","name":"i","nameLocation":"4568:1:115","nodeType":"VariableDeclaration","scope":48235,"src":"4560:9:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48197,"name":"uint256","nodeType":"ElementaryTypeName","src":"4560:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":48199,"nodeType":"VariableDeclarationStatement","src":"4560:9:115"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":48205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4589:3:115","subExpression":{"id":48204,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48198,"src":"4589:1:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48206,"nodeType":"ExpressionStatement","src":"4589:3:115"},"nodeType":"ForStatement","src":"4555:226:115"}]},"documentation":{"id":48121,"nodeType":"StructuredDocumentation","src":"3151:628:115","text":" @notice Calls a system identified by its Resource ID, ensuring access controls, and triggers associated system hooks.\n @dev This function does not revert if the system call fails. Instead, it returns a success flag.\n @param caller The address initiating the system call.\n @param systemId The unique Resource ID of the system being called.\n @param callData The calldata to be executed in the system.\n @param value The amount of Ether to be sent with the call.\n @return success A flag indicating whether the system call was successful.\n @return data The return data from the system call."},"implemented":true,"kind":"function","modifiers":[],"name":"callWithHooks","nameLocation":"3791:13:115","parameters":{"id":48131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48123,"mutability":"mutable","name":"caller","nameLocation":"3818:6:115","nodeType":"VariableDeclaration","scope":48237,"src":"3810:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48122,"name":"address","nodeType":"ElementaryTypeName","src":"3810:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48126,"mutability":"mutable","name":"systemId","nameLocation":"3841:8:115","nodeType":"VariableDeclaration","scope":48237,"src":"3830:19:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":48125,"nodeType":"UserDefinedTypeName","pathNode":{"id":48124,"name":"ResourceId","nameLocations":["3830:10:115"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"3830:10:115"},"referencedDeclaration":9486,"src":"3830:10:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":48128,"mutability":"mutable","name":"callData","nameLocation":"3868:8:115","nodeType":"VariableDeclaration","scope":48237,"src":"3855:21:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48127,"name":"bytes","nodeType":"ElementaryTypeName","src":"3855:5:115","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":48130,"mutability":"mutable","name":"value","nameLocation":"3890:5:115","nodeType":"VariableDeclaration","scope":48237,"src":"3882:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48129,"name":"uint256","nodeType":"ElementaryTypeName","src":"3882:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3804:95:115"},"returnParameters":{"id":48136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48133,"mutability":"mutable","name":"success","nameLocation":"3923:7:115","nodeType":"VariableDeclaration","scope":48237,"src":"3918:12:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48132,"name":"bool","nodeType":"ElementaryTypeName","src":"3918:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48135,"mutability":"mutable","name":"data","nameLocation":"3945:4:115","nodeType":"VariableDeclaration","scope":48237,"src":"3932:17:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48134,"name":"bytes","nodeType":"ElementaryTypeName","src":"3932:5:115","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3917:33:115"},"scope":48274,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":48273,"nodeType":"FunctionDefinition","src":"5258:401:115","nodes":[],"body":{"id":48272,"nodeType":"Block","src":"5421:238:115","nodes":[],"statements":[{"assignments":[48253,48255],"declarations":[{"constant":false,"id":48253,"mutability":"mutable","name":"success","nameLocation":"5433:7:115","nodeType":"VariableDeclaration","scope":48272,"src":"5428:12:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48252,"name":"bool","nodeType":"ElementaryTypeName","src":"5428:4:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48255,"mutability":"mutable","name":"returnData","nameLocation":"5455:10:115","nodeType":"VariableDeclaration","scope":48272,"src":"5442:23:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48254,"name":"bytes","nodeType":"ElementaryTypeName","src":"5442:5:115","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":48262,"initialValue":{"arguments":[{"id":48257,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48240,"src":"5499:6:115","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48258,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48247,"src":"5520:5:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48259,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48243,"src":"5543:8:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"id":48260,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48245,"src":"5569:8:115","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48256,"name":"callWithHooks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48237,"src":"5469:13:115","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_userDefinedValueType$_ResourceId_$9486_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (address,ResourceId,bytes memory,uint256) returns (bool,bytes memory)"}},"id":48261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["5491:6:115","5513:5:115","5533:8:115","5559:8:115"],"names":["caller","value","systemId","callData"],"nodeType":"FunctionCall","src":"5469:115:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"5427:157:115"},{"condition":{"id":48264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5594:8:115","subExpression":{"id":48263,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48253,"src":"5595:7:115","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":48269,"nodeType":"IfStatement","src":"5590:41:115","trueBody":{"expression":{"arguments":[{"id":48266,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48255,"src":"5620:10:115","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48265,"name":"revertWithBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59137,"src":"5604:15:115","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":48267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5604:27:115","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48268,"nodeType":"ExpressionStatement","src":"5604:27:115"}},{"expression":{"id":48270,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48255,"src":"5644:10:115","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":48251,"id":48271,"nodeType":"Return","src":"5637:17:115"}]},"documentation":{"id":48238,"nodeType":"StructuredDocumentation","src":"4789:466:115","text":" @notice Calls a system identified by its Resource ID, ensures access controls, triggers associated system hooks, and reverts on failure.\n @param caller The address initiating the system call.\n @param systemId The unique Resource ID of the system being called.\n @param callData The calldata to be executed in the system.\n @param value The amount of Ether to be sent with the call.\n @return data The return data from the system call."},"implemented":true,"kind":"function","modifiers":[],"name":"callWithHooksOrRevert","nameLocation":"5267:21:115","parameters":{"id":48248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48240,"mutability":"mutable","name":"caller","nameLocation":"5302:6:115","nodeType":"VariableDeclaration","scope":48273,"src":"5294:14:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48239,"name":"address","nodeType":"ElementaryTypeName","src":"5294:7:115","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48243,"mutability":"mutable","name":"systemId","nameLocation":"5325:8:115","nodeType":"VariableDeclaration","scope":48273,"src":"5314:19:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":48242,"nodeType":"UserDefinedTypeName","pathNode":{"id":48241,"name":"ResourceId","nameLocations":["5314:10:115"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"5314:10:115"},"referencedDeclaration":9486,"src":"5314:10:115","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":48245,"mutability":"mutable","name":"callData","nameLocation":"5352:8:115","nodeType":"VariableDeclaration","scope":48273,"src":"5339:21:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48244,"name":"bytes","nodeType":"ElementaryTypeName","src":"5339:5:115","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":48247,"mutability":"mutable","name":"value","nameLocation":"5374:5:115","nodeType":"VariableDeclaration","scope":48273,"src":"5366:13:115","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48246,"name":"uint256","nodeType":"ElementaryTypeName","src":"5366:7:115","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5288:95:115"},"returnParameters":{"id":48251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48250,"mutability":"mutable","name":"data","nameLocation":"5415:4:115","nodeType":"VariableDeclaration","scope":48273,"src":"5402:17:115","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":48249,"name":"bytes","nodeType":"ElementaryTypeName","src":"5402:5:115","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5401:19:115"},"scope":48274,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SystemCall","contractDependencies":[],"contractKind":"library","documentation":{"id":48010,"nodeType":"StructuredDocumentation","src":"774:306:115","text":" @title SystemCall\n @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)\n @dev The SystemCall library provides functions for interacting with systems using their unique Resource IDs.\n It ensures the necessary access control checks, handles system hooks, and performs system calls."},"fullyImplemented":true,"linearizedBaseContracts":[48274],"name":"SystemCall","nameLocation":"1089:10:115","scope":48275,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":115}