{"abi":[{"type":"function","name":"onAfterCallSystem","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"ResourceId"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"onBeforeCallSystem","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506103f2806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063973d8f991461006d578063c332303114610082575b600080fd5b6100596100543660046101f0565b610095565b604051901515815260200160405180910390f35b61008061007b366004610268565b505050565b005b610080610090366004610268565b61012e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f540fbfa800000000000000000000000000000000000000000000000000000000148061012857507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101398261036c565b90507fdc478d23000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016101ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f7468697320746f6b656e206973206e6f6e2d7472616e736665727261626c6500604482015260640160405180910390fd5b50505050565b60006020828403121561020257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461023257600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561027d57600080fd5b833573ffffffffffffffffffffffffffffffffffffffff811681146102a157600080fd5b925060208401359150604084013567ffffffffffffffff808211156102c557600080fd5b818601915086601f8301126102d957600080fd5b8135818111156102eb576102eb610239565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561033157610331610239565b8160405282815289602084870101111561034a57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156103b45780818460040360031b1b83161693505b50505091905056fea2646970667358221220a282738eb6e1033bef4c2ff4a4f43c02177c443ad5403a271cbcaf8b23abfe4e64736f6c63430008180033","sourceMap":"194:432:173:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c806301ffc9a714610046578063973d8f991461006d578063c332303114610082575b600080fd5b6100596100543660046101f0565b610095565b604051901515815260200160405180910390f35b61008061007b366004610268565b505050565b005b610080610090366004610268565b61012e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f540fbfa800000000000000000000000000000000000000000000000000000000148061012857507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101398261036c565b90507fdc478d23000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016101ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f7468697320746f6b656e206973206e6f6e2d7472616e736665727261626c6500604482015260640160405180910390fd5b50505050565b60006020828403121561020257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461023257600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561027d57600080fd5b833573ffffffffffffffffffffffffffffffffffffffff811681146102a157600080fd5b925060208401359150604084013567ffffffffffffffff808211156102c557600080fd5b818601915086601f8301126102d957600080fd5b8135818111156102eb576102eb610239565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561033157610331610239565b8160405282815289602084870101111561034a57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156103b45780818460040360031b1b83161693505b50505091905056fea2646970667358221220a282738eb6e1033bef4c2ff4a4f43c02177c443ad5403a271cbcaf8b23abfe4e64736f6c63430008180033","sourceMap":"194:432:173:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;806:188:116;;;;;;:::i;:::-;;:::i;:::-;;;516:14:341;;509:22;491:41;;479:2;464:18;806:188:116;;;;;;;553:71:173;;;;;;:::i;:::-;;;;;;;338:211;;;;;;:::i;:::-;;:::i;806:188:116:-;882:4;901:44;;;916:29;901:44;;:88;;-1:-1:-1;949:40:116;;;964:25;949:40;901:88;894:95;806:188;-1:-1:-1;;806:188:116:o;338:211:173:-;428:15;446:16;453:8;446:16;:::i;:::-;428:34;-1:-1:-1;476:32:173;;;;;468:76;;;;;;;2627:2:341;468:76:173;;;2609:21:341;2666:2;2646:18;;;2639:30;2705:33;2685:18;;;2678:61;2756:18;;468:76:173;;;;;;;;422:127;338:211;;;:::o;14:332:341:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;199:117;335:5;14:332;-1:-1:-1;;;14:332:341:o;543:184::-;595:77;592:1;585:88;692:4;689:1;682:15;716:4;713:1;706:15;732:1276;849:6;857;865;918:2;906:9;897:7;893:23;889:32;886:52;;;934:1;931;924:12;886:52;973:9;960:23;1023:42;1016:5;1012:54;1005:5;1002:65;992:93;;1081:1;1078;1071:12;992:93;1104:5;-1:-1:-1;1156:2:341;1141:18;;1128:32;;-1:-1:-1;1211:2:341;1196:18;;1183:32;1234:18;1264:14;;;1261:34;;;1291:1;1288;1281:12;1261:34;1329:6;1318:9;1314:22;1304:32;;1374:7;1367:4;1363:2;1359:13;1355:27;1345:55;;1396:1;1393;1386:12;1345:55;1432:2;1419:16;1454:2;1450;1447:10;1444:36;;;1460:18;;:::i;:::-;1594:2;1588:9;1656:4;1648:13;;1499:66;1644:22;;;1668:2;1640:31;1636:40;1624:53;;;1692:18;;;1712:22;;;1689:46;1686:72;;;1738:18;;:::i;:::-;1778:10;1774:2;1767:22;1813:2;1805:6;1798:18;1853:7;1848:2;1843;1839;1835:11;1831:20;1828:33;1825:53;;;1874:1;1871;1864:12;1825:53;1930:2;1925;1921;1917:11;1912:2;1904:6;1900:15;1887:46;1975:1;1970:2;1965;1957:6;1953:15;1949:24;1942:35;1996:6;1986:16;;;;;;;732:1276;;;;;:::o;2013:407::-;2096:5;2136;2130:12;2178:4;2171:5;2167:16;2161:23;2203:66;2295:2;2291;2287:11;2278:20;;2321:1;2313:6;2310:13;2307:107;;;2401:2;2395;2385:6;2382:1;2378:14;2375:1;2371:22;2367:31;2363:2;2359:40;2355:49;2346:58;;2307:107;;;;2013:407;;;:::o","linkReferences":{}},"methodIdentifiers":{"onAfterCallSystem(address,bytes32,bytes)":"973d8f99","onBeforeCallSystem(address,bytes32,bytes)":"c3323031","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onAfterCallSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"onBeforeCallSystem\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Overridden from IERC165 to include the system hook interface.\",\"params\":{\"interfaceId\":\"The bytes4 interface identifier, as specified in ERC-165.\"},\"returns\":{\"_0\":\"true if the contract implements `interfaceId`, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"supportsInterface(bytes4)\":{\"notice\":\"Checks if the contract implements a given interface.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/NoTransferHook.sol\":\"NoTransferHook\"},\"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/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"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/SystemHook.sol\":{\"keccak256\":\"0xcb7063c48eb27d3ddb0f1b477c8a298b68ed7fceba0762e555342a24a62f6fe3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0da7b53848efba426f51f1f3698c3cd862553ed90edf220ed19fda51c12d162f\",\"dweb:/ipfs/QmNd1QKSNoqHms3azKPLZtZoqNuRkgasCnYxVPG482b6jm\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/NoTransferHook.sol\":{\"keccak256\":\"0x6f47af6729d262a5da279988dfbe542f8fa58103935c4d133f418508187fa80c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8097bfd517764db66101c83f3e7d48469bdc22414b1d7fd28c542cbcadf2cab2\",\"dweb:/ipfs/QmfRgUtnyzsZvLvG9hcFCPtZe8F4Mi2a7bn1rvH5dkuQa7\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"ResourceId","name":"","type":"bytes32"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onAfterCallSystem"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"ResourceId","name":"","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"pure","type":"function","name":"onBeforeCallSystem"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Overridden from IERC165 to include the system hook interface.","params":{"interfaceId":"The bytes4 interface identifier, as specified in ERC-165."},"returns":{"_0":"true if the contract implements `interfaceId`, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"supportsInterface(bytes4)":{"notice":"Checks if the contract implements a given interface."}},"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":{"src/NoTransferHook.sol":"NoTransferHook"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"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/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"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/SystemHook.sol":{"keccak256":"0xcb7063c48eb27d3ddb0f1b477c8a298b68ed7fceba0762e555342a24a62f6fe3","urls":["bzz-raw://0da7b53848efba426f51f1f3698c3cd862553ed90edf220ed19fda51c12d162f","dweb:/ipfs/QmNd1QKSNoqHms3azKPLZtZoqNuRkgasCnYxVPG482b6jm"],"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/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/NoTransferHook.sol":{"keccak256":"0x6f47af6729d262a5da279988dfbe542f8fa58103935c4d133f418508187fa80c","urls":["bzz-raw://8097bfd517764db66101c83f3e7d48469bdc22414b1d7fd28c542cbcadf2cab2","dweb:/ipfs/QmfRgUtnyzsZvLvG9hcFCPtZe8F4Mi2a7bn1rvH5dkuQa7"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"src/NoTransferHook.sol","id":87219,"exportedSymbols":{"NoTransferHook":[87218],"ResourceId":[9486],"SystemHook":[48307]},"nodeType":"SourceUnit","src":"32:595:173","nodes":[{"id":87167,"nodeType":"PragmaDirective","src":"32:25:173","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":87169,"nodeType":"ImportDirective","src":"59:66:173","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"@latticexyz/store/src/ResourceId.sol","nameLocation":"-1:-1:-1","scope":87219,"sourceUnit":9568,"symbolAliases":[{"foreign":{"id":87168,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"68:10:173","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":87171,"nodeType":"ImportDirective","src":"126:66:173","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/SystemHook.sol","file":"@latticexyz/world/src/SystemHook.sol","nameLocation":"-1:-1:-1","scope":87219,"sourceUnit":48308,"symbolAliases":[{"foreign":{"id":87170,"name":"SystemHook","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48307,"src":"135:10:173","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":87218,"nodeType":"ContractDefinition","src":"194:432:173","nodes":[{"id":87181,"nodeType":"VariableDeclaration","src":"236:97:173","nodes":[],"constant":true,"mutability":"constant","name":"transferFromSelector","nameLocation":"252:20:173","scope":87218,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":87174,"name":"bytes4","nodeType":"ElementaryTypeName","src":"236:6:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"arguments":[{"arguments":[{"hexValue":"7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629","id":87178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"292:39:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b","typeString":"literal_string \"transferFrom(address,address,uint256)\""},"value":"transferFrom(address,address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b","typeString":"literal_string \"transferFrom(address,address,uint256)\""}],"id":87177,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"282:9:173","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":87179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"282:50:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":87176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"275:6:173","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":87175,"name":"bytes4","nodeType":"ElementaryTypeName","src":"275:6:173","typeDescriptions":{}}},"id":87180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"275:58:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"id":87206,"nodeType":"FunctionDefinition","src":"338:211:173","nodes":[],"body":{"id":87205,"nodeType":"Block","src":"422:127:173","nodes":[],"statements":[{"assignments":[87192],"declarations":[{"constant":false,"id":87192,"mutability":"mutable","name":"selector","nameLocation":"435:8:173","nodeType":"VariableDeclaration","scope":87205,"src":"428:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":87191,"name":"bytes4","nodeType":"ElementaryTypeName","src":"428:6:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":87197,"initialValue":{"arguments":[{"id":87195,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87188,"src":"453:8:173","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":87194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"446:6:173","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":87193,"name":"bytes4","nodeType":"ElementaryTypeName","src":"446:6:173","typeDescriptions":{}}},"id":87196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"446:16:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"428:34:173"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":87201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":87199,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87192,"src":"476:8:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":87200,"name":"transferFromSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87181,"src":"488:20:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"476:32:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"7468697320746f6b656e206973206e6f6e2d7472616e736665727261626c65","id":87202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"510:33:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_6be5de6212ae7b87b3063e42765c12633fe8401e79b916e71607a85b388c3761","typeString":"literal_string \"this token is non-transferrable\""},"value":"this token is non-transferrable"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6be5de6212ae7b87b3063e42765c12633fe8401e79b916e71607a85b388c3761","typeString":"literal_string \"this token is non-transferrable\""}],"id":87198,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"468:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":87203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"468:76:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87204,"nodeType":"ExpressionStatement","src":"468:76:173"}]},"baseFunctions":[47646],"functionSelector":"c3323031","implemented":true,"kind":"function","modifiers":[],"name":"onBeforeCallSystem","nameLocation":"347:18:173","parameters":{"id":87189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87183,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87206,"src":"366:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87182,"name":"address","nodeType":"ElementaryTypeName","src":"366:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":87186,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87206,"src":"375:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":87185,"nodeType":"UserDefinedTypeName","pathNode":{"id":87184,"name":"ResourceId","nameLocations":["375:10:173"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"375:10:173"},"referencedDeclaration":9486,"src":"375:10:173","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":87188,"mutability":"mutable","name":"callData","nameLocation":"400:8:173","nodeType":"VariableDeclaration","scope":87206,"src":"387:21:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":87187,"name":"bytes","nodeType":"ElementaryTypeName","src":"387:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"365:44:173"},"returnParameters":{"id":87190,"nodeType":"ParameterList","parameters":[],"src":"422:0:173"},"scope":87218,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":87217,"nodeType":"FunctionDefinition","src":"553:71:173","nodes":[],"body":{"id":87216,"nodeType":"Block","src":"622:2:173","nodes":[],"statements":[]},"baseFunctions":[47657],"functionSelector":"973d8f99","implemented":true,"kind":"function","modifiers":[],"name":"onAfterCallSystem","nameLocation":"562:17:173","parameters":{"id":87214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87217,"src":"580:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87207,"name":"address","nodeType":"ElementaryTypeName","src":"580:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":87211,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87217,"src":"589:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},"typeName":{"id":87210,"nodeType":"UserDefinedTypeName","pathNode":{"id":87209,"name":"ResourceId","nameLocations":["589:10:173"],"nodeType":"IdentifierPath","referencedDeclaration":9486,"src":"589:10:173"},"referencedDeclaration":9486,"src":"589:10:173","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":87213,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87217,"src":"601:12:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":87212,"name":"bytes","nodeType":"ElementaryTypeName","src":"601:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"579:35:173"},"returnParameters":{"id":87215,"nodeType":"ParameterList","parameters":[],"src":"622:0:173"},"scope":87218,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":87172,"name":"SystemHook","nameLocations":["221:10:173"],"nodeType":"IdentifierPath","referencedDeclaration":48307,"src":"221:10:173"},"id":87173,"nodeType":"InheritanceSpecifier","src":"221:10:173"}],"canonicalName":"NoTransferHook","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[87218,48307,47658,47584],"name":"NoTransferHook","nameLocation":"203:14:173","scope":87219,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":173}