Socket
Socket
Sign inDemoInstall

@eth-optimism/contracts-bedrock

Package Overview
Dependencies
Maintainers
2
Versions
213
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@eth-optimism/contracts-bedrock - npm Package Compare versions

Comparing version 0.0.0-develop-20240529005706 to 0.0.0-develop-20240529033925

forge-artifacts/AddressAliasHelper.sol/AddressAliasHelper.0.8.15.json

2

forge-artifacts/Base.sol/CommonBase.0.8.26.json

@@ -1,1 +0,1 @@

{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/Base.sol":"CommonBase"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":61,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)7427_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage))"},"t_mapping(t_bytes32,t_struct(FindData)7402_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)7402_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)7402_storage)"},"t_struct(FindData)7402_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":7395,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":7397,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":7399,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":7401,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)7427_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":7411,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage)))"},{"astId":7414,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":7416,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":7418,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":7420,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":7422,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":7424,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":7426,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/Base.sol","id":75,"exportedSymbols":{"CommonBase":[62],"ScriptBase":[74],"StdStorage":[7427],"TestBase":[65],"Vm":[15818],"VmSafe":[15231]},"nodeType":"SourceUnit","src":"32:1761:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"32:31:0","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3,"nodeType":"ImportDirective","src":"65:44:0","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":9387,"symbolAliases":[{"foreign":{"id":2,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7427,"src":"73:10:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"110:36:0","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":15819,"symbolAliases":[{"foreign":{"id":4,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"118:2:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":5,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15231,"src":"122:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62,"nodeType":"ContractDefinition","src":"148:1493:0","nodes":[{"id":20,"nodeType":"VariableDeclaration","src":"254:94:0","nodes":[],"constant":true,"mutability":"constant","name":"VM_ADDRESS","nameLocation":"280:10:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7,"name":"address","nodeType":"ElementaryTypeName","src":"254:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":15,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"327:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":14,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"317:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":16,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"309:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"309:7:0","typeDescriptions":{}}},"id":17,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"309:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"301:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10,"name":"uint160","nodeType":"ElementaryTypeName","src":"301:7:0","typeDescriptions":{}}},"id":18,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"301:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"293:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8,"name":"address","nodeType":"ElementaryTypeName","src":"293:7:0","typeDescriptions":{}}},"id":19,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"293:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":23,"nodeType":"VariableDeclaration","src":"438:78:0","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE","nameLocation":"464:7:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21,"name":"address","nodeType":"ElementaryTypeName","src":"438:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":22,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"474:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":26,"nodeType":"VariableDeclaration","src":"623:86:0","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"649:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24,"name":"address","nodeType":"ElementaryTypeName","src":"623:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":25,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"667:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"812:105:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"838:14:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27,"name":"address","nodeType":"ElementaryTypeName","src":"812:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"666f756e6472792064656661756c742063616c6c6572","id":35,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"889:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""},"value":"foundry default caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""}],"id":34,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"879:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"879:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":33,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"871:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":32,"name":"uint256","nodeType":"ElementaryTypeName","src":"871:7:0","typeDescriptions":{}}},"id":37,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"871:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"863:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":30,"name":"uint160","nodeType":"ElementaryTypeName","src":"863:7:0","typeDescriptions":{}}},"id":38,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"863:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"855:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28,"name":"address","nodeType":"ElementaryTypeName","src":"855:7:0","typeDescriptions":{}}},"id":39,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"855:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":43,"nodeType":"VariableDeclaration","src":"992:92:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1018:21:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41,"name":"address","nodeType":"ElementaryTypeName","src":"992:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":42,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1042:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":46,"nodeType":"VariableDeclaration","src":"1158:89:0","nodes":[],"constant":true,"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1184:18:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44,"name":"address","nodeType":"ElementaryTypeName","src":"1158:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":45,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1205:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"id":49,"nodeType":"VariableDeclaration","src":"1294:130:0","nodes":[],"constant":true,"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1320:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47,"name":"uint256","nodeType":"ElementaryTypeName","src":"1294:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":48,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1346:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"},{"id":52,"nodeType":"VariableDeclaration","src":"1431:126:0","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1457:11:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"1431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":51,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1479:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":58,"nodeType":"VariableDeclaration","src":"1564:40:0","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1585:2:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"},"typeName":{"id":54,"nodeType":"UserDefinedTypeName","pathNode":{"id":53,"name":"Vm","nameLocations":["1564:2:0"],"nodeType":"IdentifierPath","referencedDeclaration":15818,"src":"1564:2:0"},"referencedDeclaration":15818,"src":"1564:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"value":{"arguments":[{"id":56,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1593:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"1590:2:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15818_$","typeString":"type(contract Vm)"}},"id":57,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"visibility":"internal"},{"id":61,"nodeType":"VariableDeclaration","src":"1610:28:0","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"1630:8:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7427_storage","typeString":"struct StdStorage"},"typeName":{"id":60,"nodeType":"UserDefinedTypeName","pathNode":{"id":59,"name":"StdStorage","nameLocations":["1610:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":7427,"src":"1610:10:0"},"referencedDeclaration":7427,"src":"1610:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7427_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[62],"name":"CommonBase","nameLocation":"166:10:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":65,"nodeType":"ContractDefinition","src":"1643:43:0","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":63,"name":"CommonBase","nameLocations":["1673:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1673:10:0"},"id":64,"nodeType":"InheritanceSpecifier","src":"1673:10:0"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65,62],"name":"TestBase","nameLocation":"1661:8:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":74,"nodeType":"ContractDefinition","src":"1688:104:0","nodes":[{"id":73,"nodeType":"VariableDeclaration","src":"1737:52:0","nodes":[],"constant":true,"mutability":"constant","name":"vmSafe","nameLocation":"1762:6:0","scope":74,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"},"typeName":{"id":69,"nodeType":"UserDefinedTypeName","pathNode":{"id":68,"name":"VmSafe","nameLocations":["1737:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":15231,"src":"1737:6:0"},"referencedDeclaration":15231,"src":"1737:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":71,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1778:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15231,"src":"1771:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$15231_$","typeString":"type(contract VmSafe)"}},"id":72,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"}},"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":66,"name":"CommonBase","nameLocations":["1720:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1720:10:0"},"id":67,"nodeType":"InheritanceSpecifier","src":"1720:10:0"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[74,62],"name":"ScriptBase","nameLocation":"1706:10:0","scope":75,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":0}
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/Base.sol":"CommonBase"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":61,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)7466_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage))"},"t_mapping(t_bytes32,t_struct(FindData)7441_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)7441_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)7441_storage)"},"t_struct(FindData)7441_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":7434,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":7436,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":7438,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":7440,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)7466_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":7450,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage)))"},{"astId":7453,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":7455,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":7457,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":7459,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":7461,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":7463,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":7465,"contract":"lib/forge-std/src/Base.sol:CommonBase","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/Base.sol","id":75,"exportedSymbols":{"CommonBase":[62],"ScriptBase":[74],"StdStorage":[7466],"TestBase":[65],"Vm":[15857],"VmSafe":[15270]},"nodeType":"SourceUnit","src":"32:1761:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"32:31:0","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3,"nodeType":"ImportDirective","src":"65:44:0","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":9426,"symbolAliases":[{"foreign":{"id":2,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7466,"src":"73:10:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"110:36:0","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":15858,"symbolAliases":[{"foreign":{"id":4,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"118:2:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":5,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15270,"src":"122:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62,"nodeType":"ContractDefinition","src":"148:1493:0","nodes":[{"id":20,"nodeType":"VariableDeclaration","src":"254:94:0","nodes":[],"constant":true,"mutability":"constant","name":"VM_ADDRESS","nameLocation":"280:10:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7,"name":"address","nodeType":"ElementaryTypeName","src":"254:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":15,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"327:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":14,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"317:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":16,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"309:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"309:7:0","typeDescriptions":{}}},"id":17,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"309:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"301:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10,"name":"uint160","nodeType":"ElementaryTypeName","src":"301:7:0","typeDescriptions":{}}},"id":18,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"301:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"293:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8,"name":"address","nodeType":"ElementaryTypeName","src":"293:7:0","typeDescriptions":{}}},"id":19,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"293:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":23,"nodeType":"VariableDeclaration","src":"438:78:0","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE","nameLocation":"464:7:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21,"name":"address","nodeType":"ElementaryTypeName","src":"438:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":22,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"474:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":26,"nodeType":"VariableDeclaration","src":"623:86:0","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"649:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24,"name":"address","nodeType":"ElementaryTypeName","src":"623:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":25,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"667:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"812:105:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"838:14:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27,"name":"address","nodeType":"ElementaryTypeName","src":"812:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"666f756e6472792064656661756c742063616c6c6572","id":35,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"889:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""},"value":"foundry default caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""}],"id":34,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"879:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"879:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":33,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"871:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":32,"name":"uint256","nodeType":"ElementaryTypeName","src":"871:7:0","typeDescriptions":{}}},"id":37,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"871:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"863:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":30,"name":"uint160","nodeType":"ElementaryTypeName","src":"863:7:0","typeDescriptions":{}}},"id":38,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"863:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"855:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28,"name":"address","nodeType":"ElementaryTypeName","src":"855:7:0","typeDescriptions":{}}},"id":39,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"855:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":43,"nodeType":"VariableDeclaration","src":"992:92:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1018:21:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41,"name":"address","nodeType":"ElementaryTypeName","src":"992:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":42,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1042:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":46,"nodeType":"VariableDeclaration","src":"1158:89:0","nodes":[],"constant":true,"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1184:18:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44,"name":"address","nodeType":"ElementaryTypeName","src":"1158:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":45,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1205:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"id":49,"nodeType":"VariableDeclaration","src":"1294:130:0","nodes":[],"constant":true,"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1320:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47,"name":"uint256","nodeType":"ElementaryTypeName","src":"1294:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":48,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1346:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"},{"id":52,"nodeType":"VariableDeclaration","src":"1431:126:0","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1457:11:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"1431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":51,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1479:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":58,"nodeType":"VariableDeclaration","src":"1564:40:0","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1585:2:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"},"typeName":{"id":54,"nodeType":"UserDefinedTypeName","pathNode":{"id":53,"name":"Vm","nameLocations":["1564:2:0"],"nodeType":"IdentifierPath","referencedDeclaration":15857,"src":"1564:2:0"},"referencedDeclaration":15857,"src":"1564:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"value":{"arguments":[{"id":56,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1593:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"1590:2:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15857_$","typeString":"type(contract Vm)"}},"id":57,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"visibility":"internal"},{"id":61,"nodeType":"VariableDeclaration","src":"1610:28:0","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"1630:8:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7466_storage","typeString":"struct StdStorage"},"typeName":{"id":60,"nodeType":"UserDefinedTypeName","pathNode":{"id":59,"name":"StdStorage","nameLocations":["1610:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":7466,"src":"1610:10:0"},"referencedDeclaration":7466,"src":"1610:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7466_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[62],"name":"CommonBase","nameLocation":"166:10:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":65,"nodeType":"ContractDefinition","src":"1643:43:0","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":63,"name":"CommonBase","nameLocations":["1673:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1673:10:0"},"id":64,"nodeType":"InheritanceSpecifier","src":"1673:10:0"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65,62],"name":"TestBase","nameLocation":"1661:8:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":74,"nodeType":"ContractDefinition","src":"1688:104:0","nodes":[{"id":73,"nodeType":"VariableDeclaration","src":"1737:52:0","nodes":[],"constant":true,"mutability":"constant","name":"vmSafe","nameLocation":"1762:6:0","scope":74,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"},"typeName":{"id":69,"nodeType":"UserDefinedTypeName","pathNode":{"id":68,"name":"VmSafe","nameLocations":["1737:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":15270,"src":"1737:6:0"},"referencedDeclaration":15270,"src":"1737:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":71,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1778:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15270,"src":"1771:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$15270_$","typeString":"type(contract VmSafe)"}},"id":72,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"}},"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":66,"name":"CommonBase","nameLocations":["1720:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1720:10:0"},"id":67,"nodeType":"InheritanceSpecifier","src":"1720:10:0"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[74,62],"name":"ScriptBase","nameLocation":"1706:10:0","scope":75,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":0}

@@ -1,1 +0,1 @@

{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/Base.sol":"ScriptBase"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":61,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)7427_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage))"},"t_mapping(t_bytes32,t_struct(FindData)7402_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)7402_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)7402_storage)"},"t_struct(FindData)7402_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":7395,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":7397,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":7399,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":7401,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)7427_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":7411,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage)))"},{"astId":7414,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":7416,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":7418,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":7420,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":7422,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":7424,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":7426,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/Base.sol","id":75,"exportedSymbols":{"CommonBase":[62],"ScriptBase":[74],"StdStorage":[7427],"TestBase":[65],"Vm":[15818],"VmSafe":[15231]},"nodeType":"SourceUnit","src":"32:1761:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"32:31:0","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3,"nodeType":"ImportDirective","src":"65:44:0","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":9387,"symbolAliases":[{"foreign":{"id":2,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7427,"src":"73:10:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"110:36:0","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":15819,"symbolAliases":[{"foreign":{"id":4,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"118:2:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":5,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15231,"src":"122:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62,"nodeType":"ContractDefinition","src":"148:1493:0","nodes":[{"id":20,"nodeType":"VariableDeclaration","src":"254:94:0","nodes":[],"constant":true,"mutability":"constant","name":"VM_ADDRESS","nameLocation":"280:10:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7,"name":"address","nodeType":"ElementaryTypeName","src":"254:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":15,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"327:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":14,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"317:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":16,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"309:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"309:7:0","typeDescriptions":{}}},"id":17,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"309:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"301:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10,"name":"uint160","nodeType":"ElementaryTypeName","src":"301:7:0","typeDescriptions":{}}},"id":18,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"301:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"293:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8,"name":"address","nodeType":"ElementaryTypeName","src":"293:7:0","typeDescriptions":{}}},"id":19,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"293:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":23,"nodeType":"VariableDeclaration","src":"438:78:0","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE","nameLocation":"464:7:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21,"name":"address","nodeType":"ElementaryTypeName","src":"438:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":22,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"474:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":26,"nodeType":"VariableDeclaration","src":"623:86:0","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"649:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24,"name":"address","nodeType":"ElementaryTypeName","src":"623:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":25,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"667:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"812:105:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"838:14:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27,"name":"address","nodeType":"ElementaryTypeName","src":"812:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"666f756e6472792064656661756c742063616c6c6572","id":35,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"889:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""},"value":"foundry default caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""}],"id":34,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"879:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"879:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":33,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"871:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":32,"name":"uint256","nodeType":"ElementaryTypeName","src":"871:7:0","typeDescriptions":{}}},"id":37,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"871:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"863:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":30,"name":"uint160","nodeType":"ElementaryTypeName","src":"863:7:0","typeDescriptions":{}}},"id":38,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"863:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"855:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28,"name":"address","nodeType":"ElementaryTypeName","src":"855:7:0","typeDescriptions":{}}},"id":39,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"855:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":43,"nodeType":"VariableDeclaration","src":"992:92:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1018:21:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41,"name":"address","nodeType":"ElementaryTypeName","src":"992:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":42,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1042:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":46,"nodeType":"VariableDeclaration","src":"1158:89:0","nodes":[],"constant":true,"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1184:18:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44,"name":"address","nodeType":"ElementaryTypeName","src":"1158:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":45,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1205:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"id":49,"nodeType":"VariableDeclaration","src":"1294:130:0","nodes":[],"constant":true,"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1320:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47,"name":"uint256","nodeType":"ElementaryTypeName","src":"1294:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":48,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1346:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"},{"id":52,"nodeType":"VariableDeclaration","src":"1431:126:0","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1457:11:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"1431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":51,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1479:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":58,"nodeType":"VariableDeclaration","src":"1564:40:0","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1585:2:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"},"typeName":{"id":54,"nodeType":"UserDefinedTypeName","pathNode":{"id":53,"name":"Vm","nameLocations":["1564:2:0"],"nodeType":"IdentifierPath","referencedDeclaration":15818,"src":"1564:2:0"},"referencedDeclaration":15818,"src":"1564:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"value":{"arguments":[{"id":56,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1593:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"1590:2:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15818_$","typeString":"type(contract Vm)"}},"id":57,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"visibility":"internal"},{"id":61,"nodeType":"VariableDeclaration","src":"1610:28:0","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"1630:8:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7427_storage","typeString":"struct StdStorage"},"typeName":{"id":60,"nodeType":"UserDefinedTypeName","pathNode":{"id":59,"name":"StdStorage","nameLocations":["1610:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":7427,"src":"1610:10:0"},"referencedDeclaration":7427,"src":"1610:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7427_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[62],"name":"CommonBase","nameLocation":"166:10:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":65,"nodeType":"ContractDefinition","src":"1643:43:0","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":63,"name":"CommonBase","nameLocations":["1673:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1673:10:0"},"id":64,"nodeType":"InheritanceSpecifier","src":"1673:10:0"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65,62],"name":"TestBase","nameLocation":"1661:8:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":74,"nodeType":"ContractDefinition","src":"1688:104:0","nodes":[{"id":73,"nodeType":"VariableDeclaration","src":"1737:52:0","nodes":[],"constant":true,"mutability":"constant","name":"vmSafe","nameLocation":"1762:6:0","scope":74,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"},"typeName":{"id":69,"nodeType":"UserDefinedTypeName","pathNode":{"id":68,"name":"VmSafe","nameLocations":["1737:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":15231,"src":"1737:6:0"},"referencedDeclaration":15231,"src":"1737:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":71,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1778:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15231,"src":"1771:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$15231_$","typeString":"type(contract VmSafe)"}},"id":72,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"}},"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":66,"name":"CommonBase","nameLocations":["1720:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1720:10:0"},"id":67,"nodeType":"InheritanceSpecifier","src":"1720:10:0"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[74,62],"name":"ScriptBase","nameLocation":"1706:10:0","scope":75,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":0}
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/Base.sol":"ScriptBase"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":61,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)7466_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage))"},"t_mapping(t_bytes32,t_struct(FindData)7441_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)7441_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)7441_storage)"},"t_struct(FindData)7441_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":7434,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":7436,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":7438,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":7440,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)7466_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":7450,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage)))"},{"astId":7453,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":7455,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":7457,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":7459,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":7461,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":7463,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":7465,"contract":"lib/forge-std/src/Base.sol:ScriptBase","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/Base.sol","id":75,"exportedSymbols":{"CommonBase":[62],"ScriptBase":[74],"StdStorage":[7466],"TestBase":[65],"Vm":[15857],"VmSafe":[15270]},"nodeType":"SourceUnit","src":"32:1761:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"32:31:0","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3,"nodeType":"ImportDirective","src":"65:44:0","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":9426,"symbolAliases":[{"foreign":{"id":2,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7466,"src":"73:10:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"110:36:0","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":15858,"symbolAliases":[{"foreign":{"id":4,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"118:2:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":5,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15270,"src":"122:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62,"nodeType":"ContractDefinition","src":"148:1493:0","nodes":[{"id":20,"nodeType":"VariableDeclaration","src":"254:94:0","nodes":[],"constant":true,"mutability":"constant","name":"VM_ADDRESS","nameLocation":"280:10:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7,"name":"address","nodeType":"ElementaryTypeName","src":"254:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":15,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"327:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":14,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"317:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":16,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"309:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"309:7:0","typeDescriptions":{}}},"id":17,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"309:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"301:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10,"name":"uint160","nodeType":"ElementaryTypeName","src":"301:7:0","typeDescriptions":{}}},"id":18,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"301:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"293:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8,"name":"address","nodeType":"ElementaryTypeName","src":"293:7:0","typeDescriptions":{}}},"id":19,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"293:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":23,"nodeType":"VariableDeclaration","src":"438:78:0","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE","nameLocation":"464:7:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21,"name":"address","nodeType":"ElementaryTypeName","src":"438:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":22,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"474:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":26,"nodeType":"VariableDeclaration","src":"623:86:0","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"649:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24,"name":"address","nodeType":"ElementaryTypeName","src":"623:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":25,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"667:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"812:105:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"838:14:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27,"name":"address","nodeType":"ElementaryTypeName","src":"812:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"666f756e6472792064656661756c742063616c6c6572","id":35,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"889:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""},"value":"foundry default caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""}],"id":34,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"879:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"879:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":33,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"871:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":32,"name":"uint256","nodeType":"ElementaryTypeName","src":"871:7:0","typeDescriptions":{}}},"id":37,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"871:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"863:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":30,"name":"uint160","nodeType":"ElementaryTypeName","src":"863:7:0","typeDescriptions":{}}},"id":38,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"863:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"855:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28,"name":"address","nodeType":"ElementaryTypeName","src":"855:7:0","typeDescriptions":{}}},"id":39,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"855:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":43,"nodeType":"VariableDeclaration","src":"992:92:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1018:21:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41,"name":"address","nodeType":"ElementaryTypeName","src":"992:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":42,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1042:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":46,"nodeType":"VariableDeclaration","src":"1158:89:0","nodes":[],"constant":true,"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1184:18:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44,"name":"address","nodeType":"ElementaryTypeName","src":"1158:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":45,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1205:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"id":49,"nodeType":"VariableDeclaration","src":"1294:130:0","nodes":[],"constant":true,"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1320:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47,"name":"uint256","nodeType":"ElementaryTypeName","src":"1294:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":48,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1346:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"},{"id":52,"nodeType":"VariableDeclaration","src":"1431:126:0","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1457:11:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"1431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":51,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1479:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":58,"nodeType":"VariableDeclaration","src":"1564:40:0","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1585:2:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"},"typeName":{"id":54,"nodeType":"UserDefinedTypeName","pathNode":{"id":53,"name":"Vm","nameLocations":["1564:2:0"],"nodeType":"IdentifierPath","referencedDeclaration":15857,"src":"1564:2:0"},"referencedDeclaration":15857,"src":"1564:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"value":{"arguments":[{"id":56,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1593:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"1590:2:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15857_$","typeString":"type(contract Vm)"}},"id":57,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"visibility":"internal"},{"id":61,"nodeType":"VariableDeclaration","src":"1610:28:0","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"1630:8:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7466_storage","typeString":"struct StdStorage"},"typeName":{"id":60,"nodeType":"UserDefinedTypeName","pathNode":{"id":59,"name":"StdStorage","nameLocations":["1610:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":7466,"src":"1610:10:0"},"referencedDeclaration":7466,"src":"1610:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7466_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[62],"name":"CommonBase","nameLocation":"166:10:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":65,"nodeType":"ContractDefinition","src":"1643:43:0","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":63,"name":"CommonBase","nameLocations":["1673:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1673:10:0"},"id":64,"nodeType":"InheritanceSpecifier","src":"1673:10:0"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65,62],"name":"TestBase","nameLocation":"1661:8:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":74,"nodeType":"ContractDefinition","src":"1688:104:0","nodes":[{"id":73,"nodeType":"VariableDeclaration","src":"1737:52:0","nodes":[],"constant":true,"mutability":"constant","name":"vmSafe","nameLocation":"1762:6:0","scope":74,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"},"typeName":{"id":69,"nodeType":"UserDefinedTypeName","pathNode":{"id":68,"name":"VmSafe","nameLocations":["1737:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":15270,"src":"1737:6:0"},"referencedDeclaration":15270,"src":"1737:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":71,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1778:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15270,"src":"1771:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$15270_$","typeString":"type(contract VmSafe)"}},"id":72,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"}},"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":66,"name":"CommonBase","nameLocations":["1720:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1720:10:0"},"id":67,"nodeType":"InheritanceSpecifier","src":"1720:10:0"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[74,62],"name":"ScriptBase","nameLocation":"1706:10:0","scope":75,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":0}

@@ -1,1 +0,1 @@

{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/Base.sol":"TestBase"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":61,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)7427_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage))"},"t_mapping(t_bytes32,t_struct(FindData)7402_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)7402_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)7402_storage)"},"t_struct(FindData)7402_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":7395,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":7397,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":7399,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":7401,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)7427_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":7411,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage)))"},{"astId":7414,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":7416,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":7418,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":7420,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":7422,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":7424,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":7426,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/Base.sol","id":75,"exportedSymbols":{"CommonBase":[62],"ScriptBase":[74],"StdStorage":[7427],"TestBase":[65],"Vm":[15818],"VmSafe":[15231]},"nodeType":"SourceUnit","src":"32:1761:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"32:31:0","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3,"nodeType":"ImportDirective","src":"65:44:0","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":9387,"symbolAliases":[{"foreign":{"id":2,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7427,"src":"73:10:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"110:36:0","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":15819,"symbolAliases":[{"foreign":{"id":4,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"118:2:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":5,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15231,"src":"122:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62,"nodeType":"ContractDefinition","src":"148:1493:0","nodes":[{"id":20,"nodeType":"VariableDeclaration","src":"254:94:0","nodes":[],"constant":true,"mutability":"constant","name":"VM_ADDRESS","nameLocation":"280:10:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7,"name":"address","nodeType":"ElementaryTypeName","src":"254:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":15,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"327:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":14,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"317:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":16,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"309:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"309:7:0","typeDescriptions":{}}},"id":17,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"309:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"301:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10,"name":"uint160","nodeType":"ElementaryTypeName","src":"301:7:0","typeDescriptions":{}}},"id":18,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"301:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"293:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8,"name":"address","nodeType":"ElementaryTypeName","src":"293:7:0","typeDescriptions":{}}},"id":19,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"293:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":23,"nodeType":"VariableDeclaration","src":"438:78:0","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE","nameLocation":"464:7:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21,"name":"address","nodeType":"ElementaryTypeName","src":"438:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":22,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"474:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":26,"nodeType":"VariableDeclaration","src":"623:86:0","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"649:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24,"name":"address","nodeType":"ElementaryTypeName","src":"623:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":25,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"667:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"812:105:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"838:14:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27,"name":"address","nodeType":"ElementaryTypeName","src":"812:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"666f756e6472792064656661756c742063616c6c6572","id":35,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"889:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""},"value":"foundry default caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""}],"id":34,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"879:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"879:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":33,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"871:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":32,"name":"uint256","nodeType":"ElementaryTypeName","src":"871:7:0","typeDescriptions":{}}},"id":37,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"871:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"863:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":30,"name":"uint160","nodeType":"ElementaryTypeName","src":"863:7:0","typeDescriptions":{}}},"id":38,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"863:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"855:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28,"name":"address","nodeType":"ElementaryTypeName","src":"855:7:0","typeDescriptions":{}}},"id":39,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"855:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":43,"nodeType":"VariableDeclaration","src":"992:92:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1018:21:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41,"name":"address","nodeType":"ElementaryTypeName","src":"992:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":42,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1042:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":46,"nodeType":"VariableDeclaration","src":"1158:89:0","nodes":[],"constant":true,"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1184:18:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44,"name":"address","nodeType":"ElementaryTypeName","src":"1158:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":45,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1205:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"id":49,"nodeType":"VariableDeclaration","src":"1294:130:0","nodes":[],"constant":true,"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1320:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47,"name":"uint256","nodeType":"ElementaryTypeName","src":"1294:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":48,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1346:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"},{"id":52,"nodeType":"VariableDeclaration","src":"1431:126:0","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1457:11:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"1431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":51,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1479:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":58,"nodeType":"VariableDeclaration","src":"1564:40:0","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1585:2:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"},"typeName":{"id":54,"nodeType":"UserDefinedTypeName","pathNode":{"id":53,"name":"Vm","nameLocations":["1564:2:0"],"nodeType":"IdentifierPath","referencedDeclaration":15818,"src":"1564:2:0"},"referencedDeclaration":15818,"src":"1564:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"value":{"arguments":[{"id":56,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1593:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"1590:2:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15818_$","typeString":"type(contract Vm)"}},"id":57,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"visibility":"internal"},{"id":61,"nodeType":"VariableDeclaration","src":"1610:28:0","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"1630:8:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7427_storage","typeString":"struct StdStorage"},"typeName":{"id":60,"nodeType":"UserDefinedTypeName","pathNode":{"id":59,"name":"StdStorage","nameLocations":["1610:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":7427,"src":"1610:10:0"},"referencedDeclaration":7427,"src":"1610:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7427_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[62],"name":"CommonBase","nameLocation":"166:10:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":65,"nodeType":"ContractDefinition","src":"1643:43:0","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":63,"name":"CommonBase","nameLocations":["1673:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1673:10:0"},"id":64,"nodeType":"InheritanceSpecifier","src":"1673:10:0"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65,62],"name":"TestBase","nameLocation":"1661:8:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":74,"nodeType":"ContractDefinition","src":"1688:104:0","nodes":[{"id":73,"nodeType":"VariableDeclaration","src":"1737:52:0","nodes":[],"constant":true,"mutability":"constant","name":"vmSafe","nameLocation":"1762:6:0","scope":74,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"},"typeName":{"id":69,"nodeType":"UserDefinedTypeName","pathNode":{"id":68,"name":"VmSafe","nameLocations":["1737:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":15231,"src":"1737:6:0"},"referencedDeclaration":15231,"src":"1737:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":71,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1778:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15231,"src":"1771:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$15231_$","typeString":"type(contract VmSafe)"}},"id":72,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"}},"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":66,"name":"CommonBase","nameLocations":["1720:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1720:10:0"},"id":67,"nodeType":"InheritanceSpecifier","src":"1720:10:0"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[74,62],"name":"ScriptBase","nameLocation":"1706:10:0","scope":75,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":0}
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/Base.sol":"TestBase"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":61,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)7466_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage))"},"t_mapping(t_bytes32,t_struct(FindData)7441_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)7441_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)7441_storage)"},"t_struct(FindData)7441_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":7434,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":7436,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":7438,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":7440,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(StdStorage)7466_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":7450,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage)))"},{"astId":7453,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":7455,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":7457,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":7459,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":7461,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":7463,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":7465,"contract":"lib/forge-std/src/Base.sol:TestBase","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/Base.sol","id":75,"exportedSymbols":{"CommonBase":[62],"ScriptBase":[74],"StdStorage":[7466],"TestBase":[65],"Vm":[15857],"VmSafe":[15270]},"nodeType":"SourceUnit","src":"32:1761:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"32:31:0","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3,"nodeType":"ImportDirective","src":"65:44:0","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":9426,"symbolAliases":[{"foreign":{"id":2,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7466,"src":"73:10:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"110:36:0","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":75,"sourceUnit":15858,"symbolAliases":[{"foreign":{"id":4,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"118:2:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":5,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15270,"src":"122:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62,"nodeType":"ContractDefinition","src":"148:1493:0","nodes":[{"id":20,"nodeType":"VariableDeclaration","src":"254:94:0","nodes":[],"constant":true,"mutability":"constant","name":"VM_ADDRESS","nameLocation":"280:10:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7,"name":"address","nodeType":"ElementaryTypeName","src":"254:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":15,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"327:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":14,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"317:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":16,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"309:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12,"name":"uint256","nodeType":"ElementaryTypeName","src":"309:7:0","typeDescriptions":{}}},"id":17,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"309:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"301:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10,"name":"uint160","nodeType":"ElementaryTypeName","src":"301:7:0","typeDescriptions":{}}},"id":18,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"301:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"293:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8,"name":"address","nodeType":"ElementaryTypeName","src":"293:7:0","typeDescriptions":{}}},"id":19,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"293:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":23,"nodeType":"VariableDeclaration","src":"438:78:0","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE","nameLocation":"464:7:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21,"name":"address","nodeType":"ElementaryTypeName","src":"438:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":22,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"474:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":26,"nodeType":"VariableDeclaration","src":"623:86:0","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"649:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24,"name":"address","nodeType":"ElementaryTypeName","src":"623:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":25,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"667:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"812:105:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"838:14:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27,"name":"address","nodeType":"ElementaryTypeName","src":"812:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"666f756e6472792064656661756c742063616c6c6572","id":35,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"889:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""},"value":"foundry default caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""}],"id":34,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"879:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"879:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":33,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"871:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":32,"name":"uint256","nodeType":"ElementaryTypeName","src":"871:7:0","typeDescriptions":{}}},"id":37,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"871:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"863:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":30,"name":"uint160","nodeType":"ElementaryTypeName","src":"863:7:0","typeDescriptions":{}}},"id":38,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"863:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"855:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":28,"name":"address","nodeType":"ElementaryTypeName","src":"855:7:0","typeDescriptions":{}}},"id":39,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"855:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":43,"nodeType":"VariableDeclaration","src":"992:92:0","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1018:21:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41,"name":"address","nodeType":"ElementaryTypeName","src":"992:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":42,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1042:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":46,"nodeType":"VariableDeclaration","src":"1158:89:0","nodes":[],"constant":true,"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1184:18:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44,"name":"address","nodeType":"ElementaryTypeName","src":"1158:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":45,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1205:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"id":49,"nodeType":"VariableDeclaration","src":"1294:130:0","nodes":[],"constant":true,"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1320:15:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47,"name":"uint256","nodeType":"ElementaryTypeName","src":"1294:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":48,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1346:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"},{"id":52,"nodeType":"VariableDeclaration","src":"1431:126:0","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1457:11:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"1431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":51,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1479:78:0","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":58,"nodeType":"VariableDeclaration","src":"1564:40:0","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1585:2:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"},"typeName":{"id":54,"nodeType":"UserDefinedTypeName","pathNode":{"id":53,"name":"Vm","nameLocations":["1564:2:0"],"nodeType":"IdentifierPath","referencedDeclaration":15857,"src":"1564:2:0"},"referencedDeclaration":15857,"src":"1564:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"value":{"arguments":[{"id":56,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1593:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":55,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"1590:2:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15857_$","typeString":"type(contract Vm)"}},"id":57,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"visibility":"internal"},{"id":61,"nodeType":"VariableDeclaration","src":"1610:28:0","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"1630:8:0","scope":62,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7466_storage","typeString":"struct StdStorage"},"typeName":{"id":60,"nodeType":"UserDefinedTypeName","pathNode":{"id":59,"name":"StdStorage","nameLocations":["1610:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":7466,"src":"1610:10:0"},"referencedDeclaration":7466,"src":"1610:10:0","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7466_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[62],"name":"CommonBase","nameLocation":"166:10:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":65,"nodeType":"ContractDefinition","src":"1643:43:0","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":63,"name":"CommonBase","nameLocations":["1673:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1673:10:0"},"id":64,"nodeType":"InheritanceSpecifier","src":"1673:10:0"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65,62],"name":"TestBase","nameLocation":"1661:8:0","scope":75,"usedErrors":[],"usedEvents":[]},{"id":74,"nodeType":"ContractDefinition","src":"1688:104:0","nodes":[{"id":73,"nodeType":"VariableDeclaration","src":"1737:52:0","nodes":[],"constant":true,"mutability":"constant","name":"vmSafe","nameLocation":"1762:6:0","scope":74,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"},"typeName":{"id":69,"nodeType":"UserDefinedTypeName","pathNode":{"id":68,"name":"VmSafe","nameLocations":["1737:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":15270,"src":"1737:6:0"},"referencedDeclaration":15270,"src":"1737:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":71,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1778:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":70,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15270,"src":"1771:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$15270_$","typeString":"type(contract VmSafe)"}},"id":72,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"}},"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":66,"name":"CommonBase","nameLocations":["1720:10:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1720:10:0"},"id":67,"nodeType":"InheritanceSpecifier","src":"1720:10:0"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[74,62],"name":"ScriptBase","nameLocation":"1706:10:0","scope":75,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":0}

@@ -1,1 +0,1 @@

{"abi":[{"type":"function","name":"createdAt","inputs":[],"outputs":[{"name":"createdAt_","type":"uint64","internalType":"Timestamp"}],"stateMutability":"view"},{"type":"function","name":"extraData","inputs":[],"outputs":[{"name":"extraData_","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"gameCreator","inputs":[],"outputs":[{"name":"creator_","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"gameData","inputs":[],"outputs":[{"name":"gameType_","type":"uint32","internalType":"GameType"},{"name":"rootClaim_","type":"bytes32","internalType":"Claim"},{"name":"extraData_","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"gameType","inputs":[],"outputs":[{"name":"gameType_","type":"uint32","internalType":"GameType"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"l1Head","inputs":[],"outputs":[{"name":"l1Head_","type":"bytes32","internalType":"Hash"}],"stateMutability":"pure"},{"type":"function","name":"resolve","inputs":[],"outputs":[{"name":"status_","type":"uint8","internalType":"enum GameStatus"}],"stateMutability":"nonpayable"},{"type":"function","name":"resolvedAt","inputs":[],"outputs":[{"name":"resolvedAt_","type":"uint64","internalType":"Timestamp"}],"stateMutability":"view"},{"type":"function","name":"rootClaim","inputs":[],"outputs":[{"name":"rootClaim_","type":"bytes32","internalType":"Claim"}],"stateMutability":"pure"},{"type":"function","name":"status","inputs":[],"outputs":[{"name":"status_","type":"uint8","internalType":"enum GameStatus"}],"stateMutability":"view"},{"type":"event","name":"Resolved","inputs":[{"name":"status","type":"uint8","indexed":true,"internalType":"enum GameStatus"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createdAt()":"cf09e0d0","extraData()":"609d3334","gameCreator()":"37b1b229","gameData()":"fa24f743","gameType()":"bbdc02db","initialize()":"8129fc1c","l1Head()":"6361506d","resolve()":"2810e1d6","resolvedAt()":"19effeb4","rootClaim()":"bcef3b55","status()":"200d2ed2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"enum GameStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"Resolved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"createdAt\",\"outputs\":[{\"internalType\":\"Timestamp\",\"name\":\"createdAt_\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"extraData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"extraData_\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gameCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator_\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gameData\",\"outputs\":[{\"internalType\":\"GameType\",\"name\":\"gameType_\",\"type\":\"uint32\"},{\"internalType\":\"Claim\",\"name\":\"rootClaim_\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"extraData_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gameType\",\"outputs\":[{\"internalType\":\"GameType\",\"name\":\"gameType_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1Head\",\"outputs\":[{\"internalType\":\"Hash\",\"name\":\"l1Head_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"enum GameStatus\",\"name\":\"status_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resolvedAt\",\"outputs\":[{\"internalType\":\"Timestamp\",\"name\":\"resolvedAt_\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rootClaim\",\"outputs\":[{\"internalType\":\"Claim\",\"name\":\"rootClaim_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"status\",\"outputs\":[{\"internalType\":\"enum GameStatus\",\"name\":\"status_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Resolved(uint8)\":{\"params\":{\"status\":\"The status of the game after resolution.\"}}},\"kind\":\"dev\",\"methods\":{\"createdAt()\":{\"returns\":{\"createdAt_\":\"The timestamp that the DisputeGame contract was created at.\"}},\"extraData()\":{\"details\":\"`clones-with-immutable-args` argument #4\",\"returns\":{\"extraData_\":\"Any extra data supplied to the dispute game contract by the creator.\"}},\"gameCreator()\":{\"details\":\"`clones-with-immutable-args` argument #1\",\"returns\":{\"creator_\":\"The creator of the dispute game.\"}},\"gameData()\":{\"returns\":{\"extraData_\":\"Any extra data supplied to the dispute game contract by the creator.\",\"gameType_\":\"The type of proof system being used.\",\"rootClaim_\":\"The root claim of the DisputeGame.\"}},\"gameType()\":{\"details\":\"The reference impl should be entirely different depending on the type (fault, validity) i.e. The game type should indicate the security model.\",\"returns\":{\"gameType_\":\"The type of proof system being used.\"}},\"initialize()\":{\"details\":\"This function may only be called once.\"},\"l1Head()\":{\"details\":\"`clones-with-immutable-args` argument #3\",\"returns\":{\"l1Head_\":\"The parent hash of the L1 block when the dispute game was created.\"}},\"resolve()\":{\"details\":\"May only be called if the `status` is `IN_PROGRESS`.\",\"returns\":{\"status_\":\"The status of the game after resolution.\"}},\"resolvedAt()\":{\"returns\":{\"resolvedAt_\":\"The timestamp that the DisputeGame contract was resolved at.\"}},\"rootClaim()\":{\"details\":\"`clones-with-immutable-args` argument #2\",\"returns\":{\"rootClaim_\":\"The root claim of the DisputeGame.\"}},\"status()\":{\"returns\":{\"status_\":\"The current status of the game.\"}}},\"title\":\"IDisputeGame\",\"version\":1},\"userdoc\":{\"events\":{\"Resolved(uint8)\":{\"notice\":\"Emitted when the game is resolved.\"}},\"kind\":\"user\",\"methods\":{\"createdAt()\":{\"notice\":\"Returns the timestamp that the DisputeGame contract was created at.\"},\"extraData()\":{\"notice\":\"Getter for the extra data.\"},\"gameCreator()\":{\"notice\":\"Getter for the creator of the dispute game.\"},\"gameData()\":{\"notice\":\"A compliant implementation of this interface should return the components of the game UUID's preimage provided in the cwia payload. The preimage of the UUID is constructed as `keccak256(gameType . rootClaim . extraData)` where `.` denotes concatenation.\"},\"gameType()\":{\"notice\":\"Getter for the game type.\"},\"initialize()\":{\"notice\":\"Initializes the contract.\"},\"l1Head()\":{\"notice\":\"Getter for the parent hash of the L1 block when the dispute game was created.\"},\"resolve()\":{\"notice\":\"If all necessary information has been gathered, this function should mark the game status as either `CHALLENGER_WINS` or `DEFENDER_WINS` and return the status of the resolved game. It is at this stage that the bonds should be awarded to the necessary parties.\"},\"resolvedAt()\":{\"notice\":\"Returns the timestamp that the DisputeGame contract was resolved at.\"},\"rootClaim()\":{\"notice\":\"Getter for the root claim.\"},\"status()\":{\"notice\":\"Returns the current status of the game.\"}},\"notice\":\"The generic interface for a DisputeGame contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/interfaces/IDisputeGame.sol\":\"IDisputeGame\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/dispute/interfaces/IDisputeGame.sol\":{\"keccak256\":\"0xa4d3617892dfee02890ea135e778ed0207aa8545c97cb2a421bae7c1a659baa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e31653e3463dbc3f3b572ca4a1198d9aadc7d8606a2b690a58e2c082a0d0090\",\"dweb:/ipfs/QmdbxJK4T5Hu652cSkxpAjYPxrK1i5ZM62oyopzmAzRn6M\"]},\"src/dispute/interfaces/IInitializable.sol\":{\"keccak256\":\"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5\",\"dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj\"]},\"src/dispute/lib/LibPosition.sol\":{\"keccak256\":\"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d\",\"dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K\"]},\"src/dispute/lib/LibUDT.sol\":{\"keccak256\":\"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e\",\"dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX\"]},\"src/dispute/lib/Types.sol\":{\"keccak256\":\"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd\",\"dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"enum GameStatus","name":"status","type":"uint8","indexed":true}],"type":"event","name":"Resolved","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"createdAt","outputs":[{"internalType":"Timestamp","name":"createdAt_","type":"uint64"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"extraData","outputs":[{"internalType":"bytes","name":"extraData_","type":"bytes"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"gameCreator","outputs":[{"internalType":"address","name":"creator_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gameData","outputs":[{"internalType":"GameType","name":"gameType_","type":"uint32"},{"internalType":"Claim","name":"rootClaim_","type":"bytes32"},{"internalType":"bytes","name":"extraData_","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gameType","outputs":[{"internalType":"GameType","name":"gameType_","type":"uint32"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"pure","type":"function","name":"l1Head","outputs":[{"internalType":"Hash","name":"l1Head_","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"resolve","outputs":[{"internalType":"enum GameStatus","name":"status_","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"resolvedAt","outputs":[{"internalType":"Timestamp","name":"resolvedAt_","type":"uint64"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"rootClaim","outputs":[{"internalType":"Claim","name":"rootClaim_","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"status","outputs":[{"internalType":"enum GameStatus","name":"status_","type":"uint8"}]}],"devdoc":{"kind":"dev","methods":{"createdAt()":{"returns":{"createdAt_":"The timestamp that the DisputeGame contract was created at."}},"extraData()":{"details":"`clones-with-immutable-args` argument #4","returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator."}},"gameCreator()":{"details":"`clones-with-immutable-args` argument #1","returns":{"creator_":"The creator of the dispute game."}},"gameData()":{"returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator.","gameType_":"The type of proof system being used.","rootClaim_":"The root claim of the DisputeGame."}},"gameType()":{"details":"The reference impl should be entirely different depending on the type (fault, validity) i.e. The game type should indicate the security model.","returns":{"gameType_":"The type of proof system being used."}},"initialize()":{"details":"This function may only be called once."},"l1Head()":{"details":"`clones-with-immutable-args` argument #3","returns":{"l1Head_":"The parent hash of the L1 block when the dispute game was created."}},"resolve()":{"details":"May only be called if the `status` is `IN_PROGRESS`.","returns":{"status_":"The status of the game after resolution."}},"resolvedAt()":{"returns":{"resolvedAt_":"The timestamp that the DisputeGame contract was resolved at."}},"rootClaim()":{"details":"`clones-with-immutable-args` argument #2","returns":{"rootClaim_":"The root claim of the DisputeGame."}},"status()":{"returns":{"status_":"The current status of the game."}}},"version":1},"userdoc":{"kind":"user","methods":{"createdAt()":{"notice":"Returns the timestamp that the DisputeGame contract was created at."},"extraData()":{"notice":"Getter for the extra data."},"gameCreator()":{"notice":"Getter for the creator of the dispute game."},"gameData()":{"notice":"A compliant implementation of this interface should return the components of the game UUID's preimage provided in the cwia payload. The preimage of the UUID is constructed as `keccak256(gameType . rootClaim . extraData)` where `.` denotes concatenation."},"gameType()":{"notice":"Getter for the game type."},"initialize()":{"notice":"Initializes the contract."},"l1Head()":{"notice":"Getter for the parent hash of the L1 block when the dispute game was created."},"resolve()":{"notice":"If all necessary information has been gathered, this function should mark the game status as either `CHALLENGER_WINS` or `DEFENDER_WINS` and return the status of the resolved game. It is at this stage that the bonds should be awarded to the necessary parties."},"resolvedAt()":{"notice":"Returns the timestamp that the DisputeGame contract was resolved at."},"rootClaim()":{"notice":"Getter for the root claim."},"status()":{"notice":"Returns the current status of the game."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/interfaces/IDisputeGame.sol":"IDisputeGame"},"evmVersion":"cancun","libraries":{}},"sources":{"src/dispute/interfaces/IDisputeGame.sol":{"keccak256":"0xa4d3617892dfee02890ea135e778ed0207aa8545c97cb2a421bae7c1a659baa0","urls":["bzz-raw://0e31653e3463dbc3f3b572ca4a1198d9aadc7d8606a2b690a58e2c082a0d0090","dweb:/ipfs/QmdbxJK4T5Hu652cSkxpAjYPxrK1i5ZM62oyopzmAzRn6M"],"license":"MIT"},"src/dispute/interfaces/IInitializable.sol":{"keccak256":"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc","urls":["bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5","dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj"],"license":"MIT"},"src/dispute/lib/LibPosition.sol":{"keccak256":"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241","urls":["bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d","dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K"],"license":"MIT"},"src/dispute/lib/LibUDT.sol":{"keccak256":"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855","urls":["bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e","dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX"],"license":"MIT"},"src/dispute/lib/Types.sol":{"keccak256":"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8","urls":["bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd","dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"createdAt()":{"notice":"Returns the timestamp that the DisputeGame contract was created at."},"extraData()":{"notice":"Getter for the extra data."},"gameCreator()":{"notice":"Getter for the creator of the dispute game."},"gameData()":{"notice":"A compliant implementation of this interface should return the components of the game UUID's preimage provided in the cwia payload. The preimage of the UUID is constructed as `keccak256(gameType . rootClaim . extraData)` where `.` denotes concatenation."},"gameType()":{"notice":"Getter for the game type."},"initialize()":{"notice":"Initializes the contract."},"l1Head()":{"notice":"Getter for the parent hash of the L1 block when the dispute game was created."},"resolve()":{"notice":"If all necessary information has been gathered, this function should mark the game status as either `CHALLENGER_WINS` or `DEFENDER_WINS` and return the status of the resolved game. It is at this stage that the bonds should be awarded to the necessary parties."},"resolvedAt()":{"notice":"Returns the timestamp that the DisputeGame contract was resolved at."},"rootClaim()":{"notice":"Getter for the root claim."},"status()":{"notice":"Returns the current status of the game."}},"events":{"Resolved(uint8)":{"notice":"Emitted when the game is resolved."}},"notice":"The generic interface for a DisputeGame contract."},"devdoc":{"version":1,"kind":"dev","methods":{"createdAt()":{"returns":{"createdAt_":"The timestamp that the DisputeGame contract was created at."}},"extraData()":{"details":"`clones-with-immutable-args` argument #4","returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator."}},"gameCreator()":{"details":"`clones-with-immutable-args` argument #1","returns":{"creator_":"The creator of the dispute game."}},"gameData()":{"returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator.","gameType_":"The type of proof system being used.","rootClaim_":"The root claim of the DisputeGame."}},"gameType()":{"details":"The reference impl should be entirely different depending on the type (fault, validity) i.e. The game type should indicate the security model.","returns":{"gameType_":"The type of proof system being used."}},"initialize()":{"details":"This function may only be called once."},"l1Head()":{"details":"`clones-with-immutable-args` argument #3","returns":{"l1Head_":"The parent hash of the L1 block when the dispute game was created."}},"resolve()":{"details":"May only be called if the `status` is `IN_PROGRESS`.","returns":{"status_":"The status of the game after resolution."}},"resolvedAt()":{"returns":{"resolvedAt_":"The timestamp that the DisputeGame contract was resolved at."}},"rootClaim()":{"details":"`clones-with-immutable-args` argument #2","returns":{"rootClaim_":"The root claim of the DisputeGame."}},"status()":{"returns":{"status_":"The current status of the game."}}},"events":{"Resolved(uint8)":{"params":{"status":"The status of the game after resolution."}}},"title":"IDisputeGame"},"ast":{"absolutePath":"src/dispute/interfaces/IDisputeGame.sol","id":47215,"exportedSymbols":{"Claim":[47572],"Clock":[47480],"Duration":[47604],"GameId":[47534],"GameStatus":[47685],"GameType":[47664],"GameTypes":[47726],"Hash":[47619],"IDisputeGame":[47214],"IInitializable":[47222],"LibClaim":[47602],"LibClock":[47532],"LibDuration":[47617],"LibGameId":[47570],"LibGameType":[47677],"LibHash":[47632],"LibPosition":[47443],"LibTimestamp":[47647],"LibVMStatus":[47662],"LocalPreimageKey":[47782],"OutputRoot":[47692],"Position":[47230],"Timestamp":[47634],"VMStatus":[47649],"VMStatuses":[47760]},"nodeType":"SourceUnit","src":"32:3650:24","nodes":[{"id":47128,"nodeType":"PragmaDirective","src":"32:23:24","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":47130,"nodeType":"ImportDirective","src":"57:75:24","nodes":[],"absolutePath":"src/dispute/interfaces/IInitializable.sol","file":"src/dispute/interfaces/IInitializable.sol","nameLocation":"-1:-1:-1","scope":47215,"sourceUnit":47223,"symbolAliases":[{"foreign":{"id":47129,"name":"IInitializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47222,"src":"66:14:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47131,"nodeType":"ImportDirective","src":"134:35:24","nodes":[],"absolutePath":"src/dispute/lib/Types.sol","file":"src/dispute/lib/Types.sol","nameLocation":"-1:-1:-1","scope":47215,"sourceUnit":47783,"symbolAliases":[],"unitAlias":""},{"id":47214,"nodeType":"ContractDefinition","src":"257:3424:24","nodes":[{"id":47140,"nodeType":"EventDefinition","src":"418:42:24","nodes":[],"anonymous":false,"documentation":{"id":47135,"nodeType":"StructuredDocumentation","src":"304:109:24","text":"@notice Emitted when the game is resolved.\n @param status The status of the game after resolution."},"eventSelector":"5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da60","name":"Resolved","nameLocation":"424:8:24","parameters":{"id":47139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47138,"indexed":true,"mutability":"mutable","name":"status","nameLocation":"452:6:24","nodeType":"VariableDeclaration","scope":47140,"src":"433:25:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$47685","typeString":"enum GameStatus"},"typeName":{"id":47137,"nodeType":"UserDefinedTypeName","pathNode":{"id":47136,"name":"GameStatus","nameLocations":["433:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":47685,"src":"433:10:24"},"referencedDeclaration":47685,"src":"433:10:24","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$47685","typeString":"enum GameStatus"}},"visibility":"internal"}],"src":"432:27:24"}},{"id":47147,"nodeType":"FunctionDefinition","src":"637:66:24","nodes":[],"documentation":{"id":47141,"nodeType":"StructuredDocumentation","src":"466:166:24","text":"@notice Returns the timestamp that the DisputeGame contract was created at.\n @return createdAt_ The timestamp that the DisputeGame contract was created at."},"functionSelector":"cf09e0d0","implemented":false,"kind":"function","modifiers":[],"name":"createdAt","nameLocation":"646:9:24","parameters":{"id":47142,"nodeType":"ParameterList","parameters":[],"src":"655:2:24"},"returnParameters":{"id":47146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47145,"mutability":"mutable","name":"createdAt_","nameLocation":"691:10:24","nodeType":"VariableDeclaration","scope":47147,"src":"681:20:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$47634","typeString":"Timestamp"},"typeName":{"id":47144,"nodeType":"UserDefinedTypeName","pathNode":{"id":47143,"name":"Timestamp","nameLocations":["681:9:24"],"nodeType":"IdentifierPath","referencedDeclaration":47634,"src":"681:9:24"},"referencedDeclaration":47634,"src":"681:9:24","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$47634","typeString":"Timestamp"}},"visibility":"internal"}],"src":"680:22:24"},"scope":47214,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47154,"nodeType":"FunctionDefinition","src":"883:68:24","nodes":[],"documentation":{"id":47148,"nodeType":"StructuredDocumentation","src":"709:169:24","text":"@notice Returns the timestamp that the DisputeGame contract was resolved at.\n @return resolvedAt_ The timestamp that the DisputeGame contract was resolved at."},"functionSelector":"19effeb4","implemented":false,"kind":"function","modifiers":[],"name":"resolvedAt","nameLocation":"892:10:24","parameters":{"id":47149,"nodeType":"ParameterList","parameters":[],"src":"902:2:24"},"returnParameters":{"id":47153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47152,"mutability":"mutable","name":"resolvedAt_","nameLocation":"938:11:24","nodeType":"VariableDeclaration","scope":47154,"src":"928:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$47634","typeString":"Timestamp"},"typeName":{"id":47151,"nodeType":"UserDefinedTypeName","pathNode":{"id":47150,"name":"Timestamp","nameLocations":["928:9:24"],"nodeType":"IdentifierPath","referencedDeclaration":47634,"src":"928:9:24"},"referencedDeclaration":47634,"src":"928:9:24","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$47634","typeString":"Timestamp"}},"visibility":"internal"}],"src":"927:23:24"},"scope":47214,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47161,"nodeType":"FunctionDefinition","src":"1069:61:24","nodes":[],"documentation":{"id":47155,"nodeType":"StructuredDocumentation","src":"957:107:24","text":"@notice Returns the current status of the game.\n @return status_ The current status of the game."},"functionSelector":"200d2ed2","implemented":false,"kind":"function","modifiers":[],"name":"status","nameLocation":"1078:6:24","parameters":{"id":47156,"nodeType":"ParameterList","parameters":[],"src":"1084:2:24"},"returnParameters":{"id":47160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47159,"mutability":"mutable","name":"status_","nameLocation":"1121:7:24","nodeType":"VariableDeclaration","scope":47161,"src":"1110:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$47685","typeString":"enum GameStatus"},"typeName":{"id":47158,"nodeType":"UserDefinedTypeName","pathNode":{"id":47157,"name":"GameStatus","nameLocations":["1110:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":47685,"src":"1110:10:24"},"referencedDeclaration":47685,"src":"1110:10:24","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$47685","typeString":"enum GameStatus"}},"visibility":"internal"}],"src":"1109:20:24"},"scope":47214,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47168,"nodeType":"FunctionDefinition","src":"1410:63:24","nodes":[],"documentation":{"id":47162,"nodeType":"StructuredDocumentation","src":"1136:269:24","text":"@notice Getter for the game type.\n @dev The reference impl should be entirely different depending on the type (fault, validity)\n i.e. The game type should indicate the security model.\n @return gameType_ The type of proof system being used."},"functionSelector":"bbdc02db","implemented":false,"kind":"function","modifiers":[],"name":"gameType","nameLocation":"1419:8:24","parameters":{"id":47163,"nodeType":"ParameterList","parameters":[],"src":"1427:2:24"},"returnParameters":{"id":47167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47166,"mutability":"mutable","name":"gameType_","nameLocation":"1462:9:24","nodeType":"VariableDeclaration","scope":47168,"src":"1453:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47165,"nodeType":"UserDefinedTypeName","pathNode":{"id":47164,"name":"GameType","nameLocations":["1453:8:24"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"1453:8:24"},"referencedDeclaration":47664,"src":"1453:8:24","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"}],"src":"1452:20:24"},"scope":47214,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47174,"nodeType":"FunctionDefinition","src":"1651:64:24","nodes":[],"documentation":{"id":47169,"nodeType":"StructuredDocumentation","src":"1479:167:24","text":"@notice Getter for the creator of the dispute game.\n @dev `clones-with-immutable-args` argument #1\n @return creator_ The creator of the dispute game."},"functionSelector":"37b1b229","implemented":false,"kind":"function","modifiers":[],"name":"gameCreator","nameLocation":"1660:11:24","parameters":{"id":47170,"nodeType":"ParameterList","parameters":[],"src":"1671:2:24"},"returnParameters":{"id":47173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47172,"mutability":"mutable","name":"creator_","nameLocation":"1705:8:24","nodeType":"VariableDeclaration","scope":47174,"src":"1697:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47171,"name":"address","nodeType":"ElementaryTypeName","src":"1697:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1696:18:24"},"scope":47214,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":47181,"nodeType":"FunctionDefinition","src":"1880:62:24","nodes":[],"documentation":{"id":47175,"nodeType":"StructuredDocumentation","src":"1721:154:24","text":"@notice Getter for the root claim.\n @dev `clones-with-immutable-args` argument #2\n @return rootClaim_ The root claim of the DisputeGame."},"functionSelector":"bcef3b55","implemented":false,"kind":"function","modifiers":[],"name":"rootClaim","nameLocation":"1889:9:24","parameters":{"id":47176,"nodeType":"ParameterList","parameters":[],"src":"1898:2:24"},"returnParameters":{"id":47180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47179,"mutability":"mutable","name":"rootClaim_","nameLocation":"1930:10:24","nodeType":"VariableDeclaration","scope":47181,"src":"1924:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$47572","typeString":"Claim"},"typeName":{"id":47178,"nodeType":"UserDefinedTypeName","pathNode":{"id":47177,"name":"Claim","nameLocations":["1924:5:24"],"nodeType":"IdentifierPath","referencedDeclaration":47572,"src":"1924:5:24"},"referencedDeclaration":47572,"src":"1924:5:24","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$47572","typeString":"Claim"}},"visibility":"internal"}],"src":"1923:18:24"},"scope":47214,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":47188,"nodeType":"FunctionDefinition","src":"2187:55:24","nodes":[],"documentation":{"id":47182,"nodeType":"StructuredDocumentation","src":"1948:234:24","text":"@notice Getter for the parent hash of the L1 block when the dispute game was created.\n @dev `clones-with-immutable-args` argument #3\n @return l1Head_ The parent hash of the L1 block when the dispute game was created."},"functionSelector":"6361506d","implemented":false,"kind":"function","modifiers":[],"name":"l1Head","nameLocation":"2196:6:24","parameters":{"id":47183,"nodeType":"ParameterList","parameters":[],"src":"2202:2:24"},"returnParameters":{"id":47187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47186,"mutability":"mutable","name":"l1Head_","nameLocation":"2233:7:24","nodeType":"VariableDeclaration","scope":47188,"src":"2228:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$47619","typeString":"Hash"},"typeName":{"id":47185,"nodeType":"UserDefinedTypeName","pathNode":{"id":47184,"name":"Hash","nameLocations":["2228:4:24"],"nodeType":"IdentifierPath","referencedDeclaration":47619,"src":"2228:4:24"},"referencedDeclaration":47619,"src":"2228:4:24","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$47619","typeString":"Hash"}},"visibility":"internal"}],"src":"2227:14:24"},"scope":47214,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":47194,"nodeType":"FunctionDefinition","src":"2441:69:24","nodes":[],"documentation":{"id":47189,"nodeType":"StructuredDocumentation","src":"2248:188:24","text":"@notice Getter for the extra data.\n @dev `clones-with-immutable-args` argument #4\n @return extraData_ Any extra data supplied to the dispute game contract by the creator."},"functionSelector":"609d3334","implemented":false,"kind":"function","modifiers":[],"name":"extraData","nameLocation":"2450:9:24","parameters":{"id":47190,"nodeType":"ParameterList","parameters":[],"src":"2459:2:24"},"returnParameters":{"id":47193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47192,"mutability":"mutable","name":"extraData_","nameLocation":"2498:10:24","nodeType":"VariableDeclaration","scope":47194,"src":"2485:23:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47191,"name":"bytes","nodeType":"ElementaryTypeName","src":"2485:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2484:25:24"},"scope":47214,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":47201,"nodeType":"FunctionDefinition","src":"2971:57:24","nodes":[],"documentation":{"id":47195,"nodeType":"StructuredDocumentation","src":"2516:450:24","text":"@notice If all necessary information has been gathered, this function should mark the game\n status as either `CHALLENGER_WINS` or `DEFENDER_WINS` and return the status of\n the resolved game. It is at this stage that the bonds should be awarded to the\n necessary parties.\n @dev May only be called if the `status` is `IN_PROGRESS`.\n @return status_ The status of the game after resolution."},"functionSelector":"2810e1d6","implemented":false,"kind":"function","modifiers":[],"name":"resolve","nameLocation":"2980:7:24","parameters":{"id":47196,"nodeType":"ParameterList","parameters":[],"src":"2987:2:24"},"returnParameters":{"id":47200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47199,"mutability":"mutable","name":"status_","nameLocation":"3019:7:24","nodeType":"VariableDeclaration","scope":47201,"src":"3008:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$47685","typeString":"enum GameStatus"},"typeName":{"id":47198,"nodeType":"UserDefinedTypeName","pathNode":{"id":47197,"name":"GameStatus","nameLocations":["3008:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":47685,"src":"3008:10:24"},"referencedDeclaration":47685,"src":"3008:10:24","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$47685","typeString":"enum GameStatus"}},"visibility":"internal"}],"src":"3007:20:24"},"scope":47214,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":47213,"nodeType":"FunctionDefinition","src":"3573:106:24","nodes":[],"documentation":{"id":47202,"nodeType":"StructuredDocumentation","src":"3034:534:24","text":"@notice A compliant implementation of this interface should return the components of the\n game UUID's preimage provided in the cwia payload. The preimage of the UUID is\n constructed as `keccak256(gameType . rootClaim . extraData)` where `.` denotes\n concatenation.\n @return gameType_ The type of proof system being used.\n @return rootClaim_ The root claim of the DisputeGame.\n @return extraData_ Any extra data supplied to the dispute game contract by the creator."},"functionSelector":"fa24f743","implemented":false,"kind":"function","modifiers":[],"name":"gameData","nameLocation":"3582:8:24","parameters":{"id":47203,"nodeType":"ParameterList","parameters":[],"src":"3590:2:24"},"returnParameters":{"id":47212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47206,"mutability":"mutable","name":"gameType_","nameLocation":"3625:9:24","nodeType":"VariableDeclaration","scope":47213,"src":"3616:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47205,"nodeType":"UserDefinedTypeName","pathNode":{"id":47204,"name":"GameType","nameLocations":["3616:8:24"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"3616:8:24"},"referencedDeclaration":47664,"src":"3616:8:24","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"},{"constant":false,"id":47209,"mutability":"mutable","name":"rootClaim_","nameLocation":"3642:10:24","nodeType":"VariableDeclaration","scope":47213,"src":"3636:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$47572","typeString":"Claim"},"typeName":{"id":47208,"nodeType":"UserDefinedTypeName","pathNode":{"id":47207,"name":"Claim","nameLocations":["3636:5:24"],"nodeType":"IdentifierPath","referencedDeclaration":47572,"src":"3636:5:24"},"referencedDeclaration":47572,"src":"3636:5:24","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$47572","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":47211,"mutability":"mutable","name":"extraData_","nameLocation":"3667:10:24","nodeType":"VariableDeclaration","scope":47213,"src":"3654:23:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47210,"name":"bytes","nodeType":"ElementaryTypeName","src":"3654:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3615:63:24"},"scope":47214,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":47133,"name":"IInitializable","nameLocations":["283:14:24"],"nodeType":"IdentifierPath","referencedDeclaration":47222,"src":"283:14:24"},"id":47134,"nodeType":"InheritanceSpecifier","src":"283:14:24"}],"canonicalName":"IDisputeGame","contractDependencies":[],"contractKind":"interface","documentation":{"id":47132,"nodeType":"StructuredDocumentation","src":"171:86:24","text":"@title IDisputeGame\n @notice The generic interface for a DisputeGame contract."},"fullyImplemented":false,"linearizedBaseContracts":[47214,47222],"name":"IDisputeGame","nameLocation":"267:12:24","scope":47215,"usedErrors":[],"usedEvents":[47140]}],"license":"MIT"},"id":24}
{"abi":[{"type":"function","name":"createdAt","inputs":[],"outputs":[{"name":"createdAt_","type":"uint64","internalType":"Timestamp"}],"stateMutability":"view"},{"type":"function","name":"extraData","inputs":[],"outputs":[{"name":"extraData_","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"gameCreator","inputs":[],"outputs":[{"name":"creator_","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"gameData","inputs":[],"outputs":[{"name":"gameType_","type":"uint32","internalType":"GameType"},{"name":"rootClaim_","type":"bytes32","internalType":"Claim"},{"name":"extraData_","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"gameType","inputs":[],"outputs":[{"name":"gameType_","type":"uint32","internalType":"GameType"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"l1Head","inputs":[],"outputs":[{"name":"l1Head_","type":"bytes32","internalType":"Hash"}],"stateMutability":"pure"},{"type":"function","name":"resolve","inputs":[],"outputs":[{"name":"status_","type":"uint8","internalType":"enum GameStatus"}],"stateMutability":"nonpayable"},{"type":"function","name":"resolvedAt","inputs":[],"outputs":[{"name":"resolvedAt_","type":"uint64","internalType":"Timestamp"}],"stateMutability":"view"},{"type":"function","name":"rootClaim","inputs":[],"outputs":[{"name":"rootClaim_","type":"bytes32","internalType":"Claim"}],"stateMutability":"pure"},{"type":"function","name":"status","inputs":[],"outputs":[{"name":"status_","type":"uint8","internalType":"enum GameStatus"}],"stateMutability":"view"},{"type":"event","name":"Resolved","inputs":[{"name":"status","type":"uint8","indexed":true,"internalType":"enum GameStatus"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createdAt()":"cf09e0d0","extraData()":"609d3334","gameCreator()":"37b1b229","gameData()":"fa24f743","gameType()":"bbdc02db","initialize()":"8129fc1c","l1Head()":"6361506d","resolve()":"2810e1d6","resolvedAt()":"19effeb4","rootClaim()":"bcef3b55","status()":"200d2ed2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"enum GameStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"Resolved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"createdAt\",\"outputs\":[{\"internalType\":\"Timestamp\",\"name\":\"createdAt_\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"extraData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"extraData_\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gameCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator_\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gameData\",\"outputs\":[{\"internalType\":\"GameType\",\"name\":\"gameType_\",\"type\":\"uint32\"},{\"internalType\":\"Claim\",\"name\":\"rootClaim_\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"extraData_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gameType\",\"outputs\":[{\"internalType\":\"GameType\",\"name\":\"gameType_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1Head\",\"outputs\":[{\"internalType\":\"Hash\",\"name\":\"l1Head_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"enum GameStatus\",\"name\":\"status_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resolvedAt\",\"outputs\":[{\"internalType\":\"Timestamp\",\"name\":\"resolvedAt_\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rootClaim\",\"outputs\":[{\"internalType\":\"Claim\",\"name\":\"rootClaim_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"status\",\"outputs\":[{\"internalType\":\"enum GameStatus\",\"name\":\"status_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Resolved(uint8)\":{\"params\":{\"status\":\"The status of the game after resolution.\"}}},\"kind\":\"dev\",\"methods\":{\"createdAt()\":{\"returns\":{\"createdAt_\":\"The timestamp that the DisputeGame contract was created at.\"}},\"extraData()\":{\"details\":\"`clones-with-immutable-args` argument #4\",\"returns\":{\"extraData_\":\"Any extra data supplied to the dispute game contract by the creator.\"}},\"gameCreator()\":{\"details\":\"`clones-with-immutable-args` argument #1\",\"returns\":{\"creator_\":\"The creator of the dispute game.\"}},\"gameData()\":{\"returns\":{\"extraData_\":\"Any extra data supplied to the dispute game contract by the creator.\",\"gameType_\":\"The type of proof system being used.\",\"rootClaim_\":\"The root claim of the DisputeGame.\"}},\"gameType()\":{\"details\":\"The reference impl should be entirely different depending on the type (fault, validity) i.e. The game type should indicate the security model.\",\"returns\":{\"gameType_\":\"The type of proof system being used.\"}},\"initialize()\":{\"details\":\"This function may only be called once.\"},\"l1Head()\":{\"details\":\"`clones-with-immutable-args` argument #3\",\"returns\":{\"l1Head_\":\"The parent hash of the L1 block when the dispute game was created.\"}},\"resolve()\":{\"details\":\"May only be called if the `status` is `IN_PROGRESS`.\",\"returns\":{\"status_\":\"The status of the game after resolution.\"}},\"resolvedAt()\":{\"returns\":{\"resolvedAt_\":\"The timestamp that the DisputeGame contract was resolved at.\"}},\"rootClaim()\":{\"details\":\"`clones-with-immutable-args` argument #2\",\"returns\":{\"rootClaim_\":\"The root claim of the DisputeGame.\"}},\"status()\":{\"returns\":{\"status_\":\"The current status of the game.\"}}},\"title\":\"IDisputeGame\",\"version\":1},\"userdoc\":{\"events\":{\"Resolved(uint8)\":{\"notice\":\"Emitted when the game is resolved.\"}},\"kind\":\"user\",\"methods\":{\"createdAt()\":{\"notice\":\"Returns the timestamp that the DisputeGame contract was created at.\"},\"extraData()\":{\"notice\":\"Getter for the extra data.\"},\"gameCreator()\":{\"notice\":\"Getter for the creator of the dispute game.\"},\"gameData()\":{\"notice\":\"A compliant implementation of this interface should return the components of the game UUID's preimage provided in the cwia payload. The preimage of the UUID is constructed as `keccak256(gameType . rootClaim . extraData)` where `.` denotes concatenation.\"},\"gameType()\":{\"notice\":\"Getter for the game type.\"},\"initialize()\":{\"notice\":\"Initializes the contract.\"},\"l1Head()\":{\"notice\":\"Getter for the parent hash of the L1 block when the dispute game was created.\"},\"resolve()\":{\"notice\":\"If all necessary information has been gathered, this function should mark the game status as either `CHALLENGER_WINS` or `DEFENDER_WINS` and return the status of the resolved game. It is at this stage that the bonds should be awarded to the necessary parties.\"},\"resolvedAt()\":{\"notice\":\"Returns the timestamp that the DisputeGame contract was resolved at.\"},\"rootClaim()\":{\"notice\":\"Getter for the root claim.\"},\"status()\":{\"notice\":\"Returns the current status of the game.\"}},\"notice\":\"The generic interface for a DisputeGame contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/interfaces/IDisputeGame.sol\":\"IDisputeGame\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/dispute/interfaces/IDisputeGame.sol\":{\"keccak256\":\"0xa4d3617892dfee02890ea135e778ed0207aa8545c97cb2a421bae7c1a659baa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e31653e3463dbc3f3b572ca4a1198d9aadc7d8606a2b690a58e2c082a0d0090\",\"dweb:/ipfs/QmdbxJK4T5Hu652cSkxpAjYPxrK1i5ZM62oyopzmAzRn6M\"]},\"src/dispute/interfaces/IInitializable.sol\":{\"keccak256\":\"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5\",\"dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj\"]},\"src/dispute/lib/LibPosition.sol\":{\"keccak256\":\"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d\",\"dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K\"]},\"src/dispute/lib/LibUDT.sol\":{\"keccak256\":\"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e\",\"dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX\"]},\"src/dispute/lib/Types.sol\":{\"keccak256\":\"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd\",\"dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"enum GameStatus","name":"status","type":"uint8","indexed":true}],"type":"event","name":"Resolved","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"createdAt","outputs":[{"internalType":"Timestamp","name":"createdAt_","type":"uint64"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"extraData","outputs":[{"internalType":"bytes","name":"extraData_","type":"bytes"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"gameCreator","outputs":[{"internalType":"address","name":"creator_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gameData","outputs":[{"internalType":"GameType","name":"gameType_","type":"uint32"},{"internalType":"Claim","name":"rootClaim_","type":"bytes32"},{"internalType":"bytes","name":"extraData_","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gameType","outputs":[{"internalType":"GameType","name":"gameType_","type":"uint32"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"pure","type":"function","name":"l1Head","outputs":[{"internalType":"Hash","name":"l1Head_","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"resolve","outputs":[{"internalType":"enum GameStatus","name":"status_","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"resolvedAt","outputs":[{"internalType":"Timestamp","name":"resolvedAt_","type":"uint64"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"rootClaim","outputs":[{"internalType":"Claim","name":"rootClaim_","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"status","outputs":[{"internalType":"enum GameStatus","name":"status_","type":"uint8"}]}],"devdoc":{"kind":"dev","methods":{"createdAt()":{"returns":{"createdAt_":"The timestamp that the DisputeGame contract was created at."}},"extraData()":{"details":"`clones-with-immutable-args` argument #4","returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator."}},"gameCreator()":{"details":"`clones-with-immutable-args` argument #1","returns":{"creator_":"The creator of the dispute game."}},"gameData()":{"returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator.","gameType_":"The type of proof system being used.","rootClaim_":"The root claim of the DisputeGame."}},"gameType()":{"details":"The reference impl should be entirely different depending on the type (fault, validity) i.e. The game type should indicate the security model.","returns":{"gameType_":"The type of proof system being used."}},"initialize()":{"details":"This function may only be called once."},"l1Head()":{"details":"`clones-with-immutable-args` argument #3","returns":{"l1Head_":"The parent hash of the L1 block when the dispute game was created."}},"resolve()":{"details":"May only be called if the `status` is `IN_PROGRESS`.","returns":{"status_":"The status of the game after resolution."}},"resolvedAt()":{"returns":{"resolvedAt_":"The timestamp that the DisputeGame contract was resolved at."}},"rootClaim()":{"details":"`clones-with-immutable-args` argument #2","returns":{"rootClaim_":"The root claim of the DisputeGame."}},"status()":{"returns":{"status_":"The current status of the game."}}},"version":1},"userdoc":{"kind":"user","methods":{"createdAt()":{"notice":"Returns the timestamp that the DisputeGame contract was created at."},"extraData()":{"notice":"Getter for the extra data."},"gameCreator()":{"notice":"Getter for the creator of the dispute game."},"gameData()":{"notice":"A compliant implementation of this interface should return the components of the game UUID's preimage provided in the cwia payload. The preimage of the UUID is constructed as `keccak256(gameType . rootClaim . extraData)` where `.` denotes concatenation."},"gameType()":{"notice":"Getter for the game type."},"initialize()":{"notice":"Initializes the contract."},"l1Head()":{"notice":"Getter for the parent hash of the L1 block when the dispute game was created."},"resolve()":{"notice":"If all necessary information has been gathered, this function should mark the game status as either `CHALLENGER_WINS` or `DEFENDER_WINS` and return the status of the resolved game. It is at this stage that the bonds should be awarded to the necessary parties."},"resolvedAt()":{"notice":"Returns the timestamp that the DisputeGame contract was resolved at."},"rootClaim()":{"notice":"Getter for the root claim."},"status()":{"notice":"Returns the current status of the game."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/interfaces/IDisputeGame.sol":"IDisputeGame"},"evmVersion":"cancun","libraries":{}},"sources":{"src/dispute/interfaces/IDisputeGame.sol":{"keccak256":"0xa4d3617892dfee02890ea135e778ed0207aa8545c97cb2a421bae7c1a659baa0","urls":["bzz-raw://0e31653e3463dbc3f3b572ca4a1198d9aadc7d8606a2b690a58e2c082a0d0090","dweb:/ipfs/QmdbxJK4T5Hu652cSkxpAjYPxrK1i5ZM62oyopzmAzRn6M"],"license":"MIT"},"src/dispute/interfaces/IInitializable.sol":{"keccak256":"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc","urls":["bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5","dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj"],"license":"MIT"},"src/dispute/lib/LibPosition.sol":{"keccak256":"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241","urls":["bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d","dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K"],"license":"MIT"},"src/dispute/lib/LibUDT.sol":{"keccak256":"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855","urls":["bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e","dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX"],"license":"MIT"},"src/dispute/lib/Types.sol":{"keccak256":"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8","urls":["bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd","dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"createdAt()":{"notice":"Returns the timestamp that the DisputeGame contract was created at."},"extraData()":{"notice":"Getter for the extra data."},"gameCreator()":{"notice":"Getter for the creator of the dispute game."},"gameData()":{"notice":"A compliant implementation of this interface should return the components of the game UUID's preimage provided in the cwia payload. The preimage of the UUID is constructed as `keccak256(gameType . rootClaim . extraData)` where `.` denotes concatenation."},"gameType()":{"notice":"Getter for the game type."},"initialize()":{"notice":"Initializes the contract."},"l1Head()":{"notice":"Getter for the parent hash of the L1 block when the dispute game was created."},"resolve()":{"notice":"If all necessary information has been gathered, this function should mark the game status as either `CHALLENGER_WINS` or `DEFENDER_WINS` and return the status of the resolved game. It is at this stage that the bonds should be awarded to the necessary parties."},"resolvedAt()":{"notice":"Returns the timestamp that the DisputeGame contract was resolved at."},"rootClaim()":{"notice":"Getter for the root claim."},"status()":{"notice":"Returns the current status of the game."}},"events":{"Resolved(uint8)":{"notice":"Emitted when the game is resolved."}},"notice":"The generic interface for a DisputeGame contract."},"devdoc":{"version":1,"kind":"dev","methods":{"createdAt()":{"returns":{"createdAt_":"The timestamp that the DisputeGame contract was created at."}},"extraData()":{"details":"`clones-with-immutable-args` argument #4","returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator."}},"gameCreator()":{"details":"`clones-with-immutable-args` argument #1","returns":{"creator_":"The creator of the dispute game."}},"gameData()":{"returns":{"extraData_":"Any extra data supplied to the dispute game contract by the creator.","gameType_":"The type of proof system being used.","rootClaim_":"The root claim of the DisputeGame."}},"gameType()":{"details":"The reference impl should be entirely different depending on the type (fault, validity) i.e. The game type should indicate the security model.","returns":{"gameType_":"The type of proof system being used."}},"initialize()":{"details":"This function may only be called once."},"l1Head()":{"details":"`clones-with-immutable-args` argument #3","returns":{"l1Head_":"The parent hash of the L1 block when the dispute game was created."}},"resolve()":{"details":"May only be called if the `status` is `IN_PROGRESS`.","returns":{"status_":"The status of the game after resolution."}},"resolvedAt()":{"returns":{"resolvedAt_":"The timestamp that the DisputeGame contract was resolved at."}},"rootClaim()":{"details":"`clones-with-immutable-args` argument #2","returns":{"rootClaim_":"The root claim of the DisputeGame."}},"status()":{"returns":{"status_":"The current status of the game."}}},"events":{"Resolved(uint8)":{"params":{"status":"The status of the game after resolution."}}},"title":"IDisputeGame"},"ast":{"absolutePath":"src/dispute/interfaces/IDisputeGame.sol","id":57987,"exportedSymbols":{"Claim":[58885],"Clock":[58793],"Duration":[58917],"GameId":[58847],"GameStatus":[58998],"GameType":[58977],"GameTypes":[59039],"Hash":[58932],"IDisputeGame":[57986],"IInitializable":[58304],"LibClaim":[58915],"LibClock":[58845],"LibDuration":[58930],"LibGameId":[58883],"LibGameType":[58990],"LibHash":[58945],"LibPosition":[58756],"LibTimestamp":[58960],"LibVMStatus":[58975],"LocalPreimageKey":[59095],"OutputRoot":[59005],"Position":[58543],"Timestamp":[58947],"VMStatus":[58962],"VMStatuses":[59073]},"nodeType":"SourceUnit","src":"32:3650:82","nodes":[{"id":57900,"nodeType":"PragmaDirective","src":"32:23:82","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57902,"nodeType":"ImportDirective","src":"57:75:82","nodes":[],"absolutePath":"src/dispute/interfaces/IInitializable.sol","file":"src/dispute/interfaces/IInitializable.sol","nameLocation":"-1:-1:-1","scope":57987,"sourceUnit":58305,"symbolAliases":[{"foreign":{"id":57901,"name":"IInitializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58304,"src":"66:14:82","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57903,"nodeType":"ImportDirective","src":"134:35:82","nodes":[],"absolutePath":"src/dispute/lib/Types.sol","file":"src/dispute/lib/Types.sol","nameLocation":"-1:-1:-1","scope":57987,"sourceUnit":59096,"symbolAliases":[],"unitAlias":""},{"id":57986,"nodeType":"ContractDefinition","src":"257:3424:82","nodes":[{"id":57912,"nodeType":"EventDefinition","src":"418:42:82","nodes":[],"anonymous":false,"documentation":{"id":57907,"nodeType":"StructuredDocumentation","src":"304:109:82","text":"@notice Emitted when the game is resolved.\n @param status The status of the game after resolution."},"eventSelector":"5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da60","name":"Resolved","nameLocation":"424:8:82","parameters":{"id":57911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57910,"indexed":true,"mutability":"mutable","name":"status","nameLocation":"452:6:82","nodeType":"VariableDeclaration","scope":57912,"src":"433:25:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$58998","typeString":"enum GameStatus"},"typeName":{"id":57909,"nodeType":"UserDefinedTypeName","pathNode":{"id":57908,"name":"GameStatus","nameLocations":["433:10:82"],"nodeType":"IdentifierPath","referencedDeclaration":58998,"src":"433:10:82"},"referencedDeclaration":58998,"src":"433:10:82","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$58998","typeString":"enum GameStatus"}},"visibility":"internal"}],"src":"432:27:82"}},{"id":57919,"nodeType":"FunctionDefinition","src":"637:66:82","nodes":[],"documentation":{"id":57913,"nodeType":"StructuredDocumentation","src":"466:166:82","text":"@notice Returns the timestamp that the DisputeGame contract was created at.\n @return createdAt_ The timestamp that the DisputeGame contract was created at."},"functionSelector":"cf09e0d0","implemented":false,"kind":"function","modifiers":[],"name":"createdAt","nameLocation":"646:9:82","parameters":{"id":57914,"nodeType":"ParameterList","parameters":[],"src":"655:2:82"},"returnParameters":{"id":57918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57917,"mutability":"mutable","name":"createdAt_","nameLocation":"691:10:82","nodeType":"VariableDeclaration","scope":57919,"src":"681:20:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$58947","typeString":"Timestamp"},"typeName":{"id":57916,"nodeType":"UserDefinedTypeName","pathNode":{"id":57915,"name":"Timestamp","nameLocations":["681:9:82"],"nodeType":"IdentifierPath","referencedDeclaration":58947,"src":"681:9:82"},"referencedDeclaration":58947,"src":"681:9:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$58947","typeString":"Timestamp"}},"visibility":"internal"}],"src":"680:22:82"},"scope":57986,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57926,"nodeType":"FunctionDefinition","src":"883:68:82","nodes":[],"documentation":{"id":57920,"nodeType":"StructuredDocumentation","src":"709:169:82","text":"@notice Returns the timestamp that the DisputeGame contract was resolved at.\n @return resolvedAt_ The timestamp that the DisputeGame contract was resolved at."},"functionSelector":"19effeb4","implemented":false,"kind":"function","modifiers":[],"name":"resolvedAt","nameLocation":"892:10:82","parameters":{"id":57921,"nodeType":"ParameterList","parameters":[],"src":"902:2:82"},"returnParameters":{"id":57925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57924,"mutability":"mutable","name":"resolvedAt_","nameLocation":"938:11:82","nodeType":"VariableDeclaration","scope":57926,"src":"928:21:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$58947","typeString":"Timestamp"},"typeName":{"id":57923,"nodeType":"UserDefinedTypeName","pathNode":{"id":57922,"name":"Timestamp","nameLocations":["928:9:82"],"nodeType":"IdentifierPath","referencedDeclaration":58947,"src":"928:9:82"},"referencedDeclaration":58947,"src":"928:9:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$58947","typeString":"Timestamp"}},"visibility":"internal"}],"src":"927:23:82"},"scope":57986,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57933,"nodeType":"FunctionDefinition","src":"1069:61:82","nodes":[],"documentation":{"id":57927,"nodeType":"StructuredDocumentation","src":"957:107:82","text":"@notice Returns the current status of the game.\n @return status_ The current status of the game."},"functionSelector":"200d2ed2","implemented":false,"kind":"function","modifiers":[],"name":"status","nameLocation":"1078:6:82","parameters":{"id":57928,"nodeType":"ParameterList","parameters":[],"src":"1084:2:82"},"returnParameters":{"id":57932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57931,"mutability":"mutable","name":"status_","nameLocation":"1121:7:82","nodeType":"VariableDeclaration","scope":57933,"src":"1110:18:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$58998","typeString":"enum GameStatus"},"typeName":{"id":57930,"nodeType":"UserDefinedTypeName","pathNode":{"id":57929,"name":"GameStatus","nameLocations":["1110:10:82"],"nodeType":"IdentifierPath","referencedDeclaration":58998,"src":"1110:10:82"},"referencedDeclaration":58998,"src":"1110:10:82","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$58998","typeString":"enum GameStatus"}},"visibility":"internal"}],"src":"1109:20:82"},"scope":57986,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57940,"nodeType":"FunctionDefinition","src":"1410:63:82","nodes":[],"documentation":{"id":57934,"nodeType":"StructuredDocumentation","src":"1136:269:82","text":"@notice Getter for the game type.\n @dev The reference impl should be entirely different depending on the type (fault, validity)\n i.e. The game type should indicate the security model.\n @return gameType_ The type of proof system being used."},"functionSelector":"bbdc02db","implemented":false,"kind":"function","modifiers":[],"name":"gameType","nameLocation":"1419:8:82","parameters":{"id":57935,"nodeType":"ParameterList","parameters":[],"src":"1427:2:82"},"returnParameters":{"id":57939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57938,"mutability":"mutable","name":"gameType_","nameLocation":"1462:9:82","nodeType":"VariableDeclaration","scope":57940,"src":"1453:18:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":57937,"nodeType":"UserDefinedTypeName","pathNode":{"id":57936,"name":"GameType","nameLocations":["1453:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"1453:8:82"},"referencedDeclaration":58977,"src":"1453:8:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"}],"src":"1452:20:82"},"scope":57986,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57946,"nodeType":"FunctionDefinition","src":"1651:64:82","nodes":[],"documentation":{"id":57941,"nodeType":"StructuredDocumentation","src":"1479:167:82","text":"@notice Getter for the creator of the dispute game.\n @dev `clones-with-immutable-args` argument #1\n @return creator_ The creator of the dispute game."},"functionSelector":"37b1b229","implemented":false,"kind":"function","modifiers":[],"name":"gameCreator","nameLocation":"1660:11:82","parameters":{"id":57942,"nodeType":"ParameterList","parameters":[],"src":"1671:2:82"},"returnParameters":{"id":57945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57944,"mutability":"mutable","name":"creator_","nameLocation":"1705:8:82","nodeType":"VariableDeclaration","scope":57946,"src":"1697:16:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57943,"name":"address","nodeType":"ElementaryTypeName","src":"1697:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1696:18:82"},"scope":57986,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":57953,"nodeType":"FunctionDefinition","src":"1880:62:82","nodes":[],"documentation":{"id":57947,"nodeType":"StructuredDocumentation","src":"1721:154:82","text":"@notice Getter for the root claim.\n @dev `clones-with-immutable-args` argument #2\n @return rootClaim_ The root claim of the DisputeGame."},"functionSelector":"bcef3b55","implemented":false,"kind":"function","modifiers":[],"name":"rootClaim","nameLocation":"1889:9:82","parameters":{"id":57948,"nodeType":"ParameterList","parameters":[],"src":"1898:2:82"},"returnParameters":{"id":57952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57951,"mutability":"mutable","name":"rootClaim_","nameLocation":"1930:10:82","nodeType":"VariableDeclaration","scope":57953,"src":"1924:16:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$58885","typeString":"Claim"},"typeName":{"id":57950,"nodeType":"UserDefinedTypeName","pathNode":{"id":57949,"name":"Claim","nameLocations":["1924:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":58885,"src":"1924:5:82"},"referencedDeclaration":58885,"src":"1924:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$58885","typeString":"Claim"}},"visibility":"internal"}],"src":"1923:18:82"},"scope":57986,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":57960,"nodeType":"FunctionDefinition","src":"2187:55:82","nodes":[],"documentation":{"id":57954,"nodeType":"StructuredDocumentation","src":"1948:234:82","text":"@notice Getter for the parent hash of the L1 block when the dispute game was created.\n @dev `clones-with-immutable-args` argument #3\n @return l1Head_ The parent hash of the L1 block when the dispute game was created."},"functionSelector":"6361506d","implemented":false,"kind":"function","modifiers":[],"name":"l1Head","nameLocation":"2196:6:82","parameters":{"id":57955,"nodeType":"ParameterList","parameters":[],"src":"2202:2:82"},"returnParameters":{"id":57959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57958,"mutability":"mutable","name":"l1Head_","nameLocation":"2233:7:82","nodeType":"VariableDeclaration","scope":57960,"src":"2228:12:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$58932","typeString":"Hash"},"typeName":{"id":57957,"nodeType":"UserDefinedTypeName","pathNode":{"id":57956,"name":"Hash","nameLocations":["2228:4:82"],"nodeType":"IdentifierPath","referencedDeclaration":58932,"src":"2228:4:82"},"referencedDeclaration":58932,"src":"2228:4:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$58932","typeString":"Hash"}},"visibility":"internal"}],"src":"2227:14:82"},"scope":57986,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":57966,"nodeType":"FunctionDefinition","src":"2441:69:82","nodes":[],"documentation":{"id":57961,"nodeType":"StructuredDocumentation","src":"2248:188:82","text":"@notice Getter for the extra data.\n @dev `clones-with-immutable-args` argument #4\n @return extraData_ Any extra data supplied to the dispute game contract by the creator."},"functionSelector":"609d3334","implemented":false,"kind":"function","modifiers":[],"name":"extraData","nameLocation":"2450:9:82","parameters":{"id":57962,"nodeType":"ParameterList","parameters":[],"src":"2459:2:82"},"returnParameters":{"id":57965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57964,"mutability":"mutable","name":"extraData_","nameLocation":"2498:10:82","nodeType":"VariableDeclaration","scope":57966,"src":"2485:23:82","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57963,"name":"bytes","nodeType":"ElementaryTypeName","src":"2485:5:82","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2484:25:82"},"scope":57986,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":57973,"nodeType":"FunctionDefinition","src":"2971:57:82","nodes":[],"documentation":{"id":57967,"nodeType":"StructuredDocumentation","src":"2516:450:82","text":"@notice If all necessary information has been gathered, this function should mark the game\n status as either `CHALLENGER_WINS` or `DEFENDER_WINS` and return the status of\n the resolved game. It is at this stage that the bonds should be awarded to the\n necessary parties.\n @dev May only be called if the `status` is `IN_PROGRESS`.\n @return status_ The status of the game after resolution."},"functionSelector":"2810e1d6","implemented":false,"kind":"function","modifiers":[],"name":"resolve","nameLocation":"2980:7:82","parameters":{"id":57968,"nodeType":"ParameterList","parameters":[],"src":"2987:2:82"},"returnParameters":{"id":57972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57971,"mutability":"mutable","name":"status_","nameLocation":"3019:7:82","nodeType":"VariableDeclaration","scope":57973,"src":"3008:18:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$58998","typeString":"enum GameStatus"},"typeName":{"id":57970,"nodeType":"UserDefinedTypeName","pathNode":{"id":57969,"name":"GameStatus","nameLocations":["3008:10:82"],"nodeType":"IdentifierPath","referencedDeclaration":58998,"src":"3008:10:82"},"referencedDeclaration":58998,"src":"3008:10:82","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$58998","typeString":"enum GameStatus"}},"visibility":"internal"}],"src":"3007:20:82"},"scope":57986,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":57985,"nodeType":"FunctionDefinition","src":"3573:106:82","nodes":[],"documentation":{"id":57974,"nodeType":"StructuredDocumentation","src":"3034:534:82","text":"@notice A compliant implementation of this interface should return the components of the\n game UUID's preimage provided in the cwia payload. The preimage of the UUID is\n constructed as `keccak256(gameType . rootClaim . extraData)` where `.` denotes\n concatenation.\n @return gameType_ The type of proof system being used.\n @return rootClaim_ The root claim of the DisputeGame.\n @return extraData_ Any extra data supplied to the dispute game contract by the creator."},"functionSelector":"fa24f743","implemented":false,"kind":"function","modifiers":[],"name":"gameData","nameLocation":"3582:8:82","parameters":{"id":57975,"nodeType":"ParameterList","parameters":[],"src":"3590:2:82"},"returnParameters":{"id":57984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57978,"mutability":"mutable","name":"gameType_","nameLocation":"3625:9:82","nodeType":"VariableDeclaration","scope":57985,"src":"3616:18:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":57977,"nodeType":"UserDefinedTypeName","pathNode":{"id":57976,"name":"GameType","nameLocations":["3616:8:82"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"3616:8:82"},"referencedDeclaration":58977,"src":"3616:8:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"},{"constant":false,"id":57981,"mutability":"mutable","name":"rootClaim_","nameLocation":"3642:10:82","nodeType":"VariableDeclaration","scope":57985,"src":"3636:16:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$58885","typeString":"Claim"},"typeName":{"id":57980,"nodeType":"UserDefinedTypeName","pathNode":{"id":57979,"name":"Claim","nameLocations":["3636:5:82"],"nodeType":"IdentifierPath","referencedDeclaration":58885,"src":"3636:5:82"},"referencedDeclaration":58885,"src":"3636:5:82","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$58885","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":57983,"mutability":"mutable","name":"extraData_","nameLocation":"3667:10:82","nodeType":"VariableDeclaration","scope":57985,"src":"3654:23:82","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57982,"name":"bytes","nodeType":"ElementaryTypeName","src":"3654:5:82","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3615:63:82"},"scope":57986,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":57905,"name":"IInitializable","nameLocations":["283:14:82"],"nodeType":"IdentifierPath","referencedDeclaration":58304,"src":"283:14:82"},"id":57906,"nodeType":"InheritanceSpecifier","src":"283:14:82"}],"canonicalName":"IDisputeGame","contractDependencies":[],"contractKind":"interface","documentation":{"id":57904,"nodeType":"StructuredDocumentation","src":"171:86:82","text":"@title IDisputeGame\n @notice The generic interface for a DisputeGame contract."},"fullyImplemented":false,"linearizedBaseContracts":[57986,58304],"name":"IDisputeGame","nameLocation":"267:12:82","scope":57987,"usedErrors":[],"usedEvents":[57912]}],"license":"MIT"},"id":82}

@@ -1,1 +0,1 @@

{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceID","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.\",\"params\":{\"interfaceID\":\"The interface identifier, as specified in ERC-165\"},\"returns\":{\"_0\":\"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"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":"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.","params":{"interfaceID":"The interface identifier, as specified in ERC-165"},"returns":{"_0":"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise"}}},"version":1},"userdoc":{"kind":"user","methods":{"supportsInterface(bytes4)":{"notice":"Query if a contract implements an interface"}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC165.sol":"IERC165"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"supportsInterface(bytes4)":{"notice":"Query if a contract implements an interface"}}},"devdoc":{"version":1,"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.","params":{"interfaceID":"The interface identifier, as specified in ERC-165"},"returns":{"_0":"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise"}}}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC165.sol","id":32019,"exportedSymbols":{"IERC165":[32018]},"nodeType":"SourceUnit","src":"32:505:16","nodes":[{"id":32009,"nodeType":"PragmaDirective","src":"32:24:16","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":32018,"nodeType":"ContractDefinition","src":"58:478:16","nodes":[{"id":32017,"nodeType":"FunctionDefinition","src":"458:76:16","nodes":[],"documentation":{"id":32010,"nodeType":"StructuredDocumentation","src":"82:371:16","text":"@notice Query if a contract implements an interface\n @param interfaceID The interface identifier, as specified in ERC-165\n @dev Interface identification is specified in ERC-165. This function\n uses less than 30,000 gas.\n @return `true` if the contract implements `interfaceID` and\n `interfaceID` is not 0xffffffff, `false` otherwise"},"functionSelector":"01ffc9a7","implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"467:17:16","parameters":{"id":32013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32012,"mutability":"mutable","name":"interfaceID","nameLocation":"492:11:16","nodeType":"VariableDeclaration","scope":32017,"src":"485:18:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":32011,"name":"bytes4","nodeType":"ElementaryTypeName","src":"485:6:16","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"484:20:16"},"returnParameters":{"id":32016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32015,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32017,"src":"528:4:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32014,"name":"bool","nodeType":"ElementaryTypeName","src":"528:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"527:6:16"},"scope":32018,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[32018],"name":"IERC165","nameLocation":"68:7:16","scope":32019,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":16}
{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceID","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.\",\"params\":{\"interfaceID\":\"The interface identifier, as specified in ERC-165\"},\"returns\":{\"_0\":\"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"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":"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.","params":{"interfaceID":"The interface identifier, as specified in ERC-165"},"returns":{"_0":"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise"}}},"version":1},"userdoc":{"kind":"user","methods":{"supportsInterface(bytes4)":{"notice":"Query if a contract implements an interface"}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC165.sol":"IERC165"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"supportsInterface(bytes4)":{"notice":"Query if a contract implements an interface"}}},"devdoc":{"version":1,"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.","params":{"interfaceID":"The interface identifier, as specified in ERC-165"},"returns":{"_0":"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise"}}}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC165.sol","id":32058,"exportedSymbols":{"IERC165":[32057]},"nodeType":"SourceUnit","src":"32:505:17","nodes":[{"id":32048,"nodeType":"PragmaDirective","src":"32:24:17","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":32057,"nodeType":"ContractDefinition","src":"58:478:17","nodes":[{"id":32056,"nodeType":"FunctionDefinition","src":"458:76:17","nodes":[],"documentation":{"id":32049,"nodeType":"StructuredDocumentation","src":"82:371:17","text":"@notice Query if a contract implements an interface\n @param interfaceID The interface identifier, as specified in ERC-165\n @dev Interface identification is specified in ERC-165. This function\n uses less than 30,000 gas.\n @return `true` if the contract implements `interfaceID` and\n `interfaceID` is not 0xffffffff, `false` otherwise"},"functionSelector":"01ffc9a7","implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"467:17:17","parameters":{"id":32052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32051,"mutability":"mutable","name":"interfaceID","nameLocation":"492:11:17","nodeType":"VariableDeclaration","scope":32056,"src":"485:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":32050,"name":"bytes4","nodeType":"ElementaryTypeName","src":"485:6:17","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"484:20:17"},"returnParameters":{"id":32055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32054,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32056,"src":"528:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32053,"name":"bool","nodeType":"ElementaryTypeName","src":"528:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"527:6:17"},"scope":32057,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[32057],"name":"IERC165","nameLocation":"68:7:17","scope":32058,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":17}

@@ -1,1 +0,1 @@

{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"balanceOf(address)\":{\"notice\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC20.sol":"IERC20"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}}},"devdoc":{"version":1,"kind":"dev","details":"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"events":{"Approval(address,address,uint256)":{"details":"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance."},"Transfer(address,address,uint256)":{"details":"Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."}}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","id":32115,"exportedSymbols":{"IERC20":[32114]},"nodeType":"SourceUnit","src":"32:2035:17","nodes":[{"id":32020,"nodeType":"PragmaDirective","src":"32:24:17","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":32114,"nodeType":"ContractDefinition","src":"195:1871:17","nodes":[{"id":32030,"nodeType":"EventDefinition","src":"314:72:17","nodes":[],"anonymous":false,"documentation":{"id":32022,"nodeType":"StructuredDocumentation","src":"218:91:17","text":"@dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"320:8:17","parameters":{"id":32029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32024,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"345:4:17","nodeType":"VariableDeclaration","scope":32030,"src":"329:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32023,"name":"address","nodeType":"ElementaryTypeName","src":"329:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32026,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"367:2:17","nodeType":"VariableDeclaration","scope":32030,"src":"351:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32025,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32028,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"379:5:17","nodeType":"VariableDeclaration","scope":32030,"src":"371:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32027,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:57:17"}},{"id":32039,"nodeType":"EventDefinition","src":"514:78:17","nodes":[],"anonymous":false,"documentation":{"id":32031,"nodeType":"StructuredDocumentation","src":"392:117:17","text":"@dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`\n is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"520:8:17","parameters":{"id":32038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32033,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"545:5:17","nodeType":"VariableDeclaration","scope":32039,"src":"529:21:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32032,"name":"address","nodeType":"ElementaryTypeName","src":"529:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32035,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"568:7:17","nodeType":"VariableDeclaration","scope":32039,"src":"552:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32034,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32037,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"585:5:17","nodeType":"VariableDeclaration","scope":32039,"src":"577:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32036,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:63:17"}},{"id":32045,"nodeType":"FunctionDefinition","src":"657:55:17","nodes":[],"documentation":{"id":32040,"nodeType":"StructuredDocumentation","src":"598:54:17","text":"@notice Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"666:11:17","parameters":{"id":32041,"nodeType":"ParameterList","parameters":[],"src":"677:2:17"},"returnParameters":{"id":32044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32043,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32045,"src":"703:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32042,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:9:17"},"scope":32114,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32053,"nodeType":"FunctionDefinition","src":"783:68:17","nodes":[],"documentation":{"id":32046,"nodeType":"StructuredDocumentation","src":"718:60:17","text":"@notice Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"792:9:17","parameters":{"id":32049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32048,"mutability":"mutable","name":"account","nameLocation":"810:7:17","nodeType":"VariableDeclaration","scope":32053,"src":"802:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32047,"name":"address","nodeType":"ElementaryTypeName","src":"802:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"801:17:17"},"returnParameters":{"id":32052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32053,"src":"842:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32050,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"841:9:17"},"scope":32114,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32063,"nodeType":"FunctionDefinition","src":"930:70:17","nodes":[],"documentation":{"id":32054,"nodeType":"StructuredDocumentation","src":"857:68:17","text":"@notice Moves `amount` tokens from the caller's account to `to`."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"939:8:17","parameters":{"id":32059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32056,"mutability":"mutable","name":"to","nameLocation":"956:2:17","nodeType":"VariableDeclaration","scope":32063,"src":"948:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32055,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32058,"mutability":"mutable","name":"amount","nameLocation":"968:6:17","nodeType":"VariableDeclaration","scope":32063,"src":"960:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32057,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:28:17"},"returnParameters":{"id":32062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32061,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32063,"src":"994:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32060,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"993:6:17"},"scope":32114,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":32073,"nodeType":"FunctionDefinition","src":"1125:83:17","nodes":[],"documentation":{"id":32064,"nodeType":"StructuredDocumentation","src":"1006:114:17","text":"@notice Returns the remaining number of tokens that `spender` is allowed\n to spend on behalf of `owner`"},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1134:9:17","parameters":{"id":32069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32066,"mutability":"mutable","name":"owner","nameLocation":"1152:5:17","nodeType":"VariableDeclaration","scope":32073,"src":"1144:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32065,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32068,"mutability":"mutable","name":"spender","nameLocation":"1167:7:17","nodeType":"VariableDeclaration","scope":32073,"src":"1159:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32067,"name":"address","nodeType":"ElementaryTypeName","src":"1159:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1143:32:17"},"returnParameters":{"id":32072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32073,"src":"1199:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32070,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1198:9:17"},"scope":32114,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32083,"nodeType":"FunctionDefinition","src":"1412:74:17","nodes":[],"documentation":{"id":32074,"nodeType":"StructuredDocumentation","src":"1214:193:17","text":"@notice Sets `amount` as the allowance of `spender` over the caller's tokens.\n @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1421:7:17","parameters":{"id":32079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32076,"mutability":"mutable","name":"spender","nameLocation":"1437:7:17","nodeType":"VariableDeclaration","scope":32083,"src":"1429:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32075,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32078,"mutability":"mutable","name":"amount","nameLocation":"1454:6:17","nodeType":"VariableDeclaration","scope":32083,"src":"1446:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32077,"name":"uint256","nodeType":"ElementaryTypeName","src":"1446:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1428:33:17"},"returnParameters":{"id":32082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32081,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32083,"src":"1480:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32080,"name":"bool","nodeType":"ElementaryTypeName","src":"1480:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1479:6:17"},"scope":32114,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":32095,"nodeType":"FunctionDefinition","src":"1644:88:17","nodes":[],"documentation":{"id":32084,"nodeType":"StructuredDocumentation","src":"1492:147:17","text":"@notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.\n `amount` is then deducted from the caller's allowance."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1653:12:17","parameters":{"id":32091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32086,"mutability":"mutable","name":"from","nameLocation":"1674:4:17","nodeType":"VariableDeclaration","scope":32095,"src":"1666:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32085,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32088,"mutability":"mutable","name":"to","nameLocation":"1688:2:17","nodeType":"VariableDeclaration","scope":32095,"src":"1680:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32087,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32090,"mutability":"mutable","name":"amount","nameLocation":"1700:6:17","nodeType":"VariableDeclaration","scope":32095,"src":"1692:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32089,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1665:42:17"},"returnParameters":{"id":32094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32093,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32095,"src":"1726:4:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32092,"name":"bool","nodeType":"ElementaryTypeName","src":"1726:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1725:6:17"},"scope":32114,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":32101,"nodeType":"FunctionDefinition","src":"1785:54:17","nodes":[],"documentation":{"id":32096,"nodeType":"StructuredDocumentation","src":"1738:42:17","text":"@notice Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1794:4:17","parameters":{"id":32097,"nodeType":"ParameterList","parameters":[],"src":"1798:2:17"},"returnParameters":{"id":32100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32099,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32101,"src":"1824:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32098,"name":"string","nodeType":"ElementaryTypeName","src":"1824:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1823:15:17"},"scope":32114,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32107,"nodeType":"FunctionDefinition","src":"1894:56:17","nodes":[],"documentation":{"id":32102,"nodeType":"StructuredDocumentation","src":"1845:44:17","text":"@notice Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1903:6:17","parameters":{"id":32103,"nodeType":"ParameterList","parameters":[],"src":"1909:2:17"},"returnParameters":{"id":32106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32105,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32107,"src":"1935:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32104,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:15:17"},"scope":32114,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32113,"nodeType":"FunctionDefinition","src":"2014:50:17","nodes":[],"documentation":{"id":32108,"nodeType":"StructuredDocumentation","src":"1956:53:17","text":"@notice Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2023:8:17","parameters":{"id":32109,"nodeType":"ParameterList","parameters":[],"src":"2031:2:17"},"returnParameters":{"id":32112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32113,"src":"2057:5:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":32110,"name":"uint8","nodeType":"ElementaryTypeName","src":"2057:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2056:7:17"},"scope":32114,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":32021,"nodeType":"StructuredDocumentation","src":"58:137:17","text":"@dev Interface of the ERC20 standard as defined in the EIP.\n @dev This includes the optional name, symbol, and decimals metadata."},"fullyImplemented":false,"linearizedBaseContracts":[32114],"name":"IERC20","nameLocation":"205:6:17","scope":32115,"usedErrors":[],"usedEvents":[32030,32039]}],"license":"MIT"},"id":17}
{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"balanceOf(address)\":{\"notice\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC20.sol":"IERC20"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}}},"devdoc":{"version":1,"kind":"dev","details":"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"events":{"Approval(address,address,uint256)":{"details":"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance."},"Transfer(address,address,uint256)":{"details":"Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."}}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","id":32154,"exportedSymbols":{"IERC20":[32153]},"nodeType":"SourceUnit","src":"32:2035:18","nodes":[{"id":32059,"nodeType":"PragmaDirective","src":"32:24:18","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":32153,"nodeType":"ContractDefinition","src":"195:1871:18","nodes":[{"id":32069,"nodeType":"EventDefinition","src":"314:72:18","nodes":[],"anonymous":false,"documentation":{"id":32061,"nodeType":"StructuredDocumentation","src":"218:91:18","text":"@dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"320:8:18","parameters":{"id":32068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32063,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"345:4:18","nodeType":"VariableDeclaration","scope":32069,"src":"329:20:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32062,"name":"address","nodeType":"ElementaryTypeName","src":"329:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32065,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"367:2:18","nodeType":"VariableDeclaration","scope":32069,"src":"351:18:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32064,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32067,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"379:5:18","nodeType":"VariableDeclaration","scope":32069,"src":"371:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32066,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:57:18"}},{"id":32078,"nodeType":"EventDefinition","src":"514:78:18","nodes":[],"anonymous":false,"documentation":{"id":32070,"nodeType":"StructuredDocumentation","src":"392:117:18","text":"@dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`\n is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"520:8:18","parameters":{"id":32077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32072,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"545:5:18","nodeType":"VariableDeclaration","scope":32078,"src":"529:21:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32071,"name":"address","nodeType":"ElementaryTypeName","src":"529:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32074,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"568:7:18","nodeType":"VariableDeclaration","scope":32078,"src":"552:23:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32073,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32076,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"585:5:18","nodeType":"VariableDeclaration","scope":32078,"src":"577:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32075,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:63:18"}},{"id":32084,"nodeType":"FunctionDefinition","src":"657:55:18","nodes":[],"documentation":{"id":32079,"nodeType":"StructuredDocumentation","src":"598:54:18","text":"@notice Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"666:11:18","parameters":{"id":32080,"nodeType":"ParameterList","parameters":[],"src":"677:2:18"},"returnParameters":{"id":32083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32082,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32084,"src":"703:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32081,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:9:18"},"scope":32153,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32092,"nodeType":"FunctionDefinition","src":"783:68:18","nodes":[],"documentation":{"id":32085,"nodeType":"StructuredDocumentation","src":"718:60:18","text":"@notice Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"792:9:18","parameters":{"id":32088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32087,"mutability":"mutable","name":"account","nameLocation":"810:7:18","nodeType":"VariableDeclaration","scope":32092,"src":"802:15:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32086,"name":"address","nodeType":"ElementaryTypeName","src":"802:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"801:17:18"},"returnParameters":{"id":32091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32092,"src":"842:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32089,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"841:9:18"},"scope":32153,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32102,"nodeType":"FunctionDefinition","src":"930:70:18","nodes":[],"documentation":{"id":32093,"nodeType":"StructuredDocumentation","src":"857:68:18","text":"@notice Moves `amount` tokens from the caller's account to `to`."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"939:8:18","parameters":{"id":32098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32095,"mutability":"mutable","name":"to","nameLocation":"956:2:18","nodeType":"VariableDeclaration","scope":32102,"src":"948:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32094,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32097,"mutability":"mutable","name":"amount","nameLocation":"968:6:18","nodeType":"VariableDeclaration","scope":32102,"src":"960:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32096,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:28:18"},"returnParameters":{"id":32101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32100,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32102,"src":"994:4:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32099,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"993:6:18"},"scope":32153,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":32112,"nodeType":"FunctionDefinition","src":"1125:83:18","nodes":[],"documentation":{"id":32103,"nodeType":"StructuredDocumentation","src":"1006:114:18","text":"@notice Returns the remaining number of tokens that `spender` is allowed\n to spend on behalf of `owner`"},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1134:9:18","parameters":{"id":32108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32105,"mutability":"mutable","name":"owner","nameLocation":"1152:5:18","nodeType":"VariableDeclaration","scope":32112,"src":"1144:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32104,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32107,"mutability":"mutable","name":"spender","nameLocation":"1167:7:18","nodeType":"VariableDeclaration","scope":32112,"src":"1159:15:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32106,"name":"address","nodeType":"ElementaryTypeName","src":"1159:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1143:32:18"},"returnParameters":{"id":32111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32112,"src":"1199:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32109,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1198:9:18"},"scope":32153,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32122,"nodeType":"FunctionDefinition","src":"1412:74:18","nodes":[],"documentation":{"id":32113,"nodeType":"StructuredDocumentation","src":"1214:193:18","text":"@notice Sets `amount` as the allowance of `spender` over the caller's tokens.\n @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1421:7:18","parameters":{"id":32118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32115,"mutability":"mutable","name":"spender","nameLocation":"1437:7:18","nodeType":"VariableDeclaration","scope":32122,"src":"1429:15:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32114,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32117,"mutability":"mutable","name":"amount","nameLocation":"1454:6:18","nodeType":"VariableDeclaration","scope":32122,"src":"1446:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32116,"name":"uint256","nodeType":"ElementaryTypeName","src":"1446:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1428:33:18"},"returnParameters":{"id":32121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32120,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32122,"src":"1480:4:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32119,"name":"bool","nodeType":"ElementaryTypeName","src":"1480:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1479:6:18"},"scope":32153,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":32134,"nodeType":"FunctionDefinition","src":"1644:88:18","nodes":[],"documentation":{"id":32123,"nodeType":"StructuredDocumentation","src":"1492:147:18","text":"@notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.\n `amount` is then deducted from the caller's allowance."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1653:12:18","parameters":{"id":32130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32125,"mutability":"mutable","name":"from","nameLocation":"1674:4:18","nodeType":"VariableDeclaration","scope":32134,"src":"1666:12:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32124,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32127,"mutability":"mutable","name":"to","nameLocation":"1688:2:18","nodeType":"VariableDeclaration","scope":32134,"src":"1680:10:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32126,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32129,"mutability":"mutable","name":"amount","nameLocation":"1700:6:18","nodeType":"VariableDeclaration","scope":32134,"src":"1692:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32128,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1665:42:18"},"returnParameters":{"id":32133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32132,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32134,"src":"1726:4:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32131,"name":"bool","nodeType":"ElementaryTypeName","src":"1726:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1725:6:18"},"scope":32153,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":32140,"nodeType":"FunctionDefinition","src":"1785:54:18","nodes":[],"documentation":{"id":32135,"nodeType":"StructuredDocumentation","src":"1738:42:18","text":"@notice Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1794:4:18","parameters":{"id":32136,"nodeType":"ParameterList","parameters":[],"src":"1798:2:18"},"returnParameters":{"id":32139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32138,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32140,"src":"1824:13:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32137,"name":"string","nodeType":"ElementaryTypeName","src":"1824:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1823:15:18"},"scope":32153,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32146,"nodeType":"FunctionDefinition","src":"1894:56:18","nodes":[],"documentation":{"id":32141,"nodeType":"StructuredDocumentation","src":"1845:44:18","text":"@notice Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1903:6:18","parameters":{"id":32142,"nodeType":"ParameterList","parameters":[],"src":"1909:2:18"},"returnParameters":{"id":32145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32144,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32146,"src":"1935:13:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32143,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:15:18"},"scope":32153,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32152,"nodeType":"FunctionDefinition","src":"2014:50:18","nodes":[],"documentation":{"id":32147,"nodeType":"StructuredDocumentation","src":"1956:53:18","text":"@notice Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2023:8:18","parameters":{"id":32148,"nodeType":"ParameterList","parameters":[],"src":"2031:2:18"},"returnParameters":{"id":32151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32152,"src":"2057:5:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":32149,"name":"uint8","nodeType":"ElementaryTypeName","src":"2057:5:18","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2056:7:18"},"scope":32153,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":32060,"nodeType":"StructuredDocumentation","src":"58:137:18","text":"@dev Interface of the ERC20 standard as defined in the EIP.\n @dev This includes the optional name, symbol, and decimals metadata."},"fullyImplemented":false,"linearizedBaseContracts":[32153],"name":"IERC20","nameLocation":"205:6:18","scope":32154,"usedErrors":[],"usedEvents":[32069,32078]}],"license":"MIT"},"id":18}

@@ -1,1 +0,1 @@

{"abi":[{"type":"function","name":"onERC721Received","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_from","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Note: the ERC-165 identifier for this interface is 0x150b7a02.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"The ERC721 smart contract calls this function on the recipient after a `transfer`. This function MAY throw to revert and reject the transfer. Return of other than the magic value MUST result in the transaction being reverted. Note: the contract address is always the message sender.\",\"params\":{\"_data\":\"Additional data with no specified format\",\"_from\":\"The address which previously owned the token\",\"_operator\":\"The address which called `safeTransferFrom` function\",\"_tokenId\":\"The NFT identifier which is being transferred\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))` unless throwing\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"notice\":\"Handle the receipt of an NFT\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC721.sol\":\"IERC721TokenReceiver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]}],"devdoc":{"kind":"dev","methods":{"onERC721Received(address,address,uint256,bytes)":{"details":"The ERC721 smart contract calls this function on the recipient after a `transfer`. This function MAY throw to revert and reject the transfer. Return of other than the magic value MUST result in the transaction being reverted. Note: the contract address is always the message sender.","params":{"_data":"Additional data with no specified format","_from":"The address which previously owned the token","_operator":"The address which called `safeTransferFrom` function","_tokenId":"The NFT identifier which is being transferred"},"returns":{"_0":"`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))` unless throwing"}}},"version":1},"userdoc":{"kind":"user","methods":{"onERC721Received(address,address,uint256,bytes)":{"notice":"Handle the receipt of an NFT"}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC721.sol":"IERC721TokenReceiver"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"onERC721Received(address,address,uint256,bytes)":{"notice":"Handle the receipt of an NFT"}}},"devdoc":{"version":1,"kind":"dev","details":"Note: the ERC-165 identifier for this interface is 0x150b7a02.","methods":{"onERC721Received(address,address,uint256,bytes)":{"details":"The ERC721 smart contract calls this function on the recipient after a `transfer`. This function MAY throw to revert and reject the transfer. Return of other than the magic value MUST result in the transaction being reverted. Note: the contract address is always the message sender.","params":{"_data":"Additional data with no specified format","_from":"The address which previously owned the token","_operator":"The address which called `safeTransferFrom` function","_tokenId":"The NFT identifier which is being transferred"},"returns":{"_0":"`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))` unless throwing"}}}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC721.sol","id":32299,"exportedSymbols":{"IERC165":[32018],"IERC721":[32230],"IERC721Enumerable":[32298],"IERC721Metadata":[32270],"IERC721TokenReceiver":[32246]},"nodeType":"SourceUnit","src":"32:8994:18","nodes":[{"id":32116,"nodeType":"PragmaDirective","src":"32:24:18","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":32117,"nodeType":"ImportDirective","src":"58:23:18","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC165.sol","file":"./IERC165.sol","nameLocation":"-1:-1:-1","scope":32299,"sourceUnit":32019,"symbolAliases":[],"unitAlias":""},{"id":32230,"nodeType":"ContractDefinition","src":"249:5535:18","nodes":[{"id":32129,"nodeType":"EventDefinition","src":"673:85:18","nodes":[],"anonymous":false,"documentation":{"id":32121,"nodeType":"StructuredDocumentation","src":"284:384:18","text":"@dev This emits when ownership of any NFT changes by any mechanism.\n This event emits when NFTs are created (`from` == 0) and destroyed\n (`to` == 0). Exception: during contract creation, any number of NFTs\n may be created and assigned without emitting Transfer. At the time of\n any transfer, the approved address for that NFT (if any) is reset to none."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"679:8:18","parameters":{"id":32128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32123,"indexed":true,"mutability":"mutable","name":"_from","nameLocation":"704:5:18","nodeType":"VariableDeclaration","scope":32129,"src":"688:21:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32122,"name":"address","nodeType":"ElementaryTypeName","src":"688:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32125,"indexed":true,"mutability":"mutable","name":"_to","nameLocation":"727:3:18","nodeType":"VariableDeclaration","scope":32129,"src":"711:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32124,"name":"address","nodeType":"ElementaryTypeName","src":"711:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32127,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"748:8:18","nodeType":"VariableDeclaration","scope":32129,"src":"732:24:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32126,"name":"uint256","nodeType":"ElementaryTypeName","src":"732:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"687:70:18"}},{"id":32138,"nodeType":"EventDefinition","src":"1047:92:18","nodes":[],"anonymous":false,"documentation":{"id":32130,"nodeType":"StructuredDocumentation","src":"764:278:18","text":"@dev This emits when the approved address for an NFT is changed or\n reaffirmed. The zero address indicates there is no approved address.\n When a Transfer event emits, this also indicates that the approved\n address for that NFT (if any) is reset to none."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"1053:8:18","parameters":{"id":32137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32132,"indexed":true,"mutability":"mutable","name":"_owner","nameLocation":"1078:6:18","nodeType":"VariableDeclaration","scope":32138,"src":"1062:22:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32131,"name":"address","nodeType":"ElementaryTypeName","src":"1062:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32134,"indexed":true,"mutability":"mutable","name":"_approved","nameLocation":"1102:9:18","nodeType":"VariableDeclaration","scope":32138,"src":"1086:25:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32133,"name":"address","nodeType":"ElementaryTypeName","src":"1086:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32136,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"1129:8:18","nodeType":"VariableDeclaration","scope":32138,"src":"1113:24:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32135,"name":"uint256","nodeType":"ElementaryTypeName","src":"1113:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1061:77:18"}},{"id":32147,"nodeType":"EventDefinition","src":"1278:88:18","nodes":[],"anonymous":false,"documentation":{"id":32139,"nodeType":"StructuredDocumentation","src":"1145:128:18","text":"@dev This emits when an operator is enabled or disabled for an owner.\n The operator can manage all NFTs of the owner."},"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","name":"ApprovalForAll","nameLocation":"1284:14:18","parameters":{"id":32146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32141,"indexed":true,"mutability":"mutable","name":"_owner","nameLocation":"1315:6:18","nodeType":"VariableDeclaration","scope":32147,"src":"1299:22:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32140,"name":"address","nodeType":"ElementaryTypeName","src":"1299:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32143,"indexed":true,"mutability":"mutable","name":"_operator","nameLocation":"1339:9:18","nodeType":"VariableDeclaration","scope":32147,"src":"1323:25:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32142,"name":"address","nodeType":"ElementaryTypeName","src":"1323:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32145,"indexed":false,"mutability":"mutable","name":"_approved","nameLocation":"1355:9:18","nodeType":"VariableDeclaration","scope":32147,"src":"1350:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32144,"name":"bool","nodeType":"ElementaryTypeName","src":"1350:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1298:67:18"}},{"id":32155,"nodeType":"FunctionDefinition","src":"1695:67:18","nodes":[],"documentation":{"id":32148,"nodeType":"StructuredDocumentation","src":"1372:318:18","text":"@notice Count all NFTs assigned to an owner\n @dev NFTs assigned to the zero address are considered invalid, and this\n function throws for queries about the zero address.\n @param _owner An address for whom to query the balance\n @return The number of NFTs owned by `_owner`, possibly zero"},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1704:9:18","parameters":{"id":32151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32150,"mutability":"mutable","name":"_owner","nameLocation":"1722:6:18","nodeType":"VariableDeclaration","scope":32155,"src":"1714:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32149,"name":"address","nodeType":"ElementaryTypeName","src":"1714:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1713:16:18"},"returnParameters":{"id":32154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32155,"src":"1753:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32152,"name":"uint256","nodeType":"ElementaryTypeName","src":"1753:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1752:9:18"},"scope":32230,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32163,"nodeType":"FunctionDefinition","src":"2019:67:18","nodes":[],"documentation":{"id":32156,"nodeType":"StructuredDocumentation","src":"1768:246:18","text":"@notice Find the owner of an NFT\n @dev NFTs assigned to zero address are considered invalid, and queries\n about them do throw.\n @param _tokenId The identifier for an NFT\n @return The address of the owner of the NFT"},"functionSelector":"6352211e","implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"2028:7:18","parameters":{"id":32159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32158,"mutability":"mutable","name":"_tokenId","nameLocation":"2044:8:18","nodeType":"VariableDeclaration","scope":32163,"src":"2036:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32157,"name":"uint256","nodeType":"ElementaryTypeName","src":"2036:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2035:18:18"},"returnParameters":{"id":32162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32161,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32163,"src":"2077:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32160,"name":"address","nodeType":"ElementaryTypeName","src":"2077:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2076:9:18"},"scope":32230,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32175,"nodeType":"FunctionDefinition","src":"2931:110:18","nodes":[],"documentation":{"id":32164,"nodeType":"StructuredDocumentation","src":"2092:834:18","text":"@notice Transfers the ownership of an NFT from one address to another address\n @dev Throws unless `msg.sender` is the current owner, an authorized\n operator, or the approved address for this NFT. Throws if `_from` is\n not the current owner. Throws if `_to` is the zero address. Throws if\n `_tokenId` is not a valid NFT. When transfer is complete, this function\n checks if `_to` is a smart contract (code size > 0). If so, it calls\n `onERC721Received` on `_to` and throws if the return value is not\n `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`.\n @param _from The current owner of the NFT\n @param _to The new owner\n @param _tokenId The NFT to transfer\n @param data Additional data with no specified format, sent in call to `_to`"},"functionSelector":"b88d4fde","implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"2940:16:18","parameters":{"id":32173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32166,"mutability":"mutable","name":"_from","nameLocation":"2965:5:18","nodeType":"VariableDeclaration","scope":32175,"src":"2957:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32165,"name":"address","nodeType":"ElementaryTypeName","src":"2957:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32168,"mutability":"mutable","name":"_to","nameLocation":"2980:3:18","nodeType":"VariableDeclaration","scope":32175,"src":"2972:11:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32167,"name":"address","nodeType":"ElementaryTypeName","src":"2972:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32170,"mutability":"mutable","name":"_tokenId","nameLocation":"2993:8:18","nodeType":"VariableDeclaration","scope":32175,"src":"2985:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32169,"name":"uint256","nodeType":"ElementaryTypeName","src":"2985:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32172,"mutability":"mutable","name":"data","nameLocation":"3018:4:18","nodeType":"VariableDeclaration","scope":32175,"src":"3003:19:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":32171,"name":"bytes","nodeType":"ElementaryTypeName","src":"3003:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2956:67:18"},"returnParameters":{"id":32174,"nodeType":"ParameterList","parameters":[],"src":"3040:0:18"},"scope":32230,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32185,"nodeType":"FunctionDefinition","src":"3399:89:18","nodes":[],"documentation":{"id":32176,"nodeType":"StructuredDocumentation","src":"3047:347:18","text":"@notice Transfers the ownership of an NFT from one address to another address\n @dev This works identically to the other function with an extra data parameter,\n except this function just sets data to \"\".\n @param _from The current owner of the NFT\n @param _to The new owner\n @param _tokenId The NFT to transfer"},"functionSelector":"42842e0e","implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"3408:16:18","parameters":{"id":32183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32178,"mutability":"mutable","name":"_from","nameLocation":"3433:5:18","nodeType":"VariableDeclaration","scope":32185,"src":"3425:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32177,"name":"address","nodeType":"ElementaryTypeName","src":"3425:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32180,"mutability":"mutable","name":"_to","nameLocation":"3448:3:18","nodeType":"VariableDeclaration","scope":32185,"src":"3440:11:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32179,"name":"address","nodeType":"ElementaryTypeName","src":"3440:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32182,"mutability":"mutable","name":"_tokenId","nameLocation":"3461:8:18","nodeType":"VariableDeclaration","scope":32185,"src":"3453:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32181,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3424:46:18"},"returnParameters":{"id":32184,"nodeType":"ParameterList","parameters":[],"src":"3487:0:18"},"scope":32230,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32195,"nodeType":"FunctionDefinition","src":"4069:85:18","nodes":[],"documentation":{"id":32186,"nodeType":"StructuredDocumentation","src":"3494:570:18","text":"@notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE\n TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE\n THEY MAY BE PERMANENTLY LOST\n @dev Throws unless `msg.sender` is the current owner, an authorized\n operator, or the approved address for this NFT. Throws if `_from` is\n not the current owner. Throws if `_to` is the zero address. Throws if\n `_tokenId` is not a valid NFT.\n @param _from The current owner of the NFT\n @param _to The new owner\n @param _tokenId The NFT to transfer"},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4078:12:18","parameters":{"id":32193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32188,"mutability":"mutable","name":"_from","nameLocation":"4099:5:18","nodeType":"VariableDeclaration","scope":32195,"src":"4091:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32187,"name":"address","nodeType":"ElementaryTypeName","src":"4091:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32190,"mutability":"mutable","name":"_to","nameLocation":"4114:3:18","nodeType":"VariableDeclaration","scope":32195,"src":"4106:11:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32189,"name":"address","nodeType":"ElementaryTypeName","src":"4106:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32192,"mutability":"mutable","name":"_tokenId","nameLocation":"4127:8:18","nodeType":"VariableDeclaration","scope":32195,"src":"4119:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32191,"name":"uint256","nodeType":"ElementaryTypeName","src":"4119:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4090:46:18"},"returnParameters":{"id":32194,"nodeType":"ParameterList","parameters":[],"src":"4153:0:18"},"scope":32230,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32203,"nodeType":"FunctionDefinition","src":"4514:71:18","nodes":[],"documentation":{"id":32196,"nodeType":"StructuredDocumentation","src":"4160:349:18","text":"@notice Change or reaffirm the approved address for an NFT\n @dev The zero address indicates there is no approved address.\n Throws unless `msg.sender` is the current NFT owner, or an authorized\n operator of the current owner.\n @param _approved The new approved NFT controller\n @param _tokenId The NFT to approve"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4523:7:18","parameters":{"id":32201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32198,"mutability":"mutable","name":"_approved","nameLocation":"4539:9:18","nodeType":"VariableDeclaration","scope":32203,"src":"4531:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32197,"name":"address","nodeType":"ElementaryTypeName","src":"4531:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32200,"mutability":"mutable","name":"_tokenId","nameLocation":"4558:8:18","nodeType":"VariableDeclaration","scope":32203,"src":"4550:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32199,"name":"uint256","nodeType":"ElementaryTypeName","src":"4550:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4530:37:18"},"returnParameters":{"id":32202,"nodeType":"ParameterList","parameters":[],"src":"4584:0:18"},"scope":32230,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32211,"nodeType":"FunctionDefinition","src":"4978:71:18","nodes":[],"documentation":{"id":32204,"nodeType":"StructuredDocumentation","src":"4591:382:18","text":"@notice Enable or disable approval for a third party (\"operator\") to manage\n all of `msg.sender`'s assets\n @dev Emits the ApprovalForAll event. The contract MUST allow\n multiple operators per owner.\n @param _operator Address to add to the set of authorized operators\n @param _approved True if the operator is approved, false to revoke approval"},"functionSelector":"a22cb465","implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4987:17:18","parameters":{"id":32209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32206,"mutability":"mutable","name":"_operator","nameLocation":"5013:9:18","nodeType":"VariableDeclaration","scope":32211,"src":"5005:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32205,"name":"address","nodeType":"ElementaryTypeName","src":"5005:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32208,"mutability":"mutable","name":"_approved","nameLocation":"5029:9:18","nodeType":"VariableDeclaration","scope":32211,"src":"5024:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32207,"name":"bool","nodeType":"ElementaryTypeName","src":"5024:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5004:35:18"},"returnParameters":{"id":32210,"nodeType":"ParameterList","parameters":[],"src":"5048:0:18"},"scope":32230,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":32219,"nodeType":"FunctionDefinition","src":"5320:71:18","nodes":[],"documentation":{"id":32212,"nodeType":"StructuredDocumentation","src":"5055:260:18","text":"@notice Get the approved address for a single NFT\n @dev Throws if `_tokenId` is not a valid NFT.\n @param _tokenId The NFT to find the approved address for\n @return The approved address for this NFT, or the zero address if there is none"},"functionSelector":"081812fc","implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"5329:11:18","parameters":{"id":32215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32214,"mutability":"mutable","name":"_tokenId","nameLocation":"5349:8:18","nodeType":"VariableDeclaration","scope":32219,"src":"5341:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32213,"name":"uint256","nodeType":"ElementaryTypeName","src":"5341:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5340:18:18"},"returnParameters":{"id":32218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32219,"src":"5382:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32216,"name":"address","nodeType":"ElementaryTypeName","src":"5382:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5381:9:18"},"scope":32230,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32229,"nodeType":"FunctionDefinition","src":"5692:90:18","nodes":[],"documentation":{"id":32220,"nodeType":"StructuredDocumentation","src":"5397:290:18","text":"@notice Query if an address is an authorized operator for another address\n @param _owner The address that owns the NFTs\n @param _operator The address that acts on behalf of the owner\n @return True if `_operator` is an approved operator for `_owner`, false otherwise"},"functionSelector":"e985e9c5","implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"5701:16:18","parameters":{"id":32225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32222,"mutability":"mutable","name":"_owner","nameLocation":"5726:6:18","nodeType":"VariableDeclaration","scope":32229,"src":"5718:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32221,"name":"address","nodeType":"ElementaryTypeName","src":"5718:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32224,"mutability":"mutable","name":"_operator","nameLocation":"5742:9:18","nodeType":"VariableDeclaration","scope":32229,"src":"5734:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32223,"name":"address","nodeType":"ElementaryTypeName","src":"5734:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5717:35:18"},"returnParameters":{"id":32228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32227,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32229,"src":"5776:4:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32226,"name":"bool","nodeType":"ElementaryTypeName","src":"5776:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5775:6:18"},"scope":32230,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":32119,"name":"IERC165","nameLocations":["270:7:18"],"nodeType":"IdentifierPath","referencedDeclaration":32018,"src":"270:7:18"},"id":32120,"nodeType":"InheritanceSpecifier","src":"270:7:18"}],"canonicalName":"IERC721","contractDependencies":[],"contractKind":"interface","documentation":{"id":32118,"nodeType":"StructuredDocumentation","src":"83:166:18","text":"@title ERC-721 Non-Fungible Token Standard\n @dev See https://eips.ethereum.org/EIPS/eip-721\n Note: the ERC-165 identifier for this interface is 0x80ac58cd."},"fullyImplemented":false,"linearizedBaseContracts":[32230,32018],"name":"IERC721","nameLocation":"259:7:18","scope":32299,"usedErrors":[],"usedEvents":[32129,32138,32147]},{"id":32246,"nodeType":"ContractDefinition","src":"5858:942:18","nodes":[{"id":32245,"nodeType":"FunctionDefinition","src":"6656:142:18","nodes":[],"documentation":{"id":32232,"nodeType":"StructuredDocumentation","src":"5895:756:18","text":"@notice Handle the receipt of an NFT\n @dev The ERC721 smart contract calls this function on the recipient\n after a `transfer`. This function MAY throw to revert and reject the\n transfer. Return of other than the magic value MUST result in the\n transaction being reverted.\n Note: the contract address is always the message sender.\n @param _operator The address which called `safeTransferFrom` function\n @param _from The address which previously owned the token\n @param _tokenId The NFT identifier which is being transferred\n @param _data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`\n unless throwing"},"functionSelector":"150b7a02","implemented":false,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"6665:16:18","parameters":{"id":32241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32234,"mutability":"mutable","name":"_operator","nameLocation":"6690:9:18","nodeType":"VariableDeclaration","scope":32245,"src":"6682:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32233,"name":"address","nodeType":"ElementaryTypeName","src":"6682:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32236,"mutability":"mutable","name":"_from","nameLocation":"6709:5:18","nodeType":"VariableDeclaration","scope":32245,"src":"6701:13:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32235,"name":"address","nodeType":"ElementaryTypeName","src":"6701:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32238,"mutability":"mutable","name":"_tokenId","nameLocation":"6724:8:18","nodeType":"VariableDeclaration","scope":32245,"src":"6716:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32237,"name":"uint256","nodeType":"ElementaryTypeName","src":"6716:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32240,"mutability":"mutable","name":"_data","nameLocation":"6749:5:18","nodeType":"VariableDeclaration","scope":32245,"src":"6734:20:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":32239,"name":"bytes","nodeType":"ElementaryTypeName","src":"6734:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6681:74:18"},"returnParameters":{"id":32244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32243,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32245,"src":"6790:6:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":32242,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6790:6:18","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"6789:8:18"},"scope":32246,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC721TokenReceiver","contractDependencies":[],"contractKind":"interface","documentation":{"id":32231,"nodeType":"StructuredDocumentation","src":"5786:72:18","text":"@dev Note: the ERC-165 identifier for this interface is 0x150b7a02."},"fullyImplemented":false,"linearizedBaseContracts":[32246],"name":"IERC721TokenReceiver","nameLocation":"5868:20:18","scope":32299,"usedErrors":[],"usedEvents":[]},{"id":32270,"nodeType":"ContractDefinition","src":"6997:659:18","nodes":[{"id":32255,"nodeType":"FunctionDefinition","src":"7117:60:18","nodes":[],"documentation":{"id":32250,"nodeType":"StructuredDocumentation","src":"7040:72:18","text":"@notice A descriptive name for a collection of NFTs in this contract"},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"7126:4:18","parameters":{"id":32251,"nodeType":"ParameterList","parameters":[],"src":"7130:2:18"},"returnParameters":{"id":32254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32253,"mutability":"mutable","name":"_name","nameLocation":"7170:5:18","nodeType":"VariableDeclaration","scope":32255,"src":"7156:19:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32252,"name":"string","nodeType":"ElementaryTypeName","src":"7156:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7155:21:18"},"scope":32270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32261,"nodeType":"FunctionDefinition","src":"7245:64:18","nodes":[],"documentation":{"id":32256,"nodeType":"StructuredDocumentation","src":"7183:57:18","text":"@notice An abbreviated name for NFTs in this contract"},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"7254:6:18","parameters":{"id":32257,"nodeType":"ParameterList","parameters":[],"src":"7260:2:18"},"returnParameters":{"id":32260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32259,"mutability":"mutable","name":"_symbol","nameLocation":"7300:7:18","nodeType":"VariableDeclaration","scope":32261,"src":"7286:21:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32258,"name":"string","nodeType":"ElementaryTypeName","src":"7286:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7285:23:18"},"scope":32270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32269,"nodeType":"FunctionDefinition","src":"7580:74:18","nodes":[],"documentation":{"id":32262,"nodeType":"StructuredDocumentation","src":"7315:260:18","text":"@notice A distinct Uniform Resource Identifier (URI) for a given asset.\n @dev Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC\n 3986. The URI may point to a JSON file that conforms to the \"ERC721\n Metadata JSON Schema\"."},"functionSelector":"c87b56dd","implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"7589:8:18","parameters":{"id":32265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32264,"mutability":"mutable","name":"_tokenId","nameLocation":"7606:8:18","nodeType":"VariableDeclaration","scope":32269,"src":"7598:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32263,"name":"uint256","nodeType":"ElementaryTypeName","src":"7598:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7597:18:18"},"returnParameters":{"id":32268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32267,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32269,"src":"7639:13:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32266,"name":"string","nodeType":"ElementaryTypeName","src":"7639:6:18","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7638:15:18"},"scope":32270,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":32248,"name":"IERC721","nameLocations":["7026:7:18"],"nodeType":"IdentifierPath","referencedDeclaration":32230,"src":"7026:7:18"},"id":32249,"nodeType":"InheritanceSpecifier","src":"7026:7:18"}],"canonicalName":"IERC721Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":32247,"nodeType":"StructuredDocumentation","src":"6802:195:18","text":"@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721\n Note: the ERC-165 identifier for this interface is 0x5b5e139f."},"fullyImplemented":false,"linearizedBaseContracts":[32270,32230,32018],"name":"IERC721Metadata","nameLocation":"7007:15:18","scope":32299,"usedErrors":[],"usedEvents":[32129,32138,32147]},{"id":32298,"nodeType":"ContractDefinition","src":"7856:1169:18","nodes":[{"id":32279,"nodeType":"FunctionDefinition","src":"8114:55:18","nodes":[],"documentation":{"id":32274,"nodeType":"StructuredDocumentation","src":"7901:208:18","text":"@notice Count NFTs tracked by this contract\n @return A count of valid NFTs tracked by this contract, where each one of\n them has an assigned and queryable owner not equal to the zero address"},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"8123:11:18","parameters":{"id":32275,"nodeType":"ParameterList","parameters":[],"src":"8134:2:18"},"returnParameters":{"id":32278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32277,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32279,"src":"8160:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32276,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8159:9:18"},"scope":32298,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32287,"nodeType":"FunctionDefinition","src":"8418:70:18","nodes":[],"documentation":{"id":32280,"nodeType":"StructuredDocumentation","src":"8175:238:18","text":"@notice Enumerate valid NFTs\n @dev Throws if `_index` >= `totalSupply()`.\n @param _index A counter less than `totalSupply()`\n @return The token identifier for the `_index`th NFT,\n (sort order not specified)"},"functionSelector":"4f6ccce7","implemented":false,"kind":"function","modifiers":[],"name":"tokenByIndex","nameLocation":"8427:12:18","parameters":{"id":32283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32282,"mutability":"mutable","name":"_index","nameLocation":"8448:6:18","nodeType":"VariableDeclaration","scope":32287,"src":"8440:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32281,"name":"uint256","nodeType":"ElementaryTypeName","src":"8440:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8439:16:18"},"returnParameters":{"id":32286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32285,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32287,"src":"8479:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32284,"name":"uint256","nodeType":"ElementaryTypeName","src":"8479:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8478:9:18"},"scope":32298,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32297,"nodeType":"FunctionDefinition","src":"8930:93:18","nodes":[],"documentation":{"id":32288,"nodeType":"StructuredDocumentation","src":"8494:431:18","text":"@notice Enumerate NFTs assigned to an owner\n @dev Throws if `_index` >= `balanceOf(_owner)` or if\n `_owner` is the zero address, representing invalid NFTs.\n @param _owner An address where we are interested in NFTs owned by them\n @param _index A counter less than `balanceOf(_owner)`\n @return The token identifier for the `_index`th NFT assigned to `_owner`,\n (sort order not specified)"},"functionSelector":"2f745c59","implemented":false,"kind":"function","modifiers":[],"name":"tokenOfOwnerByIndex","nameLocation":"8939:19:18","parameters":{"id":32293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32290,"mutability":"mutable","name":"_owner","nameLocation":"8967:6:18","nodeType":"VariableDeclaration","scope":32297,"src":"8959:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32289,"name":"address","nodeType":"ElementaryTypeName","src":"8959:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32292,"mutability":"mutable","name":"_index","nameLocation":"8983:6:18","nodeType":"VariableDeclaration","scope":32297,"src":"8975:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32291,"name":"uint256","nodeType":"ElementaryTypeName","src":"8975:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8958:32:18"},"returnParameters":{"id":32296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32295,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32297,"src":"9014:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32294,"name":"uint256","nodeType":"ElementaryTypeName","src":"9014:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9013:9:18"},"scope":32298,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":32272,"name":"IERC721","nameLocations":["7887:7:18"],"nodeType":"IdentifierPath","referencedDeclaration":32230,"src":"7887:7:18"},"id":32273,"nodeType":"InheritanceSpecifier","src":"7887:7:18"}],"canonicalName":"IERC721Enumerable","contractDependencies":[],"contractKind":"interface","documentation":{"id":32271,"nodeType":"StructuredDocumentation","src":"7658:198:18","text":"@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n @dev See https://eips.ethereum.org/EIPS/eip-721\n Note: the ERC-165 identifier for this interface is 0x780e9d63."},"fullyImplemented":false,"linearizedBaseContracts":[32298,32230,32018],"name":"IERC721Enumerable","nameLocation":"7866:17:18","scope":32299,"usedErrors":[],"usedEvents":[32129,32138,32147]}],"license":"MIT"},"id":18}
{"abi":[{"type":"function","name":"onERC721Received","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_from","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Note: the ERC-165 identifier for this interface is 0x150b7a02.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"The ERC721 smart contract calls this function on the recipient after a `transfer`. This function MAY throw to revert and reject the transfer. Return of other than the magic value MUST result in the transaction being reverted. Note: the contract address is always the message sender.\",\"params\":{\"_data\":\"Additional data with no specified format\",\"_from\":\"The address which previously owned the token\",\"_operator\":\"The address which called `safeTransferFrom` function\",\"_tokenId\":\"The NFT identifier which is being transferred\"},\"returns\":{\"_0\":\"`bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))` unless throwing\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"notice\":\"Handle the receipt of an NFT\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC721.sol\":\"IERC721TokenReceiver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]}],"devdoc":{"kind":"dev","methods":{"onERC721Received(address,address,uint256,bytes)":{"details":"The ERC721 smart contract calls this function on the recipient after a `transfer`. This function MAY throw to revert and reject the transfer. Return of other than the magic value MUST result in the transaction being reverted. Note: the contract address is always the message sender.","params":{"_data":"Additional data with no specified format","_from":"The address which previously owned the token","_operator":"The address which called `safeTransferFrom` function","_tokenId":"The NFT identifier which is being transferred"},"returns":{"_0":"`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))` unless throwing"}}},"version":1},"userdoc":{"kind":"user","methods":{"onERC721Received(address,address,uint256,bytes)":{"notice":"Handle the receipt of an NFT"}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC721.sol":"IERC721TokenReceiver"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"onERC721Received(address,address,uint256,bytes)":{"notice":"Handle the receipt of an NFT"}}},"devdoc":{"version":1,"kind":"dev","details":"Note: the ERC-165 identifier for this interface is 0x150b7a02.","methods":{"onERC721Received(address,address,uint256,bytes)":{"details":"The ERC721 smart contract calls this function on the recipient after a `transfer`. This function MAY throw to revert and reject the transfer. Return of other than the magic value MUST result in the transaction being reverted. Note: the contract address is always the message sender.","params":{"_data":"Additional data with no specified format","_from":"The address which previously owned the token","_operator":"The address which called `safeTransferFrom` function","_tokenId":"The NFT identifier which is being transferred"},"returns":{"_0":"`bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))` unless throwing"}}}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC721.sol","id":32338,"exportedSymbols":{"IERC165":[32057],"IERC721":[32269],"IERC721Enumerable":[32337],"IERC721Metadata":[32309],"IERC721TokenReceiver":[32285]},"nodeType":"SourceUnit","src":"32:8994:19","nodes":[{"id":32155,"nodeType":"PragmaDirective","src":"32:24:19","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":32156,"nodeType":"ImportDirective","src":"58:23:19","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC165.sol","file":"./IERC165.sol","nameLocation":"-1:-1:-1","scope":32338,"sourceUnit":32058,"symbolAliases":[],"unitAlias":""},{"id":32269,"nodeType":"ContractDefinition","src":"249:5535:19","nodes":[{"id":32168,"nodeType":"EventDefinition","src":"673:85:19","nodes":[],"anonymous":false,"documentation":{"id":32160,"nodeType":"StructuredDocumentation","src":"284:384:19","text":"@dev This emits when ownership of any NFT changes by any mechanism.\n This event emits when NFTs are created (`from` == 0) and destroyed\n (`to` == 0). Exception: during contract creation, any number of NFTs\n may be created and assigned without emitting Transfer. At the time of\n any transfer, the approved address for that NFT (if any) is reset to none."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"679:8:19","parameters":{"id":32167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32162,"indexed":true,"mutability":"mutable","name":"_from","nameLocation":"704:5:19","nodeType":"VariableDeclaration","scope":32168,"src":"688:21:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32161,"name":"address","nodeType":"ElementaryTypeName","src":"688:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32164,"indexed":true,"mutability":"mutable","name":"_to","nameLocation":"727:3:19","nodeType":"VariableDeclaration","scope":32168,"src":"711:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32163,"name":"address","nodeType":"ElementaryTypeName","src":"711:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32166,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"748:8:19","nodeType":"VariableDeclaration","scope":32168,"src":"732:24:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32165,"name":"uint256","nodeType":"ElementaryTypeName","src":"732:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"687:70:19"}},{"id":32177,"nodeType":"EventDefinition","src":"1047:92:19","nodes":[],"anonymous":false,"documentation":{"id":32169,"nodeType":"StructuredDocumentation","src":"764:278:19","text":"@dev This emits when the approved address for an NFT is changed or\n reaffirmed. The zero address indicates there is no approved address.\n When a Transfer event emits, this also indicates that the approved\n address for that NFT (if any) is reset to none."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"1053:8:19","parameters":{"id":32176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32171,"indexed":true,"mutability":"mutable","name":"_owner","nameLocation":"1078:6:19","nodeType":"VariableDeclaration","scope":32177,"src":"1062:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32170,"name":"address","nodeType":"ElementaryTypeName","src":"1062:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32173,"indexed":true,"mutability":"mutable","name":"_approved","nameLocation":"1102:9:19","nodeType":"VariableDeclaration","scope":32177,"src":"1086:25:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32172,"name":"address","nodeType":"ElementaryTypeName","src":"1086:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32175,"indexed":true,"mutability":"mutable","name":"_tokenId","nameLocation":"1129:8:19","nodeType":"VariableDeclaration","scope":32177,"src":"1113:24:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32174,"name":"uint256","nodeType":"ElementaryTypeName","src":"1113:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1061:77:19"}},{"id":32186,"nodeType":"EventDefinition","src":"1278:88:19","nodes":[],"anonymous":false,"documentation":{"id":32178,"nodeType":"StructuredDocumentation","src":"1145:128:19","text":"@dev This emits when an operator is enabled or disabled for an owner.\n The operator can manage all NFTs of the owner."},"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","name":"ApprovalForAll","nameLocation":"1284:14:19","parameters":{"id":32185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32180,"indexed":true,"mutability":"mutable","name":"_owner","nameLocation":"1315:6:19","nodeType":"VariableDeclaration","scope":32186,"src":"1299:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32179,"name":"address","nodeType":"ElementaryTypeName","src":"1299:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32182,"indexed":true,"mutability":"mutable","name":"_operator","nameLocation":"1339:9:19","nodeType":"VariableDeclaration","scope":32186,"src":"1323:25:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32181,"name":"address","nodeType":"ElementaryTypeName","src":"1323:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32184,"indexed":false,"mutability":"mutable","name":"_approved","nameLocation":"1355:9:19","nodeType":"VariableDeclaration","scope":32186,"src":"1350:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32183,"name":"bool","nodeType":"ElementaryTypeName","src":"1350:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1298:67:19"}},{"id":32194,"nodeType":"FunctionDefinition","src":"1695:67:19","nodes":[],"documentation":{"id":32187,"nodeType":"StructuredDocumentation","src":"1372:318:19","text":"@notice Count all NFTs assigned to an owner\n @dev NFTs assigned to the zero address are considered invalid, and this\n function throws for queries about the zero address.\n @param _owner An address for whom to query the balance\n @return The number of NFTs owned by `_owner`, possibly zero"},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1704:9:19","parameters":{"id":32190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32189,"mutability":"mutable","name":"_owner","nameLocation":"1722:6:19","nodeType":"VariableDeclaration","scope":32194,"src":"1714:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32188,"name":"address","nodeType":"ElementaryTypeName","src":"1714:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1713:16:19"},"returnParameters":{"id":32193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32192,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32194,"src":"1753:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32191,"name":"uint256","nodeType":"ElementaryTypeName","src":"1753:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1752:9:19"},"scope":32269,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32202,"nodeType":"FunctionDefinition","src":"2019:67:19","nodes":[],"documentation":{"id":32195,"nodeType":"StructuredDocumentation","src":"1768:246:19","text":"@notice Find the owner of an NFT\n @dev NFTs assigned to zero address are considered invalid, and queries\n about them do throw.\n @param _tokenId The identifier for an NFT\n @return The address of the owner of the NFT"},"functionSelector":"6352211e","implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"2028:7:19","parameters":{"id":32198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32197,"mutability":"mutable","name":"_tokenId","nameLocation":"2044:8:19","nodeType":"VariableDeclaration","scope":32202,"src":"2036:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32196,"name":"uint256","nodeType":"ElementaryTypeName","src":"2036:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2035:18:19"},"returnParameters":{"id":32201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32202,"src":"2077:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32199,"name":"address","nodeType":"ElementaryTypeName","src":"2077:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2076:9:19"},"scope":32269,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32214,"nodeType":"FunctionDefinition","src":"2931:110:19","nodes":[],"documentation":{"id":32203,"nodeType":"StructuredDocumentation","src":"2092:834:19","text":"@notice Transfers the ownership of an NFT from one address to another address\n @dev Throws unless `msg.sender` is the current owner, an authorized\n operator, or the approved address for this NFT. Throws if `_from` is\n not the current owner. Throws if `_to` is the zero address. Throws if\n `_tokenId` is not a valid NFT. When transfer is complete, this function\n checks if `_to` is a smart contract (code size > 0). If so, it calls\n `onERC721Received` on `_to` and throws if the return value is not\n `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`.\n @param _from The current owner of the NFT\n @param _to The new owner\n @param _tokenId The NFT to transfer\n @param data Additional data with no specified format, sent in call to `_to`"},"functionSelector":"b88d4fde","implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"2940:16:19","parameters":{"id":32212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32205,"mutability":"mutable","name":"_from","nameLocation":"2965:5:19","nodeType":"VariableDeclaration","scope":32214,"src":"2957:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32204,"name":"address","nodeType":"ElementaryTypeName","src":"2957:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32207,"mutability":"mutable","name":"_to","nameLocation":"2980:3:19","nodeType":"VariableDeclaration","scope":32214,"src":"2972:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32206,"name":"address","nodeType":"ElementaryTypeName","src":"2972:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32209,"mutability":"mutable","name":"_tokenId","nameLocation":"2993:8:19","nodeType":"VariableDeclaration","scope":32214,"src":"2985:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32208,"name":"uint256","nodeType":"ElementaryTypeName","src":"2985:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32211,"mutability":"mutable","name":"data","nameLocation":"3018:4:19","nodeType":"VariableDeclaration","scope":32214,"src":"3003:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":32210,"name":"bytes","nodeType":"ElementaryTypeName","src":"3003:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2956:67:19"},"returnParameters":{"id":32213,"nodeType":"ParameterList","parameters":[],"src":"3040:0:19"},"scope":32269,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32224,"nodeType":"FunctionDefinition","src":"3399:89:19","nodes":[],"documentation":{"id":32215,"nodeType":"StructuredDocumentation","src":"3047:347:19","text":"@notice Transfers the ownership of an NFT from one address to another address\n @dev This works identically to the other function with an extra data parameter,\n except this function just sets data to \"\".\n @param _from The current owner of the NFT\n @param _to The new owner\n @param _tokenId The NFT to transfer"},"functionSelector":"42842e0e","implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"3408:16:19","parameters":{"id":32222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32217,"mutability":"mutable","name":"_from","nameLocation":"3433:5:19","nodeType":"VariableDeclaration","scope":32224,"src":"3425:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32216,"name":"address","nodeType":"ElementaryTypeName","src":"3425:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32219,"mutability":"mutable","name":"_to","nameLocation":"3448:3:19","nodeType":"VariableDeclaration","scope":32224,"src":"3440:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32218,"name":"address","nodeType":"ElementaryTypeName","src":"3440:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32221,"mutability":"mutable","name":"_tokenId","nameLocation":"3461:8:19","nodeType":"VariableDeclaration","scope":32224,"src":"3453:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32220,"name":"uint256","nodeType":"ElementaryTypeName","src":"3453:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3424:46:19"},"returnParameters":{"id":32223,"nodeType":"ParameterList","parameters":[],"src":"3487:0:19"},"scope":32269,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32234,"nodeType":"FunctionDefinition","src":"4069:85:19","nodes":[],"documentation":{"id":32225,"nodeType":"StructuredDocumentation","src":"3494:570:19","text":"@notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE\n TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE\n THEY MAY BE PERMANENTLY LOST\n @dev Throws unless `msg.sender` is the current owner, an authorized\n operator, or the approved address for this NFT. Throws if `_from` is\n not the current owner. Throws if `_to` is the zero address. Throws if\n `_tokenId` is not a valid NFT.\n @param _from The current owner of the NFT\n @param _to The new owner\n @param _tokenId The NFT to transfer"},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4078:12:19","parameters":{"id":32232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32227,"mutability":"mutable","name":"_from","nameLocation":"4099:5:19","nodeType":"VariableDeclaration","scope":32234,"src":"4091:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32226,"name":"address","nodeType":"ElementaryTypeName","src":"4091:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32229,"mutability":"mutable","name":"_to","nameLocation":"4114:3:19","nodeType":"VariableDeclaration","scope":32234,"src":"4106:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32228,"name":"address","nodeType":"ElementaryTypeName","src":"4106:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32231,"mutability":"mutable","name":"_tokenId","nameLocation":"4127:8:19","nodeType":"VariableDeclaration","scope":32234,"src":"4119:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32230,"name":"uint256","nodeType":"ElementaryTypeName","src":"4119:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4090:46:19"},"returnParameters":{"id":32233,"nodeType":"ParameterList","parameters":[],"src":"4153:0:19"},"scope":32269,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32242,"nodeType":"FunctionDefinition","src":"4514:71:19","nodes":[],"documentation":{"id":32235,"nodeType":"StructuredDocumentation","src":"4160:349:19","text":"@notice Change or reaffirm the approved address for an NFT\n @dev The zero address indicates there is no approved address.\n Throws unless `msg.sender` is the current NFT owner, or an authorized\n operator of the current owner.\n @param _approved The new approved NFT controller\n @param _tokenId The NFT to approve"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4523:7:19","parameters":{"id":32240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32237,"mutability":"mutable","name":"_approved","nameLocation":"4539:9:19","nodeType":"VariableDeclaration","scope":32242,"src":"4531:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32236,"name":"address","nodeType":"ElementaryTypeName","src":"4531:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32239,"mutability":"mutable","name":"_tokenId","nameLocation":"4558:8:19","nodeType":"VariableDeclaration","scope":32242,"src":"4550:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32238,"name":"uint256","nodeType":"ElementaryTypeName","src":"4550:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4530:37:19"},"returnParameters":{"id":32241,"nodeType":"ParameterList","parameters":[],"src":"4584:0:19"},"scope":32269,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32250,"nodeType":"FunctionDefinition","src":"4978:71:19","nodes":[],"documentation":{"id":32243,"nodeType":"StructuredDocumentation","src":"4591:382:19","text":"@notice Enable or disable approval for a third party (\"operator\") to manage\n all of `msg.sender`'s assets\n @dev Emits the ApprovalForAll event. The contract MUST allow\n multiple operators per owner.\n @param _operator Address to add to the set of authorized operators\n @param _approved True if the operator is approved, false to revoke approval"},"functionSelector":"a22cb465","implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4987:17:19","parameters":{"id":32248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32245,"mutability":"mutable","name":"_operator","nameLocation":"5013:9:19","nodeType":"VariableDeclaration","scope":32250,"src":"5005:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32244,"name":"address","nodeType":"ElementaryTypeName","src":"5005:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32247,"mutability":"mutable","name":"_approved","nameLocation":"5029:9:19","nodeType":"VariableDeclaration","scope":32250,"src":"5024:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32246,"name":"bool","nodeType":"ElementaryTypeName","src":"5024:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5004:35:19"},"returnParameters":{"id":32249,"nodeType":"ParameterList","parameters":[],"src":"5048:0:19"},"scope":32269,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":32258,"nodeType":"FunctionDefinition","src":"5320:71:19","nodes":[],"documentation":{"id":32251,"nodeType":"StructuredDocumentation","src":"5055:260:19","text":"@notice Get the approved address for a single NFT\n @dev Throws if `_tokenId` is not a valid NFT.\n @param _tokenId The NFT to find the approved address for\n @return The approved address for this NFT, or the zero address if there is none"},"functionSelector":"081812fc","implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"5329:11:19","parameters":{"id":32254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32253,"mutability":"mutable","name":"_tokenId","nameLocation":"5349:8:19","nodeType":"VariableDeclaration","scope":32258,"src":"5341:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32252,"name":"uint256","nodeType":"ElementaryTypeName","src":"5341:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5340:18:19"},"returnParameters":{"id":32257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32256,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32258,"src":"5382:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32255,"name":"address","nodeType":"ElementaryTypeName","src":"5382:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5381:9:19"},"scope":32269,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32268,"nodeType":"FunctionDefinition","src":"5692:90:19","nodes":[],"documentation":{"id":32259,"nodeType":"StructuredDocumentation","src":"5397:290:19","text":"@notice Query if an address is an authorized operator for another address\n @param _owner The address that owns the NFTs\n @param _operator The address that acts on behalf of the owner\n @return True if `_operator` is an approved operator for `_owner`, false otherwise"},"functionSelector":"e985e9c5","implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"5701:16:19","parameters":{"id":32264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32261,"mutability":"mutable","name":"_owner","nameLocation":"5726:6:19","nodeType":"VariableDeclaration","scope":32268,"src":"5718:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32260,"name":"address","nodeType":"ElementaryTypeName","src":"5718:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32263,"mutability":"mutable","name":"_operator","nameLocation":"5742:9:19","nodeType":"VariableDeclaration","scope":32268,"src":"5734:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32262,"name":"address","nodeType":"ElementaryTypeName","src":"5734:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5717:35:19"},"returnParameters":{"id":32267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32268,"src":"5776:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32265,"name":"bool","nodeType":"ElementaryTypeName","src":"5776:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5775:6:19"},"scope":32269,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":32158,"name":"IERC165","nameLocations":["270:7:19"],"nodeType":"IdentifierPath","referencedDeclaration":32057,"src":"270:7:19"},"id":32159,"nodeType":"InheritanceSpecifier","src":"270:7:19"}],"canonicalName":"IERC721","contractDependencies":[],"contractKind":"interface","documentation":{"id":32157,"nodeType":"StructuredDocumentation","src":"83:166:19","text":"@title ERC-721 Non-Fungible Token Standard\n @dev See https://eips.ethereum.org/EIPS/eip-721\n Note: the ERC-165 identifier for this interface is 0x80ac58cd."},"fullyImplemented":false,"linearizedBaseContracts":[32269,32057],"name":"IERC721","nameLocation":"259:7:19","scope":32338,"usedErrors":[],"usedEvents":[32168,32177,32186]},{"id":32285,"nodeType":"ContractDefinition","src":"5858:942:19","nodes":[{"id":32284,"nodeType":"FunctionDefinition","src":"6656:142:19","nodes":[],"documentation":{"id":32271,"nodeType":"StructuredDocumentation","src":"5895:756:19","text":"@notice Handle the receipt of an NFT\n @dev The ERC721 smart contract calls this function on the recipient\n after a `transfer`. This function MAY throw to revert and reject the\n transfer. Return of other than the magic value MUST result in the\n transaction being reverted.\n Note: the contract address is always the message sender.\n @param _operator The address which called `safeTransferFrom` function\n @param _from The address which previously owned the token\n @param _tokenId The NFT identifier which is being transferred\n @param _data Additional data with no specified format\n @return `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`\n unless throwing"},"functionSelector":"150b7a02","implemented":false,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"6665:16:19","parameters":{"id":32280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32273,"mutability":"mutable","name":"_operator","nameLocation":"6690:9:19","nodeType":"VariableDeclaration","scope":32284,"src":"6682:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32272,"name":"address","nodeType":"ElementaryTypeName","src":"6682:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32275,"mutability":"mutable","name":"_from","nameLocation":"6709:5:19","nodeType":"VariableDeclaration","scope":32284,"src":"6701:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32274,"name":"address","nodeType":"ElementaryTypeName","src":"6701:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32277,"mutability":"mutable","name":"_tokenId","nameLocation":"6724:8:19","nodeType":"VariableDeclaration","scope":32284,"src":"6716:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32276,"name":"uint256","nodeType":"ElementaryTypeName","src":"6716:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32279,"mutability":"mutable","name":"_data","nameLocation":"6749:5:19","nodeType":"VariableDeclaration","scope":32284,"src":"6734:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":32278,"name":"bytes","nodeType":"ElementaryTypeName","src":"6734:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6681:74:19"},"returnParameters":{"id":32283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32284,"src":"6790:6:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":32281,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6790:6:19","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"6789:8:19"},"scope":32285,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC721TokenReceiver","contractDependencies":[],"contractKind":"interface","documentation":{"id":32270,"nodeType":"StructuredDocumentation","src":"5786:72:19","text":"@dev Note: the ERC-165 identifier for this interface is 0x150b7a02."},"fullyImplemented":false,"linearizedBaseContracts":[32285],"name":"IERC721TokenReceiver","nameLocation":"5868:20:19","scope":32338,"usedErrors":[],"usedEvents":[]},{"id":32309,"nodeType":"ContractDefinition","src":"6997:659:19","nodes":[{"id":32294,"nodeType":"FunctionDefinition","src":"7117:60:19","nodes":[],"documentation":{"id":32289,"nodeType":"StructuredDocumentation","src":"7040:72:19","text":"@notice A descriptive name for a collection of NFTs in this contract"},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"7126:4:19","parameters":{"id":32290,"nodeType":"ParameterList","parameters":[],"src":"7130:2:19"},"returnParameters":{"id":32293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32292,"mutability":"mutable","name":"_name","nameLocation":"7170:5:19","nodeType":"VariableDeclaration","scope":32294,"src":"7156:19:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32291,"name":"string","nodeType":"ElementaryTypeName","src":"7156:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7155:21:19"},"scope":32309,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32300,"nodeType":"FunctionDefinition","src":"7245:64:19","nodes":[],"documentation":{"id":32295,"nodeType":"StructuredDocumentation","src":"7183:57:19","text":"@notice An abbreviated name for NFTs in this contract"},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"7254:6:19","parameters":{"id":32296,"nodeType":"ParameterList","parameters":[],"src":"7260:2:19"},"returnParameters":{"id":32299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32298,"mutability":"mutable","name":"_symbol","nameLocation":"7300:7:19","nodeType":"VariableDeclaration","scope":32300,"src":"7286:21:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32297,"name":"string","nodeType":"ElementaryTypeName","src":"7286:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7285:23:19"},"scope":32309,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32308,"nodeType":"FunctionDefinition","src":"7580:74:19","nodes":[],"documentation":{"id":32301,"nodeType":"StructuredDocumentation","src":"7315:260:19","text":"@notice A distinct Uniform Resource Identifier (URI) for a given asset.\n @dev Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC\n 3986. The URI may point to a JSON file that conforms to the \"ERC721\n Metadata JSON Schema\"."},"functionSelector":"c87b56dd","implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"7589:8:19","parameters":{"id":32304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32303,"mutability":"mutable","name":"_tokenId","nameLocation":"7606:8:19","nodeType":"VariableDeclaration","scope":32308,"src":"7598:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32302,"name":"uint256","nodeType":"ElementaryTypeName","src":"7598:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7597:18:19"},"returnParameters":{"id":32307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32306,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32308,"src":"7639:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":32305,"name":"string","nodeType":"ElementaryTypeName","src":"7639:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7638:15:19"},"scope":32309,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":32287,"name":"IERC721","nameLocations":["7026:7:19"],"nodeType":"IdentifierPath","referencedDeclaration":32269,"src":"7026:7:19"},"id":32288,"nodeType":"InheritanceSpecifier","src":"7026:7:19"}],"canonicalName":"IERC721Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":32286,"nodeType":"StructuredDocumentation","src":"6802:195:19","text":"@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721\n Note: the ERC-165 identifier for this interface is 0x5b5e139f."},"fullyImplemented":false,"linearizedBaseContracts":[32309,32269,32057],"name":"IERC721Metadata","nameLocation":"7007:15:19","scope":32338,"usedErrors":[],"usedEvents":[32168,32177,32186]},{"id":32337,"nodeType":"ContractDefinition","src":"7856:1169:19","nodes":[{"id":32318,"nodeType":"FunctionDefinition","src":"8114:55:19","nodes":[],"documentation":{"id":32313,"nodeType":"StructuredDocumentation","src":"7901:208:19","text":"@notice Count NFTs tracked by this contract\n @return A count of valid NFTs tracked by this contract, where each one of\n them has an assigned and queryable owner not equal to the zero address"},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"8123:11:19","parameters":{"id":32314,"nodeType":"ParameterList","parameters":[],"src":"8134:2:19"},"returnParameters":{"id":32317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32318,"src":"8160:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32315,"name":"uint256","nodeType":"ElementaryTypeName","src":"8160:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8159:9:19"},"scope":32337,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32326,"nodeType":"FunctionDefinition","src":"8418:70:19","nodes":[],"documentation":{"id":32319,"nodeType":"StructuredDocumentation","src":"8175:238:19","text":"@notice Enumerate valid NFTs\n @dev Throws if `_index` >= `totalSupply()`.\n @param _index A counter less than `totalSupply()`\n @return The token identifier for the `_index`th NFT,\n (sort order not specified)"},"functionSelector":"4f6ccce7","implemented":false,"kind":"function","modifiers":[],"name":"tokenByIndex","nameLocation":"8427:12:19","parameters":{"id":32322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32321,"mutability":"mutable","name":"_index","nameLocation":"8448:6:19","nodeType":"VariableDeclaration","scope":32326,"src":"8440:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32320,"name":"uint256","nodeType":"ElementaryTypeName","src":"8440:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8439:16:19"},"returnParameters":{"id":32325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32324,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32326,"src":"8479:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32323,"name":"uint256","nodeType":"ElementaryTypeName","src":"8479:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8478:9:19"},"scope":32337,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32336,"nodeType":"FunctionDefinition","src":"8930:93:19","nodes":[],"documentation":{"id":32327,"nodeType":"StructuredDocumentation","src":"8494:431:19","text":"@notice Enumerate NFTs assigned to an owner\n @dev Throws if `_index` >= `balanceOf(_owner)` or if\n `_owner` is the zero address, representing invalid NFTs.\n @param _owner An address where we are interested in NFTs owned by them\n @param _index A counter less than `balanceOf(_owner)`\n @return The token identifier for the `_index`th NFT assigned to `_owner`,\n (sort order not specified)"},"functionSelector":"2f745c59","implemented":false,"kind":"function","modifiers":[],"name":"tokenOfOwnerByIndex","nameLocation":"8939:19:19","parameters":{"id":32332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32329,"mutability":"mutable","name":"_owner","nameLocation":"8967:6:19","nodeType":"VariableDeclaration","scope":32336,"src":"8959:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32328,"name":"address","nodeType":"ElementaryTypeName","src":"8959:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32331,"mutability":"mutable","name":"_index","nameLocation":"8983:6:19","nodeType":"VariableDeclaration","scope":32336,"src":"8975:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32330,"name":"uint256","nodeType":"ElementaryTypeName","src":"8975:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8958:32:19"},"returnParameters":{"id":32335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":32336,"src":"9014:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32333,"name":"uint256","nodeType":"ElementaryTypeName","src":"9014:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9013:9:19"},"scope":32337,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":32311,"name":"IERC721","nameLocations":["7887:7:19"],"nodeType":"IdentifierPath","referencedDeclaration":32269,"src":"7887:7:19"},"id":32312,"nodeType":"InheritanceSpecifier","src":"7887:7:19"}],"canonicalName":"IERC721Enumerable","contractDependencies":[],"contractKind":"interface","documentation":{"id":32310,"nodeType":"StructuredDocumentation","src":"7658:198:19","text":"@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n @dev See https://eips.ethereum.org/EIPS/eip-721\n Note: the ERC-165 identifier for this interface is 0x780e9d63."},"fullyImplemented":false,"linearizedBaseContracts":[32337,32269,32057],"name":"IERC721Enumerable","nameLocation":"7866:17:19","scope":32338,"usedErrors":[],"usedEvents":[32168,32177,32186]}],"license":"MIT"},"id":19}

@@ -1,1 +0,1 @@

{"abi":[{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"initialize()":"8129fc1c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"initialize()\":{\"details\":\"This function may only be called once.\"}},\"title\":\"IInitializable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"initialize()\":{\"notice\":\"Initializes the contract.\"}},\"notice\":\"An interface for initializable contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/interfaces/IInitializable.sol\":\"IInitializable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/dispute/interfaces/IInitializable.sol\":{\"keccak256\":\"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5\",\"dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"payable","type":"function","name":"initialize"}],"devdoc":{"kind":"dev","methods":{"initialize()":{"details":"This function may only be called once."}},"version":1},"userdoc":{"kind":"user","methods":{"initialize()":{"notice":"Initializes the contract."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/interfaces/IInitializable.sol":"IInitializable"},"evmVersion":"cancun","libraries":{}},"sources":{"src/dispute/interfaces/IInitializable.sol":{"keccak256":"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc","urls":["bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5","dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"initialize()":{"notice":"Initializes the contract."}},"notice":"An interface for initializable contracts."},"devdoc":{"version":1,"kind":"dev","methods":{"initialize()":{"details":"This function may only be called once."}},"title":"IInitializable"},"ast":{"absolutePath":"src/dispute/interfaces/IInitializable.sol","id":47223,"exportedSymbols":{"IInitializable":[47222]},"nodeType":"SourceUnit","src":"32:272:25","nodes":[{"id":47216,"nodeType":"PragmaDirective","src":"32:23:25","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":47222,"nodeType":"ContractDefinition","src":"137:166:25","nodes":[{"id":47221,"nodeType":"FunctionDefinition","src":"262:39:25","nodes":[],"documentation":{"id":47218,"nodeType":"StructuredDocumentation","src":"168:89:25","text":"@notice Initializes the contract.\n @dev This function may only be called once."},"functionSelector":"8129fc1c","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"271:10:25","parameters":{"id":47219,"nodeType":"ParameterList","parameters":[],"src":"281:2:25"},"returnParameters":{"id":47220,"nodeType":"ParameterList","parameters":[],"src":"300:0:25"},"scope":47222,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IInitializable","contractDependencies":[],"contractKind":"interface","documentation":{"id":47217,"nodeType":"StructuredDocumentation","src":"57:80:25","text":"@title IInitializable\n @notice An interface for initializable contracts."},"fullyImplemented":false,"linearizedBaseContracts":[47222],"name":"IInitializable","nameLocation":"147:14:25","scope":47223,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":25}
{"abi":[{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"initialize()":"8129fc1c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"initialize()\":{\"details\":\"This function may only be called once.\"}},\"title\":\"IInitializable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"initialize()\":{\"notice\":\"Initializes the contract.\"}},\"notice\":\"An interface for initializable contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/interfaces/IInitializable.sol\":\"IInitializable\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/dispute/interfaces/IInitializable.sol\":{\"keccak256\":\"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5\",\"dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"payable","type":"function","name":"initialize"}],"devdoc":{"kind":"dev","methods":{"initialize()":{"details":"This function may only be called once."}},"version":1},"userdoc":{"kind":"user","methods":{"initialize()":{"notice":"Initializes the contract."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/interfaces/IInitializable.sol":"IInitializable"},"evmVersion":"cancun","libraries":{}},"sources":{"src/dispute/interfaces/IInitializable.sol":{"keccak256":"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc","urls":["bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5","dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"initialize()":{"notice":"Initializes the contract."}},"notice":"An interface for initializable contracts."},"devdoc":{"version":1,"kind":"dev","methods":{"initialize()":{"details":"This function may only be called once."}},"title":"IInitializable"},"ast":{"absolutePath":"src/dispute/interfaces/IInitializable.sol","id":58305,"exportedSymbols":{"IInitializable":[58304]},"nodeType":"SourceUnit","src":"32:272:85","nodes":[{"id":58298,"nodeType":"PragmaDirective","src":"32:23:85","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":58304,"nodeType":"ContractDefinition","src":"137:166:85","nodes":[{"id":58303,"nodeType":"FunctionDefinition","src":"262:39:85","nodes":[],"documentation":{"id":58300,"nodeType":"StructuredDocumentation","src":"168:89:85","text":"@notice Initializes the contract.\n @dev This function may only be called once."},"functionSelector":"8129fc1c","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"271:10:85","parameters":{"id":58301,"nodeType":"ParameterList","parameters":[],"src":"281:2:85"},"returnParameters":{"id":58302,"nodeType":"ParameterList","parameters":[],"src":"300:0:85"},"scope":58304,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IInitializable","contractDependencies":[],"contractKind":"interface","documentation":{"id":58299,"nodeType":"StructuredDocumentation","src":"57:80:85","text":"@title IInitializable\n @notice An interface for initializable contracts."},"fullyImplemented":false,"linearizedBaseContracts":[58304],"name":"IInitializable","nameLocation":"147:14:85","scope":58305,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":85}

@@ -1,1 +0,1 @@

{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"aggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}]},{"inputs":[{"internalType":"struct IMulticall3.Call3[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"aggregate3","outputs":[{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"struct IMulticall3.Call3Value[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"aggregate3Value","outputs":[{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"blockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasefee","outputs":[{"internalType":"uint256","name":"basefee","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getChainId","outputs":[{"internalType":"uint256","name":"chainid","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockCoinbase","outputs":[{"internalType":"address","name":"coinbase","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockDifficulty","outputs":[{"internalType":"uint256","name":"difficulty","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockGasLimit","outputs":[{"internalType":"uint256","name":"gaslimit","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"stateMutability":"view","type":"function","name":"getEthBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}]},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"tryAggregate","outputs":[{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"tryBlockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/interfaces/IMulticall3.sol":"IMulticall3"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","id":32462,"exportedSymbols":{"IMulticall3":[32461]},"nodeType":"SourceUnit","src":"32:2153:19","nodes":[{"id":32300,"nodeType":"PragmaDirective","src":"32:31:19","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":32301,"nodeType":"PragmaDirective","src":"65:33:19","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":32461,"nodeType":"ContractDefinition","src":"100:2084:19","nodes":[{"id":32306,"nodeType":"StructDefinition","src":"128:67:19","nodes":[],"canonicalName":"IMulticall3.Call","members":[{"constant":false,"id":32303,"mutability":"mutable","name":"target","nameLocation":"158:6:19","nodeType":"VariableDeclaration","scope":32306,"src":"150:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32302,"name":"address","nodeType":"ElementaryTypeName","src":"150:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32305,"mutability":"mutable","name":"callData","nameLocation":"180:8:19","nodeType":"VariableDeclaration","scope":32306,"src":"174:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":32304,"name":"bytes","nodeType":"ElementaryTypeName","src":"174:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"135:4:19","scope":32461,"visibility":"public"},{"id":32313,"nodeType":"StructDefinition","src":"201:95:19","nodes":[],"canonicalName":"IMulticall3.Call3","members":[{"constant":false,"id":32308,"mutability":"mutable","name":"target","nameLocation":"232:6:19","nodeType":"VariableDeclaration","scope":32313,"src":"224:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32307,"name":"address","nodeType":"ElementaryTypeName","src":"224:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32310,"mutability":"mutable","name":"allowFailure","nameLocation":"253:12:19","nodeType":"VariableDeclaration","scope":32313,"src":"248:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32309,"name":"bool","nodeType":"ElementaryTypeName","src":"248:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32312,"mutability":"mutable","name":"callData","nameLocation":"281:8:19","nodeType":"VariableDeclaration","scope":32313,"src":"275:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":32311,"name":"bytes","nodeType":"ElementaryTypeName","src":"275:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"208:5:19","scope":32461,"visibility":"public"},{"id":32322,"nodeType":"StructDefinition","src":"302:123:19","nodes":[],"canonicalName":"IMulticall3.Call3Value","members":[{"constant":false,"id":32315,"mutability":"mutable","name":"target","nameLocation":"338:6:19","nodeType":"VariableDeclaration","scope":32322,"src":"330:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32314,"name":"address","nodeType":"ElementaryTypeName","src":"330:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32317,"mutability":"mutable","name":"allowFailure","nameLocation":"359:12:19","nodeType":"VariableDeclaration","scope":32322,"src":"354:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32316,"name":"bool","nodeType":"ElementaryTypeName","src":"354:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32319,"mutability":"mutable","name":"value","nameLocation":"389:5:19","nodeType":"VariableDeclaration","scope":32322,"src":"381:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32318,"name":"uint256","nodeType":"ElementaryTypeName","src":"381:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32321,"mutability":"mutable","name":"callData","nameLocation":"410:8:19","nodeType":"VariableDeclaration","scope":32322,"src":"404:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":32320,"name":"bytes","nodeType":"ElementaryTypeName","src":"404:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"309:10:19","scope":32461,"visibility":"public"},{"id":32327,"nodeType":"StructDefinition","src":"431:69:19","nodes":[],"canonicalName":"IMulticall3.Result","members":[{"constant":false,"id":32324,"mutability":"mutable","name":"success","nameLocation":"460:7:19","nodeType":"VariableDeclaration","scope":32327,"src":"455:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32323,"name":"bool","nodeType":"ElementaryTypeName","src":"455:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32326,"mutability":"mutable","name":"returnData","nameLocation":"483:10:19","nodeType":"VariableDeclaration","scope":32327,"src":"477:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":32325,"name":"bytes","nodeType":"ElementaryTypeName","src":"477:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"438:6:19","scope":32461,"visibility":"public"},{"id":32339,"nodeType":"FunctionDefinition","src":"506:140:19","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"515:9:19","parameters":{"id":32332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32331,"mutability":"mutable","name":"calls","nameLocation":"541:5:19","nodeType":"VariableDeclaration","scope":32339,"src":"525:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32306_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":32329,"nodeType":"UserDefinedTypeName","pathNode":{"id":32328,"name":"Call","nameLocations":["525:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":32306,"src":"525:4:19"},"referencedDeclaration":32306,"src":"525:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$32306_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":32330,"nodeType":"ArrayTypeName","src":"525:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32306_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"524:23:19"},"returnParameters":{"id":32338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32334,"mutability":"mutable","name":"blockNumber","nameLocation":"606:11:19","nodeType":"VariableDeclaration","scope":32339,"src":"598:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32333,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32337,"mutability":"mutable","name":"returnData","nameLocation":"634:10:19","nodeType":"VariableDeclaration","scope":32339,"src":"619:25:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":32335,"name":"bytes","nodeType":"ElementaryTypeName","src":"619:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":32336,"nodeType":"ArrayTypeName","src":"619:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"597:48:19"},"scope":32461,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32350,"nodeType":"FunctionDefinition","src":"652:98:19","nodes":[],"functionSelector":"82ad56cb","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"661:10:19","parameters":{"id":32344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32343,"mutability":"mutable","name":"calls","nameLocation":"689:5:19","nodeType":"VariableDeclaration","scope":32350,"src":"672:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$32313_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":32341,"nodeType":"UserDefinedTypeName","pathNode":{"id":32340,"name":"Call3","nameLocations":["672:5:19"],"nodeType":"IdentifierPath","referencedDeclaration":32313,"src":"672:5:19"},"referencedDeclaration":32313,"src":"672:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$32313_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":32342,"nodeType":"ArrayTypeName","src":"672:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$32313_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"671:24:19"},"returnParameters":{"id":32349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32348,"mutability":"mutable","name":"returnData","nameLocation":"738:10:19","nodeType":"VariableDeclaration","scope":32350,"src":"722:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32327_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":32346,"nodeType":"UserDefinedTypeName","pathNode":{"id":32345,"name":"Result","nameLocations":["722:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":32327,"src":"722:6:19"},"referencedDeclaration":32327,"src":"722:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$32327_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":32347,"nodeType":"ArrayTypeName","src":"722:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32327_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"721:28:19"},"scope":32461,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32361,"nodeType":"FunctionDefinition","src":"756:108:19","nodes":[],"functionSelector":"174dea71","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"765:15:19","parameters":{"id":32355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32354,"mutability":"mutable","name":"calls","nameLocation":"803:5:19","nodeType":"VariableDeclaration","scope":32361,"src":"781:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$32322_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":32352,"nodeType":"UserDefinedTypeName","pathNode":{"id":32351,"name":"Call3Value","nameLocations":["781:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":32322,"src":"781:10:19"},"referencedDeclaration":32322,"src":"781:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$32322_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":32353,"nodeType":"ArrayTypeName","src":"781:12:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$32322_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"780:29:19"},"returnParameters":{"id":32360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32359,"mutability":"mutable","name":"returnData","nameLocation":"852:10:19","nodeType":"VariableDeclaration","scope":32361,"src":"836:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32327_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":32357,"nodeType":"UserDefinedTypeName","pathNode":{"id":32356,"name":"Result","nameLocations":["836:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":32327,"src":"836:6:19"},"referencedDeclaration":32327,"src":"836:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$32327_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":32358,"nodeType":"ArrayTypeName","src":"836:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32327_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"835:28:19"},"scope":32461,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32376,"nodeType":"FunctionDefinition","src":"870:168:19","nodes":[],"functionSelector":"c3077fa9","implemented":false,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"879:17:19","parameters":{"id":32366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32365,"mutability":"mutable","name":"calls","nameLocation":"913:5:19","nodeType":"VariableDeclaration","scope":32376,"src":"897:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32306_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":32363,"nodeType":"UserDefinedTypeName","pathNode":{"id":32362,"name":"Call","nameLocations":["897:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":32306,"src":"897:4:19"},"referencedDeclaration":32306,"src":"897:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$32306_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":32364,"nodeType":"ArrayTypeName","src":"897:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32306_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"896:23:19"},"returnParameters":{"id":32375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32368,"mutability":"mutable","name":"blockNumber","nameLocation":"978:11:19","nodeType":"VariableDeclaration","scope":32376,"src":"970:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32367,"name":"uint256","nodeType":"ElementaryTypeName","src":"970:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32370,"mutability":"mutable","name":"blockHash","nameLocation":"999:9:19","nodeType":"VariableDeclaration","scope":32376,"src":"991:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32369,"name":"bytes32","nodeType":"ElementaryTypeName","src":"991:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32374,"mutability":"mutable","name":"returnData","nameLocation":"1026:10:19","nodeType":"VariableDeclaration","scope":32376,"src":"1010:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32327_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":32372,"nodeType":"UserDefinedTypeName","pathNode":{"id":32371,"name":"Result","nameLocations":["1010:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":32327,"src":"1010:6:19"},"referencedDeclaration":32327,"src":"1010:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$32327_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":32373,"nodeType":"ArrayTypeName","src":"1010:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32327_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"969:68:19"},"scope":32461,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32381,"nodeType":"FunctionDefinition","src":"1044:62:19","nodes":[],"functionSelector":"3e64a696","implemented":false,"kind":"function","modifiers":[],"name":"getBasefee","nameLocation":"1053:10:19","parameters":{"id":32377,"nodeType":"ParameterList","parameters":[],"src":"1063:2:19"},"returnParameters":{"id":32380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32379,"mutability":"mutable","name":"basefee","nameLocation":"1097:7:19","nodeType":"VariableDeclaration","scope":32381,"src":"1089:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32378,"name":"uint256","nodeType":"ElementaryTypeName","src":"1089:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1088:17:19"},"scope":32461,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32388,"nodeType":"FunctionDefinition","src":"1112:85:19","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"1121:12:19","parameters":{"id":32384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32383,"mutability":"mutable","name":"blockNumber","nameLocation":"1142:11:19","nodeType":"VariableDeclaration","scope":32388,"src":"1134:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32382,"name":"uint256","nodeType":"ElementaryTypeName","src":"1134:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1133:21:19"},"returnParameters":{"id":32387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32386,"mutability":"mutable","name":"blockHash","nameLocation":"1186:9:19","nodeType":"VariableDeclaration","scope":32388,"src":"1178:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1178:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1177:19:19"},"scope":32461,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32393,"nodeType":"FunctionDefinition","src":"1203:70:19","nodes":[],"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"1212:14:19","parameters":{"id":32389,"nodeType":"ParameterList","parameters":[],"src":"1226:2:19"},"returnParameters":{"id":32392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32391,"mutability":"mutable","name":"blockNumber","nameLocation":"1260:11:19","nodeType":"VariableDeclaration","scope":32393,"src":"1252:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32390,"name":"uint256","nodeType":"ElementaryTypeName","src":"1252:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1251:21:19"},"scope":32461,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32398,"nodeType":"FunctionDefinition","src":"1279:62:19","nodes":[],"functionSelector":"3408e470","implemented":false,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"1288:10:19","parameters":{"id":32394,"nodeType":"ParameterList","parameters":[],"src":"1298:2:19"},"returnParameters":{"id":32397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32396,"mutability":"mutable","name":"chainid","nameLocation":"1332:7:19","nodeType":"VariableDeclaration","scope":32398,"src":"1324:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32395,"name":"uint256","nodeType":"ElementaryTypeName","src":"1324:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1323:17:19"},"scope":32461,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32403,"nodeType":"FunctionDefinition","src":"1347:76:19","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"1356:23:19","parameters":{"id":32399,"nodeType":"ParameterList","parameters":[],"src":"1379:2:19"},"returnParameters":{"id":32402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32401,"mutability":"mutable","name":"coinbase","nameLocation":"1413:8:19","nodeType":"VariableDeclaration","scope":32403,"src":"1405:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32400,"name":"address","nodeType":"ElementaryTypeName","src":"1405:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1404:18:19"},"scope":32461,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32408,"nodeType":"FunctionDefinition","src":"1429:80:19","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"1438:25:19","parameters":{"id":32404,"nodeType":"ParameterList","parameters":[],"src":"1463:2:19"},"returnParameters":{"id":32407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32406,"mutability":"mutable","name":"difficulty","nameLocation":"1497:10:19","nodeType":"VariableDeclaration","scope":32408,"src":"1489:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32405,"name":"uint256","nodeType":"ElementaryTypeName","src":"1489:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1488:20:19"},"scope":32461,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32413,"nodeType":"FunctionDefinition","src":"1515:76:19","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"1524:23:19","parameters":{"id":32409,"nodeType":"ParameterList","parameters":[],"src":"1547:2:19"},"returnParameters":{"id":32412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32411,"mutability":"mutable","name":"gaslimit","nameLocation":"1581:8:19","nodeType":"VariableDeclaration","scope":32413,"src":"1573:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32410,"name":"uint256","nodeType":"ElementaryTypeName","src":"1573:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1572:18:19"},"scope":32461,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32418,"nodeType":"FunctionDefinition","src":"1597:78:19","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"1606:24:19","parameters":{"id":32414,"nodeType":"ParameterList","parameters":[],"src":"1630:2:19"},"returnParameters":{"id":32417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32416,"mutability":"mutable","name":"timestamp","nameLocation":"1664:9:19","nodeType":"VariableDeclaration","scope":32418,"src":"1656:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32415,"name":"uint256","nodeType":"ElementaryTypeName","src":"1656:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1655:19:19"},"scope":32461,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32425,"nodeType":"FunctionDefinition","src":"1681:77:19","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"1690:13:19","parameters":{"id":32421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32420,"mutability":"mutable","name":"addr","nameLocation":"1712:4:19","nodeType":"VariableDeclaration","scope":32425,"src":"1704:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32419,"name":"address","nodeType":"ElementaryTypeName","src":"1704:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1703:14:19"},"returnParameters":{"id":32424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32423,"mutability":"mutable","name":"balance","nameLocation":"1749:7:19","nodeType":"VariableDeclaration","scope":32425,"src":"1741:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32422,"name":"uint256","nodeType":"ElementaryTypeName","src":"1741:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1740:17:19"},"scope":32461,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32430,"nodeType":"FunctionDefinition","src":"1764:70:19","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1773:16:19","parameters":{"id":32426,"nodeType":"ParameterList","parameters":[],"src":"1789:2:19"},"returnParameters":{"id":32429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32428,"mutability":"mutable","name":"blockHash","nameLocation":"1823:9:19","nodeType":"VariableDeclaration","scope":32430,"src":"1815:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32427,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1815:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1814:19:19"},"scope":32461,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32443,"nodeType":"FunctionDefinition","src":"1840:144:19","nodes":[],"functionSelector":"bce38bd7","implemented":false,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1849:12:19","parameters":{"id":32437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32432,"mutability":"mutable","name":"requireSuccess","nameLocation":"1867:14:19","nodeType":"VariableDeclaration","scope":32443,"src":"1862:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32431,"name":"bool","nodeType":"ElementaryTypeName","src":"1862:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32436,"mutability":"mutable","name":"calls","nameLocation":"1899:5:19","nodeType":"VariableDeclaration","scope":32443,"src":"1883:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32306_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":32434,"nodeType":"UserDefinedTypeName","pathNode":{"id":32433,"name":"Call","nameLocations":["1883:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":32306,"src":"1883:4:19"},"referencedDeclaration":32306,"src":"1883:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$32306_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":32435,"nodeType":"ArrayTypeName","src":"1883:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32306_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"1861:44:19"},"returnParameters":{"id":32442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32441,"mutability":"mutable","name":"returnData","nameLocation":"1972:10:19","nodeType":"VariableDeclaration","scope":32443,"src":"1956:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32327_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":32439,"nodeType":"UserDefinedTypeName","pathNode":{"id":32438,"name":"Result","nameLocations":["1956:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":32327,"src":"1956:6:19"},"referencedDeclaration":32327,"src":"1956:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$32327_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":32440,"nodeType":"ArrayTypeName","src":"1956:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32327_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1955:28:19"},"scope":32461,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32460,"nodeType":"FunctionDefinition","src":"1990:192:19","nodes":[],"functionSelector":"399542e9","implemented":false,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1999:20:19","parameters":{"id":32450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32445,"mutability":"mutable","name":"requireSuccess","nameLocation":"2025:14:19","nodeType":"VariableDeclaration","scope":32460,"src":"2020:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32444,"name":"bool","nodeType":"ElementaryTypeName","src":"2020:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32449,"mutability":"mutable","name":"calls","nameLocation":"2057:5:19","nodeType":"VariableDeclaration","scope":32460,"src":"2041:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32306_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":32447,"nodeType":"UserDefinedTypeName","pathNode":{"id":32446,"name":"Call","nameLocations":["2041:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":32306,"src":"2041:4:19"},"referencedDeclaration":32306,"src":"2041:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$32306_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":32448,"nodeType":"ArrayTypeName","src":"2041:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32306_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"2019:44:19"},"returnParameters":{"id":32459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32452,"mutability":"mutable","name":"blockNumber","nameLocation":"2122:11:19","nodeType":"VariableDeclaration","scope":32460,"src":"2114:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32451,"name":"uint256","nodeType":"ElementaryTypeName","src":"2114:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32454,"mutability":"mutable","name":"blockHash","nameLocation":"2143:9:19","nodeType":"VariableDeclaration","scope":32460,"src":"2135:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32453,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2135:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32458,"mutability":"mutable","name":"returnData","nameLocation":"2170:10:19","nodeType":"VariableDeclaration","scope":32460,"src":"2154:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32327_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":32456,"nodeType":"UserDefinedTypeName","pathNode":{"id":32455,"name":"Result","nameLocations":["2154:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":32327,"src":"2154:6:19"},"referencedDeclaration":32327,"src":"2154:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$32327_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":32457,"nodeType":"ArrayTypeName","src":"2154:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32327_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2113:68:19"},"scope":32461,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall3","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[32461],"name":"IMulticall3","nameLocation":"110:11:19","scope":32462,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":19}
{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"aggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}]},{"inputs":[{"internalType":"struct IMulticall3.Call3[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"aggregate3","outputs":[{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"struct IMulticall3.Call3Value[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"aggregate3Value","outputs":[{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"blockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasefee","outputs":[{"internalType":"uint256","name":"basefee","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getChainId","outputs":[{"internalType":"uint256","name":"chainid","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockCoinbase","outputs":[{"internalType":"address","name":"coinbase","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockDifficulty","outputs":[{"internalType":"uint256","name":"difficulty","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockGasLimit","outputs":[{"internalType":"uint256","name":"gaslimit","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"stateMutability":"view","type":"function","name":"getEthBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}]},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"tryAggregate","outputs":[{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"internalType":"struct IMulticall3.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"tryBlockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"internalType":"struct IMulticall3.Result[]","name":"returnData","type":"tuple[]","components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/interfaces/IMulticall3.sol":"IMulticall3"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","id":32501,"exportedSymbols":{"IMulticall3":[32500]},"nodeType":"SourceUnit","src":"32:2153:20","nodes":[{"id":32339,"nodeType":"PragmaDirective","src":"32:31:20","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":32340,"nodeType":"PragmaDirective","src":"65:33:20","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":32500,"nodeType":"ContractDefinition","src":"100:2084:20","nodes":[{"id":32345,"nodeType":"StructDefinition","src":"128:67:20","nodes":[],"canonicalName":"IMulticall3.Call","members":[{"constant":false,"id":32342,"mutability":"mutable","name":"target","nameLocation":"158:6:20","nodeType":"VariableDeclaration","scope":32345,"src":"150:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32341,"name":"address","nodeType":"ElementaryTypeName","src":"150:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32344,"mutability":"mutable","name":"callData","nameLocation":"180:8:20","nodeType":"VariableDeclaration","scope":32345,"src":"174:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":32343,"name":"bytes","nodeType":"ElementaryTypeName","src":"174:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"135:4:20","scope":32500,"visibility":"public"},{"id":32352,"nodeType":"StructDefinition","src":"201:95:20","nodes":[],"canonicalName":"IMulticall3.Call3","members":[{"constant":false,"id":32347,"mutability":"mutable","name":"target","nameLocation":"232:6:20","nodeType":"VariableDeclaration","scope":32352,"src":"224:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32346,"name":"address","nodeType":"ElementaryTypeName","src":"224:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32349,"mutability":"mutable","name":"allowFailure","nameLocation":"253:12:20","nodeType":"VariableDeclaration","scope":32352,"src":"248:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32348,"name":"bool","nodeType":"ElementaryTypeName","src":"248:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32351,"mutability":"mutable","name":"callData","nameLocation":"281:8:20","nodeType":"VariableDeclaration","scope":32352,"src":"275:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":32350,"name":"bytes","nodeType":"ElementaryTypeName","src":"275:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"208:5:20","scope":32500,"visibility":"public"},{"id":32361,"nodeType":"StructDefinition","src":"302:123:20","nodes":[],"canonicalName":"IMulticall3.Call3Value","members":[{"constant":false,"id":32354,"mutability":"mutable","name":"target","nameLocation":"338:6:20","nodeType":"VariableDeclaration","scope":32361,"src":"330:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32353,"name":"address","nodeType":"ElementaryTypeName","src":"330:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":32356,"mutability":"mutable","name":"allowFailure","nameLocation":"359:12:20","nodeType":"VariableDeclaration","scope":32361,"src":"354:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32355,"name":"bool","nodeType":"ElementaryTypeName","src":"354:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32358,"mutability":"mutable","name":"value","nameLocation":"389:5:20","nodeType":"VariableDeclaration","scope":32361,"src":"381:13:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32357,"name":"uint256","nodeType":"ElementaryTypeName","src":"381:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32360,"mutability":"mutable","name":"callData","nameLocation":"410:8:20","nodeType":"VariableDeclaration","scope":32361,"src":"404:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":32359,"name":"bytes","nodeType":"ElementaryTypeName","src":"404:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"309:10:20","scope":32500,"visibility":"public"},{"id":32366,"nodeType":"StructDefinition","src":"431:69:20","nodes":[],"canonicalName":"IMulticall3.Result","members":[{"constant":false,"id":32363,"mutability":"mutable","name":"success","nameLocation":"460:7:20","nodeType":"VariableDeclaration","scope":32366,"src":"455:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32362,"name":"bool","nodeType":"ElementaryTypeName","src":"455:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32365,"mutability":"mutable","name":"returnData","nameLocation":"483:10:20","nodeType":"VariableDeclaration","scope":32366,"src":"477:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":32364,"name":"bytes","nodeType":"ElementaryTypeName","src":"477:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"438:6:20","scope":32500,"visibility":"public"},{"id":32378,"nodeType":"FunctionDefinition","src":"506:140:20","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"515:9:20","parameters":{"id":32371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32370,"mutability":"mutable","name":"calls","nameLocation":"541:5:20","nodeType":"VariableDeclaration","scope":32378,"src":"525:21:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32345_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":32368,"nodeType":"UserDefinedTypeName","pathNode":{"id":32367,"name":"Call","nameLocations":["525:4:20"],"nodeType":"IdentifierPath","referencedDeclaration":32345,"src":"525:4:20"},"referencedDeclaration":32345,"src":"525:4:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$32345_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":32369,"nodeType":"ArrayTypeName","src":"525:6:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32345_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"524:23:20"},"returnParameters":{"id":32377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32373,"mutability":"mutable","name":"blockNumber","nameLocation":"606:11:20","nodeType":"VariableDeclaration","scope":32378,"src":"598:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32372,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32376,"mutability":"mutable","name":"returnData","nameLocation":"634:10:20","nodeType":"VariableDeclaration","scope":32378,"src":"619:25:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":32374,"name":"bytes","nodeType":"ElementaryTypeName","src":"619:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":32375,"nodeType":"ArrayTypeName","src":"619:7:20","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"597:48:20"},"scope":32500,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32389,"nodeType":"FunctionDefinition","src":"652:98:20","nodes":[],"functionSelector":"82ad56cb","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"661:10:20","parameters":{"id":32383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32382,"mutability":"mutable","name":"calls","nameLocation":"689:5:20","nodeType":"VariableDeclaration","scope":32389,"src":"672:22:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$32352_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":32380,"nodeType":"UserDefinedTypeName","pathNode":{"id":32379,"name":"Call3","nameLocations":["672:5:20"],"nodeType":"IdentifierPath","referencedDeclaration":32352,"src":"672:5:20"},"referencedDeclaration":32352,"src":"672:5:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$32352_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":32381,"nodeType":"ArrayTypeName","src":"672:7:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$32352_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"671:24:20"},"returnParameters":{"id":32388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32387,"mutability":"mutable","name":"returnData","nameLocation":"738:10:20","nodeType":"VariableDeclaration","scope":32389,"src":"722:26:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32366_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":32385,"nodeType":"UserDefinedTypeName","pathNode":{"id":32384,"name":"Result","nameLocations":["722:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":32366,"src":"722:6:20"},"referencedDeclaration":32366,"src":"722:6:20","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$32366_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":32386,"nodeType":"ArrayTypeName","src":"722:8:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32366_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"721:28:20"},"scope":32500,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32400,"nodeType":"FunctionDefinition","src":"756:108:20","nodes":[],"functionSelector":"174dea71","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"765:15:20","parameters":{"id":32394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32393,"mutability":"mutable","name":"calls","nameLocation":"803:5:20","nodeType":"VariableDeclaration","scope":32400,"src":"781:27:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$32361_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":32391,"nodeType":"UserDefinedTypeName","pathNode":{"id":32390,"name":"Call3Value","nameLocations":["781:10:20"],"nodeType":"IdentifierPath","referencedDeclaration":32361,"src":"781:10:20"},"referencedDeclaration":32361,"src":"781:10:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$32361_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":32392,"nodeType":"ArrayTypeName","src":"781:12:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$32361_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"780:29:20"},"returnParameters":{"id":32399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32398,"mutability":"mutable","name":"returnData","nameLocation":"852:10:20","nodeType":"VariableDeclaration","scope":32400,"src":"836:26:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32366_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":32396,"nodeType":"UserDefinedTypeName","pathNode":{"id":32395,"name":"Result","nameLocations":["836:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":32366,"src":"836:6:20"},"referencedDeclaration":32366,"src":"836:6:20","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$32366_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":32397,"nodeType":"ArrayTypeName","src":"836:8:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32366_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"835:28:20"},"scope":32500,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32415,"nodeType":"FunctionDefinition","src":"870:168:20","nodes":[],"functionSelector":"c3077fa9","implemented":false,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"879:17:20","parameters":{"id":32405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32404,"mutability":"mutable","name":"calls","nameLocation":"913:5:20","nodeType":"VariableDeclaration","scope":32415,"src":"897:21:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32345_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":32402,"nodeType":"UserDefinedTypeName","pathNode":{"id":32401,"name":"Call","nameLocations":["897:4:20"],"nodeType":"IdentifierPath","referencedDeclaration":32345,"src":"897:4:20"},"referencedDeclaration":32345,"src":"897:4:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$32345_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":32403,"nodeType":"ArrayTypeName","src":"897:6:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32345_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"896:23:20"},"returnParameters":{"id":32414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32407,"mutability":"mutable","name":"blockNumber","nameLocation":"978:11:20","nodeType":"VariableDeclaration","scope":32415,"src":"970:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32406,"name":"uint256","nodeType":"ElementaryTypeName","src":"970:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32409,"mutability":"mutable","name":"blockHash","nameLocation":"999:9:20","nodeType":"VariableDeclaration","scope":32415,"src":"991:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32408,"name":"bytes32","nodeType":"ElementaryTypeName","src":"991:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32413,"mutability":"mutable","name":"returnData","nameLocation":"1026:10:20","nodeType":"VariableDeclaration","scope":32415,"src":"1010:26:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32366_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":32411,"nodeType":"UserDefinedTypeName","pathNode":{"id":32410,"name":"Result","nameLocations":["1010:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":32366,"src":"1010:6:20"},"referencedDeclaration":32366,"src":"1010:6:20","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$32366_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":32412,"nodeType":"ArrayTypeName","src":"1010:8:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32366_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"969:68:20"},"scope":32500,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32420,"nodeType":"FunctionDefinition","src":"1044:62:20","nodes":[],"functionSelector":"3e64a696","implemented":false,"kind":"function","modifiers":[],"name":"getBasefee","nameLocation":"1053:10:20","parameters":{"id":32416,"nodeType":"ParameterList","parameters":[],"src":"1063:2:20"},"returnParameters":{"id":32419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32418,"mutability":"mutable","name":"basefee","nameLocation":"1097:7:20","nodeType":"VariableDeclaration","scope":32420,"src":"1089:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32417,"name":"uint256","nodeType":"ElementaryTypeName","src":"1089:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1088:17:20"},"scope":32500,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32427,"nodeType":"FunctionDefinition","src":"1112:85:20","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"1121:12:20","parameters":{"id":32423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32422,"mutability":"mutable","name":"blockNumber","nameLocation":"1142:11:20","nodeType":"VariableDeclaration","scope":32427,"src":"1134:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32421,"name":"uint256","nodeType":"ElementaryTypeName","src":"1134:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1133:21:20"},"returnParameters":{"id":32426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32425,"mutability":"mutable","name":"blockHash","nameLocation":"1186:9:20","nodeType":"VariableDeclaration","scope":32427,"src":"1178:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1178:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1177:19:20"},"scope":32500,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32432,"nodeType":"FunctionDefinition","src":"1203:70:20","nodes":[],"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"1212:14:20","parameters":{"id":32428,"nodeType":"ParameterList","parameters":[],"src":"1226:2:20"},"returnParameters":{"id":32431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32430,"mutability":"mutable","name":"blockNumber","nameLocation":"1260:11:20","nodeType":"VariableDeclaration","scope":32432,"src":"1252:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32429,"name":"uint256","nodeType":"ElementaryTypeName","src":"1252:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1251:21:20"},"scope":32500,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32437,"nodeType":"FunctionDefinition","src":"1279:62:20","nodes":[],"functionSelector":"3408e470","implemented":false,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"1288:10:20","parameters":{"id":32433,"nodeType":"ParameterList","parameters":[],"src":"1298:2:20"},"returnParameters":{"id":32436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32435,"mutability":"mutable","name":"chainid","nameLocation":"1332:7:20","nodeType":"VariableDeclaration","scope":32437,"src":"1324:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32434,"name":"uint256","nodeType":"ElementaryTypeName","src":"1324:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1323:17:20"},"scope":32500,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32442,"nodeType":"FunctionDefinition","src":"1347:76:20","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"1356:23:20","parameters":{"id":32438,"nodeType":"ParameterList","parameters":[],"src":"1379:2:20"},"returnParameters":{"id":32441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32440,"mutability":"mutable","name":"coinbase","nameLocation":"1413:8:20","nodeType":"VariableDeclaration","scope":32442,"src":"1405:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32439,"name":"address","nodeType":"ElementaryTypeName","src":"1405:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1404:18:20"},"scope":32500,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32447,"nodeType":"FunctionDefinition","src":"1429:80:20","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"1438:25:20","parameters":{"id":32443,"nodeType":"ParameterList","parameters":[],"src":"1463:2:20"},"returnParameters":{"id":32446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32445,"mutability":"mutable","name":"difficulty","nameLocation":"1497:10:20","nodeType":"VariableDeclaration","scope":32447,"src":"1489:18:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32444,"name":"uint256","nodeType":"ElementaryTypeName","src":"1489:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1488:20:20"},"scope":32500,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32452,"nodeType":"FunctionDefinition","src":"1515:76:20","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"1524:23:20","parameters":{"id":32448,"nodeType":"ParameterList","parameters":[],"src":"1547:2:20"},"returnParameters":{"id":32451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32450,"mutability":"mutable","name":"gaslimit","nameLocation":"1581:8:20","nodeType":"VariableDeclaration","scope":32452,"src":"1573:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32449,"name":"uint256","nodeType":"ElementaryTypeName","src":"1573:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1572:18:20"},"scope":32500,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32457,"nodeType":"FunctionDefinition","src":"1597:78:20","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"1606:24:20","parameters":{"id":32453,"nodeType":"ParameterList","parameters":[],"src":"1630:2:20"},"returnParameters":{"id":32456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32455,"mutability":"mutable","name":"timestamp","nameLocation":"1664:9:20","nodeType":"VariableDeclaration","scope":32457,"src":"1656:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32454,"name":"uint256","nodeType":"ElementaryTypeName","src":"1656:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1655:19:20"},"scope":32500,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32464,"nodeType":"FunctionDefinition","src":"1681:77:20","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"1690:13:20","parameters":{"id":32460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32459,"mutability":"mutable","name":"addr","nameLocation":"1712:4:20","nodeType":"VariableDeclaration","scope":32464,"src":"1704:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32458,"name":"address","nodeType":"ElementaryTypeName","src":"1704:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1703:14:20"},"returnParameters":{"id":32463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32462,"mutability":"mutable","name":"balance","nameLocation":"1749:7:20","nodeType":"VariableDeclaration","scope":32464,"src":"1741:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32461,"name":"uint256","nodeType":"ElementaryTypeName","src":"1741:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1740:17:20"},"scope":32500,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32469,"nodeType":"FunctionDefinition","src":"1764:70:20","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1773:16:20","parameters":{"id":32465,"nodeType":"ParameterList","parameters":[],"src":"1789:2:20"},"returnParameters":{"id":32468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32467,"mutability":"mutable","name":"blockHash","nameLocation":"1823:9:20","nodeType":"VariableDeclaration","scope":32469,"src":"1815:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1815:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1814:19:20"},"scope":32500,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":32482,"nodeType":"FunctionDefinition","src":"1840:144:20","nodes":[],"functionSelector":"bce38bd7","implemented":false,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1849:12:20","parameters":{"id":32476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32471,"mutability":"mutable","name":"requireSuccess","nameLocation":"1867:14:20","nodeType":"VariableDeclaration","scope":32482,"src":"1862:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32470,"name":"bool","nodeType":"ElementaryTypeName","src":"1862:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32475,"mutability":"mutable","name":"calls","nameLocation":"1899:5:20","nodeType":"VariableDeclaration","scope":32482,"src":"1883:21:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32345_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":32473,"nodeType":"UserDefinedTypeName","pathNode":{"id":32472,"name":"Call","nameLocations":["1883:4:20"],"nodeType":"IdentifierPath","referencedDeclaration":32345,"src":"1883:4:20"},"referencedDeclaration":32345,"src":"1883:4:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$32345_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":32474,"nodeType":"ArrayTypeName","src":"1883:6:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32345_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"1861:44:20"},"returnParameters":{"id":32481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32480,"mutability":"mutable","name":"returnData","nameLocation":"1972:10:20","nodeType":"VariableDeclaration","scope":32482,"src":"1956:26:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32366_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":32478,"nodeType":"UserDefinedTypeName","pathNode":{"id":32477,"name":"Result","nameLocations":["1956:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":32366,"src":"1956:6:20"},"referencedDeclaration":32366,"src":"1956:6:20","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$32366_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":32479,"nodeType":"ArrayTypeName","src":"1956:8:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32366_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1955:28:20"},"scope":32500,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":32499,"nodeType":"FunctionDefinition","src":"1990:192:20","nodes":[],"functionSelector":"399542e9","implemented":false,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1999:20:20","parameters":{"id":32489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32484,"mutability":"mutable","name":"requireSuccess","nameLocation":"2025:14:20","nodeType":"VariableDeclaration","scope":32499,"src":"2020:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32483,"name":"bool","nodeType":"ElementaryTypeName","src":"2020:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":32488,"mutability":"mutable","name":"calls","nameLocation":"2057:5:20","nodeType":"VariableDeclaration","scope":32499,"src":"2041:21:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32345_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":32486,"nodeType":"UserDefinedTypeName","pathNode":{"id":32485,"name":"Call","nameLocations":["2041:4:20"],"nodeType":"IdentifierPath","referencedDeclaration":32345,"src":"2041:4:20"},"referencedDeclaration":32345,"src":"2041:4:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$32345_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":32487,"nodeType":"ArrayTypeName","src":"2041:6:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$32345_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"2019:44:20"},"returnParameters":{"id":32498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32491,"mutability":"mutable","name":"blockNumber","nameLocation":"2122:11:20","nodeType":"VariableDeclaration","scope":32499,"src":"2114:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32490,"name":"uint256","nodeType":"ElementaryTypeName","src":"2114:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":32493,"mutability":"mutable","name":"blockHash","nameLocation":"2143:9:20","nodeType":"VariableDeclaration","scope":32499,"src":"2135:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32492,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2135:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":32497,"mutability":"mutable","name":"returnData","nameLocation":"2170:10:20","nodeType":"VariableDeclaration","scope":32499,"src":"2154:26:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32366_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":32495,"nodeType":"UserDefinedTypeName","pathNode":{"id":32494,"name":"Result","nameLocations":["2154:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":32366,"src":"2154:6:20"},"referencedDeclaration":32366,"src":"2154:6:20","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$32366_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":32496,"nodeType":"ArrayTypeName","src":"2154:8:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$32366_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2113:68:20"},"scope":32500,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall3","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[32500],"name":"IMulticall3","nameLocation":"110:11:20","scope":32501,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":20}

@@ -1,1 +0,1 @@

{"abi":[{"type":"function","name":"arithmeticError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"assertionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"divisionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"encodeStorageError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"enumConversionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"indexOOBError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"memOverflowError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"popError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"zeroVarError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"}],"bytecode":{"object":"0x610283610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100aa575f3560e01c8063986c5f681161007d578063b67689da11610063578063b67689da146100f4578063d160e4de146100fc578063fa784a4414610104575f80fd5b8063986c5f68146100e4578063b22dc54d146100ec575f80fd5b806305ee8612146100ae57806310332977146100cc5780631de45560146100d45780638995290f146100dc575b5f80fd5b6100b661010c565b6040516100c39190610223565b60405180910390f35b6100b6610193565b6100b66101a5565b6100b66101b7565b6100b66101c9565b6100b66101db565b6100b66101ed565b6100b66101ff565b6100b6610211565b604051603260248201526044015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011a565b6040516021602482015260440161011a565b6040516011602482015260440161011a565b6040516041602482015260440161011a565b6040516031602482015260440161011a565b6040516051602482015260440161011a565b6040516022602482015260440161011a565b6040516012602482015260440161011a565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509291505056fea164736f6c634300081a000a","sourceMap":"162:850:4:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;162:850:4;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600436106100aa575f3560e01c8063986c5f681161007d578063b67689da11610063578063b67689da146100f4578063d160e4de146100fc578063fa784a4414610104575f80fd5b8063986c5f68146100e4578063b22dc54d146100ec575f80fd5b806305ee8612146100ae57806310332977146100cc5780631de45560146100d45780638995290f146100dc575b5f80fd5b6100b661010c565b6040516100c39190610223565b60405180910390f35b6100b6610193565b6100b66101a5565b6100b66101b7565b6100b66101c9565b6100b66101db565b6100b66101ed565b6100b66101ff565b6100b6610211565b604051603260248201526044015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011a565b6040516021602482015260440161011a565b6040516011602482015260440161011a565b6040516041602482015260440161011a565b6040516031602482015260440161011a565b6040516051602482015260440161011a565b6040516022602482015260440161011a565b6040516012602482015260440161011a565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509291505056fea164736f6c634300081a000a","sourceMap":"162:850:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;740:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;185:86;;;:::i;461:91::-;;;:::i;277:87::-;;;:::i;831:88::-;;;:::i;654:80::-;;;:::i;925:84::-;;;:::i;558:90::-;;;:::i;370:85::-;;;:::i;740:::-;778:47;;820:4;778:47;;;655:36:34;628:18;;778:47:4;;;;;;;;;;;;;;;;;;;;;;;;;740:85;:::o;185:86::-;224:47;;266:4;224:47;;;655:36:34;628:18;;224:47:4;502:195:34;461:91:4;505:47;;547:4;505:47;;;655:36:34;628:18;;505:47:4;502:195:34;277:87:4;317:47;;359:4;317:47;;;655:36:34;628:18;;317:47:4;502:195:34;831:88:4;872:47;;914:4;872:47;;;655:36:34;628:18;;872:47:4;502:195:34;654:80:4;687:47;;729:4;687:47;;;655:36:34;628:18;;687:47:4;502:195:34;925:84:4;962:47;;1004:4;962:47;;;655:36:34;628:18;;962:47:4;502:195:34;558:90:4;601:47;;643:4;601:47;;;655:36:34;628:18;;601:47:4;502:195:34;370:85:4;408:47;;450:4;408:47;;;655:36:34;628:18;;408:47:4;502:195:34;14:483;169:2;158:9;151:21;132:4;201:6;195:13;244:6;239:2;228:9;224:18;217:34;303:6;298:2;290:6;286:15;281:2;270:9;266:18;260:50;359:1;354:2;345:6;334:9;330:22;326:31;319:42;488:2;418:66;413:2;405:6;401:15;397:88;386:9;382:104;378:113;370:121;;;14:483;;;;:::o","linkReferences":{}},"methodIdentifiers":{"arithmeticError()":"8995290f","assertionError()":"10332977","divisionError()":"fa784a44","encodeStorageError()":"d160e4de","enumConversionError()":"1de45560","indexOOBError()":"05ee8612","memOverflowError()":"986c5f68","popError()":"b22dc54d","zeroVarError()":"b67689da"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"arithmeticError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"assertionError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"divisionError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"encodeStorageError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"enumConversionError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"indexOOBError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"memOverflowError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"popError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"zeroVarError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/StdError.sol":"stdError"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/StdError.sol","id":6397,"exportedSymbols":{"stdError":[6396]},"nodeType":"SourceUnit","src":"129:884:4","nodes":[{"id":6332,"nodeType":"PragmaDirective","src":"129:31:4","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":6396,"nodeType":"ContractDefinition","src":"162:850:4","nodes":[{"id":6339,"nodeType":"VariableDeclaration","src":"185:86:4","nodes":[],"constant":true,"functionSelector":"10332977","mutability":"constant","name":"assertionError","nameLocation":"207:14:4","scope":6396,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6333,"name":"bytes","nodeType":"ElementaryTypeName","src":"185:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"248:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783031","id":6337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266:4:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":6334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"224:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"228:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"224:23:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"224:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6346,"nodeType":"VariableDeclaration","src":"277:87:4","nodes":[],"constant":true,"functionSelector":"8995290f","mutability":"constant","name":"arithmeticError","nameLocation":"299:15:4","scope":6396,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6340,"name":"bytes","nodeType":"ElementaryTypeName","src":"277:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"341:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783131","id":6344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359:4:4","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"0x11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"}],"expression":{"id":6341,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"317:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"321:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"317:23:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6353,"nodeType":"VariableDeclaration","src":"370:85:4","nodes":[],"constant":true,"functionSelector":"fa784a44","mutability":"constant","name":"divisionError","nameLocation":"392:13:4","scope":6396,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6347,"name":"bytes","nodeType":"ElementaryTypeName","src":"370:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"432:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783132","id":6351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"450:4:4","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"0x12"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"expression":{"id":6348,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"408:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"412:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"408:23:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"408:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6360,"nodeType":"VariableDeclaration","src":"461:91:4","nodes":[],"constant":true,"functionSelector":"1de45560","mutability":"constant","name":"enumConversionError","nameLocation":"483:19:4","scope":6396,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6354,"name":"bytes","nodeType":"ElementaryTypeName","src":"461:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"529:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783231","id":6358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"547:4:4","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"0x21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"}],"expression":{"id":6355,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"505:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"509:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"505:23:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"505:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6367,"nodeType":"VariableDeclaration","src":"558:90:4","nodes":[],"constant":true,"functionSelector":"d160e4de","mutability":"constant","name":"encodeStorageError","nameLocation":"580:18:4","scope":6396,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6361,"name":"bytes","nodeType":"ElementaryTypeName","src":"558:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"625:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783232","id":6365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"643:4:4","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"}],"expression":{"id":6362,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"601:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"605:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"601:23:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"601:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6374,"nodeType":"VariableDeclaration","src":"654:80:4","nodes":[],"constant":true,"functionSelector":"b22dc54d","mutability":"constant","name":"popError","nameLocation":"676:8:4","scope":6396,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6368,"name":"bytes","nodeType":"ElementaryTypeName","src":"654:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"711:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783331","id":6372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"729:4:4","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"0x31"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"}],"expression":{"id":6369,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"687:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"691:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"687:23:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"687:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6381,"nodeType":"VariableDeclaration","src":"740:85:4","nodes":[],"constant":true,"functionSelector":"05ee8612","mutability":"constant","name":"indexOOBError","nameLocation":"762:13:4","scope":6396,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6375,"name":"bytes","nodeType":"ElementaryTypeName","src":"740:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"802:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783332","id":6379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"820:4:4","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"0x32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"}],"expression":{"id":6376,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"778:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"782:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"778:23:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"778:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6388,"nodeType":"VariableDeclaration","src":"831:88:4","nodes":[],"constant":true,"functionSelector":"986c5f68","mutability":"constant","name":"memOverflowError","nameLocation":"853:16:4","scope":6396,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6382,"name":"bytes","nodeType":"ElementaryTypeName","src":"831:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"896:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783431","id":6386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"914:4:4","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"0x41"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"}],"expression":{"id":6383,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"872:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"876:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"872:23:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"872:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6395,"nodeType":"VariableDeclaration","src":"925:84:4","nodes":[],"constant":true,"functionSelector":"b67689da","mutability":"constant","name":"zeroVarError","nameLocation":"947:12:4","scope":6396,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6389,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"986:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783531","id":6393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1004:4:4","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"0x51"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"}],"expression":{"id":6390,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"962:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"966:19:4","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"962:23:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"962:47:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"stdError","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[6396],"name":"stdError","nameLocation":"170:8:4","scope":6397,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":4}
{"abi":[{"type":"function","name":"arithmeticError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"assertionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"divisionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"encodeStorageError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"enumConversionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"indexOOBError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"memOverflowError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"popError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"zeroVarError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"}],"bytecode":{"object":"0x610283610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100aa575f3560e01c8063986c5f681161007d578063b67689da11610063578063b67689da146100f4578063d160e4de146100fc578063fa784a4414610104575f80fd5b8063986c5f68146100e4578063b22dc54d146100ec575f80fd5b806305ee8612146100ae57806310332977146100cc5780631de45560146100d45780638995290f146100dc575b5f80fd5b6100b661010c565b6040516100c39190610223565b60405180910390f35b6100b6610193565b6100b66101a5565b6100b66101b7565b6100b66101c9565b6100b66101db565b6100b66101ed565b6100b66101ff565b6100b6610211565b604051603260248201526044015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011a565b6040516021602482015260440161011a565b6040516011602482015260440161011a565b6040516041602482015260440161011a565b6040516031602482015260440161011a565b6040516051602482015260440161011a565b6040516022602482015260440161011a565b6040516012602482015260440161011a565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509291505056fea164736f6c634300081a000a","sourceMap":"162:850:5:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;162:850:5;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600436106100aa575f3560e01c8063986c5f681161007d578063b67689da11610063578063b67689da146100f4578063d160e4de146100fc578063fa784a4414610104575f80fd5b8063986c5f68146100e4578063b22dc54d146100ec575f80fd5b806305ee8612146100ae57806310332977146100cc5780631de45560146100d45780638995290f146100dc575b5f80fd5b6100b661010c565b6040516100c39190610223565b60405180910390f35b6100b6610193565b6100b66101a5565b6100b66101b7565b6100b66101c9565b6100b66101db565b6100b66101ed565b6100b66101ff565b6100b6610211565b604051603260248201526044015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011a565b6040516021602482015260440161011a565b6040516011602482015260440161011a565b6040516041602482015260440161011a565b6040516031602482015260440161011a565b6040516051602482015260440161011a565b6040516022602482015260440161011a565b6040516012602482015260440161011a565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509291505056fea164736f6c634300081a000a","sourceMap":"162:850:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;740:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;185:86;;;:::i;461:91::-;;;:::i;277:87::-;;;:::i;831:88::-;;;:::i;654:80::-;;;:::i;925:84::-;;;:::i;558:90::-;;;:::i;370:85::-;;;:::i;740:::-;778:47;;820:4;778:47;;;655:36:128;628:18;;778:47:5;;;;;;;;;;;;;;;;;;;;;;;;;740:85;:::o;185:86::-;224:47;;266:4;224:47;;;655:36:128;628:18;;224:47:5;502:195:128;461:91:5;505:47;;547:4;505:47;;;655:36:128;628:18;;505:47:5;502:195:128;277:87:5;317:47;;359:4;317:47;;;655:36:128;628:18;;317:47:5;502:195:128;831:88:5;872:47;;914:4;872:47;;;655:36:128;628:18;;872:47:5;502:195:128;654:80:5;687:47;;729:4;687:47;;;655:36:128;628:18;;687:47:5;502:195:128;925:84:5;962:47;;1004:4;962:47;;;655:36:128;628:18;;962:47:5;502:195:128;558:90:5;601:47;;643:4;601:47;;;655:36:128;628:18;;601:47:5;502:195:128;370:85:5;408:47;;450:4;408:47;;;655:36:128;628:18;;408:47:5;502:195:128;14:483;169:2;158:9;151:21;132:4;201:6;195:13;244:6;239:2;228:9;224:18;217:34;303:6;298:2;290:6;286:15;281:2;270:9;266:18;260:50;359:1;354:2;345:6;334:9;330:22;326:31;319:42;488:2;418:66;413:2;405:6;401:15;397:88;386:9;382:104;378:113;370:121;;;14:483;;;;:::o","linkReferences":{}},"methodIdentifiers":{"arithmeticError()":"8995290f","assertionError()":"10332977","divisionError()":"fa784a44","encodeStorageError()":"d160e4de","enumConversionError()":"1de45560","indexOOBError()":"05ee8612","memOverflowError()":"986c5f68","popError()":"b22dc54d","zeroVarError()":"b67689da"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"arithmeticError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"assertionError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"divisionError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"encodeStorageError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"enumConversionError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"indexOOBError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"memOverflowError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"popError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"zeroVarError","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/StdError.sol":"stdError"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/StdError.sol","id":6436,"exportedSymbols":{"stdError":[6435]},"nodeType":"SourceUnit","src":"129:884:5","nodes":[{"id":6371,"nodeType":"PragmaDirective","src":"129:31:5","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":6435,"nodeType":"ContractDefinition","src":"162:850:5","nodes":[{"id":6378,"nodeType":"VariableDeclaration","src":"185:86:5","nodes":[],"constant":true,"functionSelector":"10332977","mutability":"constant","name":"assertionError","nameLocation":"207:14:5","scope":6435,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6372,"name":"bytes","nodeType":"ElementaryTypeName","src":"185:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"248:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783031","id":6376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":6373,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"224:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"228:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"224:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"224:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6385,"nodeType":"VariableDeclaration","src":"277:87:5","nodes":[],"constant":true,"functionSelector":"8995290f","mutability":"constant","name":"arithmeticError","nameLocation":"299:15:5","scope":6435,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6379,"name":"bytes","nodeType":"ElementaryTypeName","src":"277:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"341:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783131","id":6383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359:4:5","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"0x11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"}],"expression":{"id":6380,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"317:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"321:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"317:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6392,"nodeType":"VariableDeclaration","src":"370:85:5","nodes":[],"constant":true,"functionSelector":"fa784a44","mutability":"constant","name":"divisionError","nameLocation":"392:13:5","scope":6435,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6386,"name":"bytes","nodeType":"ElementaryTypeName","src":"370:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"432:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783132","id":6390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"450:4:5","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"0x12"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"expression":{"id":6387,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"408:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"412:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"408:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"408:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6399,"nodeType":"VariableDeclaration","src":"461:91:5","nodes":[],"constant":true,"functionSelector":"1de45560","mutability":"constant","name":"enumConversionError","nameLocation":"483:19:5","scope":6435,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6393,"name":"bytes","nodeType":"ElementaryTypeName","src":"461:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"529:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783231","id":6397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"547:4:5","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"0x21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"}],"expression":{"id":6394,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"505:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"509:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"505:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"505:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6406,"nodeType":"VariableDeclaration","src":"558:90:5","nodes":[],"constant":true,"functionSelector":"d160e4de","mutability":"constant","name":"encodeStorageError","nameLocation":"580:18:5","scope":6435,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6400,"name":"bytes","nodeType":"ElementaryTypeName","src":"558:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"625:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783232","id":6404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"643:4:5","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"}],"expression":{"id":6401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"601:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"605:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"601:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"601:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6413,"nodeType":"VariableDeclaration","src":"654:80:5","nodes":[],"constant":true,"functionSelector":"b22dc54d","mutability":"constant","name":"popError","nameLocation":"676:8:5","scope":6435,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6407,"name":"bytes","nodeType":"ElementaryTypeName","src":"654:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"711:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783331","id":6411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"729:4:5","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"0x31"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"}],"expression":{"id":6408,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"687:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"691:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"687:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"687:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6420,"nodeType":"VariableDeclaration","src":"740:85:5","nodes":[],"constant":true,"functionSelector":"05ee8612","mutability":"constant","name":"indexOOBError","nameLocation":"762:13:5","scope":6435,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6414,"name":"bytes","nodeType":"ElementaryTypeName","src":"740:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"802:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783332","id":6418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"820:4:5","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"0x32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"}],"expression":{"id":6415,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"778:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"782:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"778:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"778:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6427,"nodeType":"VariableDeclaration","src":"831:88:5","nodes":[],"constant":true,"functionSelector":"986c5f68","mutability":"constant","name":"memOverflowError","nameLocation":"853:16:5","scope":6435,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6421,"name":"bytes","nodeType":"ElementaryTypeName","src":"831:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"896:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783431","id":6425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"914:4:5","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"0x41"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"}],"expression":{"id":6422,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"872:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"876:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"872:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"872:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6434,"nodeType":"VariableDeclaration","src":"925:84:5","nodes":[],"constant":true,"functionSelector":"b67689da","mutability":"constant","name":"zeroVarError","nameLocation":"947:12:5","scope":6435,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6428,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"986:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783531","id":6432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1004:4:5","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"0x51"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"}],"expression":{"id":6429,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"962:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"966:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"962:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"962:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"stdError","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[6435],"name":"stdError","nameLocation":"170:8:5","scope":6436,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":5}

@@ -1,1 +0,1 @@

{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"65:1294:7:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1294:7;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"65:1294:7:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/StdMath.sol":"stdMath"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/StdMath.sol","id":7390,"exportedSymbols":{"stdMath":[7389]},"nodeType":"SourceUnit","src":"32:1328:7","nodes":[{"id":7249,"nodeType":"PragmaDirective","src":"32:31:7","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7389,"nodeType":"ContractDefinition","src":"65:1294:7","nodes":[{"id":7253,"nodeType":"VariableDeclaration","src":"87:115:7","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN","nameLocation":"111:10:7","scope":7389,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7250,"name":"int256","nodeType":"ElementaryTypeName","src":"87:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":{"id":7252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"124:78:7","subExpression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":7251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125:77:7","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const -578...(70 digits omitted)...9968"}},"visibility":"private"},{"id":7279,"nodeType":"FunctionDefinition","src":"209:306:7","nodes":[],"body":{"id":7278,"nodeType":"Block","src":"264:251:7","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7260,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7255,"src":"342:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":7261,"name":"INT256_MIN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7253,"src":"347:10:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"342:15:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7266,"nodeType":"IfStatement","src":"338:130:7","trueBody":{"id":7265,"nodeType":"Block","src":"359:109:7","statements":[{"expression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":7263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"380:77:7","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"functionReturnParameters":7259,"id":7264,"nodeType":"Return","src":"373:84:7"}]}},{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7269,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7255,"src":"493:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":7270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"497:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"493:5:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"505:2:7","subExpression":{"id":7273,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7255,"src":"506:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"493:14:7","trueExpression":{"id":7272,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7255,"src":"501:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7267,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:7","typeDescriptions":{}}},"id":7276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:23:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7259,"id":7277,"nodeType":"Return","src":"478:30:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"218:3:7","parameters":{"id":7256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7255,"mutability":"mutable","name":"a","nameLocation":"229:1:7","nodeType":"VariableDeclaration","scope":7279,"src":"222:8:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7254,"name":"int256","nodeType":"ElementaryTypeName","src":"222:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"221:10:7"},"returnParameters":{"id":7259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7279,"src":"255:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7257,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"254:9:7"},"scope":7389,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7300,"nodeType":"FunctionDefinition","src":"521:114:7","nodes":[],"body":{"id":7299,"nodeType":"Block","src":"590:45:7","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7288,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7281,"src":"607:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7289,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7283,"src":"611:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"607:5:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7294,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7283,"src":"623:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7295,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7281,"src":"627:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"623:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"607:21:7","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7291,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7281,"src":"615:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7292,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7283,"src":"619:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"615:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7287,"id":7298,"nodeType":"Return","src":"600:28:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"530:5:7","parameters":{"id":7284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7281,"mutability":"mutable","name":"a","nameLocation":"544:1:7","nodeType":"VariableDeclaration","scope":7300,"src":"536:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7280,"name":"uint256","nodeType":"ElementaryTypeName","src":"536:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7283,"mutability":"mutable","name":"b","nameLocation":"555:1:7","nodeType":"VariableDeclaration","scope":7300,"src":"547:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7282,"name":"uint256","nodeType":"ElementaryTypeName","src":"547:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"535:22:7"},"returnParameters":{"id":7287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7286,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7300,"src":"581:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7285,"name":"uint256","nodeType":"ElementaryTypeName","src":"581:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:9:7"},"scope":7389,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7336,"nodeType":"FunctionDefinition","src":"641:352:7","nodes":[],"body":{"id":7335,"nodeType":"Block","src":"708:285:7","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7309,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7302,"src":"847:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":7310,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"851:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"847:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":7312,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"846:7:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"856:2:7","subExpression":{"hexValue":"31","id":7313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"857:1:7","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"src":"846:12:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7326,"nodeType":"IfStatement","src":"842:71:7","trueBody":{"id":7325,"nodeType":"Block","src":"860:53:7","statements":[{"expression":{"arguments":[{"arguments":[{"id":7318,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7302,"src":"891:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7317,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7279,"src":"887:3:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"887:6:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":7321,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"899:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7320,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7279,"src":"895:3:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"895:6:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7316,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7300,7336],"referencedDeclaration":7300,"src":"881:5:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":7323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:21:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7308,"id":7324,"nodeType":"Return","src":"874:28:7"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7328,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7302,"src":"975:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7327,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7279,"src":"971:3:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"971:6:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":7331,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"984:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7330,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7279,"src":"980:3:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"980:6:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"971:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7308,"id":7334,"nodeType":"Return","src":"964:22:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"650:5:7","parameters":{"id":7305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7302,"mutability":"mutable","name":"a","nameLocation":"663:1:7","nodeType":"VariableDeclaration","scope":7336,"src":"656:8:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7301,"name":"int256","nodeType":"ElementaryTypeName","src":"656:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7304,"mutability":"mutable","name":"b","nameLocation":"673:1:7","nodeType":"VariableDeclaration","scope":7336,"src":"666:8:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7303,"name":"int256","nodeType":"ElementaryTypeName","src":"666:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"655:20:7"},"returnParameters":{"id":7308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7307,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7336,"src":"699:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7306,"name":"uint256","nodeType":"ElementaryTypeName","src":"699:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"698:9:7"},"scope":7389,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7359,"nodeType":"FunctionDefinition","src":"999:160:7","nodes":[],"body":{"id":7358,"nodeType":"Block","src":"1075:84:7","nodes":[],"statements":[{"assignments":[7346],"declarations":[{"constant":false,"id":7346,"mutability":"mutable","name":"absDelta","nameLocation":"1093:8:7","nodeType":"VariableDeclaration","scope":7358,"src":"1085:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7345,"name":"uint256","nodeType":"ElementaryTypeName","src":"1085:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7351,"initialValue":{"arguments":[{"id":7348,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7338,"src":"1110:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7349,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7340,"src":"1113:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7347,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7300,7336],"referencedDeclaration":7300,"src":"1104:5:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":7350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1104:11:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1085:30:7"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7352,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7346,"src":"1133:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":7353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1144:4:7","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1133:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":7355,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7340,"src":"1151:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1133:19:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7344,"id":7357,"nodeType":"Return","src":"1126:26:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1008:12:7","parameters":{"id":7341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7338,"mutability":"mutable","name":"a","nameLocation":"1029:1:7","nodeType":"VariableDeclaration","scope":7359,"src":"1021:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7337,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7340,"mutability":"mutable","name":"b","nameLocation":"1040:1:7","nodeType":"VariableDeclaration","scope":7359,"src":"1032:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7339,"name":"uint256","nodeType":"ElementaryTypeName","src":"1032:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:22:7"},"returnParameters":{"id":7344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7359,"src":"1066:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7342,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1065:9:7"},"scope":7389,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7388,"nodeType":"FunctionDefinition","src":"1165:192:7","nodes":[],"body":{"id":7387,"nodeType":"Block","src":"1239:118:7","nodes":[],"statements":[{"assignments":[7369],"declarations":[{"constant":false,"id":7369,"mutability":"mutable","name":"absDelta","nameLocation":"1257:8:7","nodeType":"VariableDeclaration","scope":7387,"src":"1249:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7368,"name":"uint256","nodeType":"ElementaryTypeName","src":"1249:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7374,"initialValue":{"arguments":[{"id":7371,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7361,"src":"1274:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7372,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7363,"src":"1277:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7370,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7300,7336],"referencedDeclaration":7336,"src":"1268:5:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":7373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1268:11:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1249:30:7"},{"assignments":[7376],"declarations":[{"constant":false,"id":7376,"mutability":"mutable","name":"absB","nameLocation":"1297:4:7","nodeType":"VariableDeclaration","scope":7387,"src":"1289:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7375,"name":"uint256","nodeType":"ElementaryTypeName","src":"1289:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7380,"initialValue":{"arguments":[{"id":7378,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7363,"src":"1308:1:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7377,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7279,"src":"1304:3:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1304:6:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1289:21:7"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7381,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7369,"src":"1328:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":7382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1339:4:7","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1328:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":7384,"name":"absB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7376,"src":"1346:4:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1328:22:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7367,"id":7386,"nodeType":"Return","src":"1321:29:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1174:12:7","parameters":{"id":7364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7361,"mutability":"mutable","name":"a","nameLocation":"1194:1:7","nodeType":"VariableDeclaration","scope":7388,"src":"1187:8:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7360,"name":"int256","nodeType":"ElementaryTypeName","src":"1187:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7363,"mutability":"mutable","name":"b","nameLocation":"1204:1:7","nodeType":"VariableDeclaration","scope":7388,"src":"1197:8:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7362,"name":"int256","nodeType":"ElementaryTypeName","src":"1197:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1186:20:7"},"returnParameters":{"id":7367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7366,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7388,"src":"1230:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7365,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1229:9:7"},"scope":7389,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdMath","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[7389],"name":"stdMath","nameLocation":"73:7:7","scope":7390,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":7}
{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"65:1294:8:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1294:8;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"65:1294:8:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/StdMath.sol":"stdMath"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/StdMath.sol","id":7429,"exportedSymbols":{"stdMath":[7428]},"nodeType":"SourceUnit","src":"32:1328:8","nodes":[{"id":7288,"nodeType":"PragmaDirective","src":"32:31:8","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7428,"nodeType":"ContractDefinition","src":"65:1294:8","nodes":[{"id":7292,"nodeType":"VariableDeclaration","src":"87:115:8","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN","nameLocation":"111:10:8","scope":7428,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7289,"name":"int256","nodeType":"ElementaryTypeName","src":"87:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":{"id":7291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"124:78:8","subExpression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":7290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125:77:8","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const -578...(70 digits omitted)...9968"}},"visibility":"private"},{"id":7318,"nodeType":"FunctionDefinition","src":"209:306:8","nodes":[],"body":{"id":7317,"nodeType":"Block","src":"264:251:8","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7299,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7294,"src":"342:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":7300,"name":"INT256_MIN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7292,"src":"347:10:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"342:15:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7305,"nodeType":"IfStatement","src":"338:130:8","trueBody":{"id":7304,"nodeType":"Block","src":"359:109:8","statements":[{"expression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":7302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"380:77:8","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"functionReturnParameters":7298,"id":7303,"nodeType":"Return","src":"373:84:8"}]}},{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7308,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7294,"src":"493:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":7309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"497:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"493:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"505:2:8","subExpression":{"id":7312,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7294,"src":"506:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"493:14:8","trueExpression":{"id":7311,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7294,"src":"501:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7306,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:8","typeDescriptions":{}}},"id":7315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:23:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7298,"id":7316,"nodeType":"Return","src":"478:30:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"218:3:8","parameters":{"id":7295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7294,"mutability":"mutable","name":"a","nameLocation":"229:1:8","nodeType":"VariableDeclaration","scope":7318,"src":"222:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7293,"name":"int256","nodeType":"ElementaryTypeName","src":"222:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"221:10:8"},"returnParameters":{"id":7298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7297,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7318,"src":"255:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7296,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"254:9:8"},"scope":7428,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7339,"nodeType":"FunctionDefinition","src":"521:114:8","nodes":[],"body":{"id":7338,"nodeType":"Block","src":"590:45:8","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7327,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7320,"src":"607:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7328,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7322,"src":"611:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"607:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7333,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7322,"src":"623:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7334,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7320,"src":"627:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"623:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"607:21:8","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7330,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7320,"src":"615:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7331,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7322,"src":"619:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"615:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7326,"id":7337,"nodeType":"Return","src":"600:28:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"530:5:8","parameters":{"id":7323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7320,"mutability":"mutable","name":"a","nameLocation":"544:1:8","nodeType":"VariableDeclaration","scope":7339,"src":"536:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7319,"name":"uint256","nodeType":"ElementaryTypeName","src":"536:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7322,"mutability":"mutable","name":"b","nameLocation":"555:1:8","nodeType":"VariableDeclaration","scope":7339,"src":"547:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7321,"name":"uint256","nodeType":"ElementaryTypeName","src":"547:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"535:22:8"},"returnParameters":{"id":7326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7325,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7339,"src":"581:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7324,"name":"uint256","nodeType":"ElementaryTypeName","src":"581:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:9:8"},"scope":7428,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7375,"nodeType":"FunctionDefinition","src":"641:352:8","nodes":[],"body":{"id":7374,"nodeType":"Block","src":"708:285:8","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7348,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7341,"src":"847:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":7349,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7343,"src":"851:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"847:5:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":7351,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"846:7:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"856:2:8","subExpression":{"hexValue":"31","id":7352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"857:1:8","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"src":"846:12:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7365,"nodeType":"IfStatement","src":"842:71:8","trueBody":{"id":7364,"nodeType":"Block","src":"860:53:8","statements":[{"expression":{"arguments":[{"arguments":[{"id":7357,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7341,"src":"891:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7356,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7318,"src":"887:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"887:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":7360,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7343,"src":"899:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7359,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7318,"src":"895:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"895:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7355,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7339,7375],"referencedDeclaration":7339,"src":"881:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":7362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:21:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7347,"id":7363,"nodeType":"Return","src":"874:28:8"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7367,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7341,"src":"975:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7366,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7318,"src":"971:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"971:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":7370,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7343,"src":"984:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7369,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7318,"src":"980:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"980:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"971:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7347,"id":7373,"nodeType":"Return","src":"964:22:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"650:5:8","parameters":{"id":7344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7341,"mutability":"mutable","name":"a","nameLocation":"663:1:8","nodeType":"VariableDeclaration","scope":7375,"src":"656:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7340,"name":"int256","nodeType":"ElementaryTypeName","src":"656:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7343,"mutability":"mutable","name":"b","nameLocation":"673:1:8","nodeType":"VariableDeclaration","scope":7375,"src":"666:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7342,"name":"int256","nodeType":"ElementaryTypeName","src":"666:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"655:20:8"},"returnParameters":{"id":7347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7346,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7375,"src":"699:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7345,"name":"uint256","nodeType":"ElementaryTypeName","src":"699:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"698:9:8"},"scope":7428,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7398,"nodeType":"FunctionDefinition","src":"999:160:8","nodes":[],"body":{"id":7397,"nodeType":"Block","src":"1075:84:8","nodes":[],"statements":[{"assignments":[7385],"declarations":[{"constant":false,"id":7385,"mutability":"mutable","name":"absDelta","nameLocation":"1093:8:8","nodeType":"VariableDeclaration","scope":7397,"src":"1085:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7384,"name":"uint256","nodeType":"ElementaryTypeName","src":"1085:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7390,"initialValue":{"arguments":[{"id":7387,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7377,"src":"1110:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7388,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7379,"src":"1113:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7386,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7339,7375],"referencedDeclaration":7339,"src":"1104:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":7389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1104:11:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1085:30:8"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7391,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7385,"src":"1133:8:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":7392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1144:4:8","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1133:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":7394,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7379,"src":"1151:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1133:19:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7383,"id":7396,"nodeType":"Return","src":"1126:26:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1008:12:8","parameters":{"id":7380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7377,"mutability":"mutable","name":"a","nameLocation":"1029:1:8","nodeType":"VariableDeclaration","scope":7398,"src":"1021:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7376,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7379,"mutability":"mutable","name":"b","nameLocation":"1040:1:8","nodeType":"VariableDeclaration","scope":7398,"src":"1032:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7378,"name":"uint256","nodeType":"ElementaryTypeName","src":"1032:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:22:8"},"returnParameters":{"id":7383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7398,"src":"1066:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7381,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1065:9:8"},"scope":7428,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7427,"nodeType":"FunctionDefinition","src":"1165:192:8","nodes":[],"body":{"id":7426,"nodeType":"Block","src":"1239:118:8","nodes":[],"statements":[{"assignments":[7408],"declarations":[{"constant":false,"id":7408,"mutability":"mutable","name":"absDelta","nameLocation":"1257:8:8","nodeType":"VariableDeclaration","scope":7426,"src":"1249:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7407,"name":"uint256","nodeType":"ElementaryTypeName","src":"1249:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7413,"initialValue":{"arguments":[{"id":7410,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7400,"src":"1274:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7411,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7402,"src":"1277:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7409,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7339,7375],"referencedDeclaration":7375,"src":"1268:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":7412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1268:11:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1249:30:8"},{"assignments":[7415],"declarations":[{"constant":false,"id":7415,"mutability":"mutable","name":"absB","nameLocation":"1297:4:8","nodeType":"VariableDeclaration","scope":7426,"src":"1289:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7414,"name":"uint256","nodeType":"ElementaryTypeName","src":"1289:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7419,"initialValue":{"arguments":[{"id":7417,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7402,"src":"1308:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7416,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7318,"src":"1304:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1304:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1289:21:8"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7420,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7408,"src":"1328:8:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":7421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1339:4:8","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1328:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":7423,"name":"absB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7415,"src":"1346:4:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1328:22:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7406,"id":7425,"nodeType":"Return","src":"1321:29:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1174:12:8","parameters":{"id":7403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7400,"mutability":"mutable","name":"a","nameLocation":"1194:1:8","nodeType":"VariableDeclaration","scope":7427,"src":"1187:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7399,"name":"int256","nodeType":"ElementaryTypeName","src":"1187:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7402,"mutability":"mutable","name":"b","nameLocation":"1204:1:8","nodeType":"VariableDeclaration","scope":7427,"src":"1197:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7401,"name":"int256","nodeType":"ElementaryTypeName","src":"1197:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1186:20:8"},"returnParameters":{"id":7406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7405,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7427,"src":"1230:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7404,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1229:9:8"},"scope":7428,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdMath","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[7428],"name":"stdMath","nameLocation":"73:7:8","scope":7429,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":8}

@@ -1,1 +0,1 @@

{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x2ba8ee7e4a68efd4cd75331b229874f4d4dc0a1010599afad88fc2cae5cb5d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77ce1968d402b0414fec0a344b59c275d0706d4df5ac6293d605dd2202016345\",\"dweb:/ipfs/QmSVy4N4F15NzEuSpmvwRj1nTfAwaJpng7CywUBWLnWC4w\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x4a5853bb9688c4e1c65626036cddd8ea2af84ef1046b704ddc3782d84a892410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c1024e6aac9657312fcfcf5c3dee62c22edf9f74a1065e6924c4ec710ecafa\",\"dweb:/ipfs/QmRNURoTUkd6DiZnf8yY8o3stJpVQBifopdSpQgP9RhvRr\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/Test.sol":"Test"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270","urls":["bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe","dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x2ba8ee7e4a68efd4cd75331b229874f4d4dc0a1010599afad88fc2cae5cb5d4a","urls":["bzz-raw://77ce1968d402b0414fec0a344b59c275d0706d4df5ac6293d605dd2202016345","dweb:/ipfs/QmSVy4N4F15NzEuSpmvwRj1nTfAwaJpng7CywUBWLnWC4w"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x4a5853bb9688c4e1c65626036cddd8ea2af84ef1046b704ddc3782d84a892410","urls":["bzz-raw://09c1024e6aac9657312fcfcf5c3dee62c22edf9f74a1065e6924c4ec710ecafa","dweb:/ipfs/QmRNURoTUkd6DiZnf8yY8o3stJpVQBifopdSpQgP9RhvRr"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":61,"contract":"lib/forge-std/src/Test.sol:Test","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)7427_storage"},{"astId":218,"contract":"lib/forge-std/src/Test.sol:Test","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":2719,"contract":"lib/forge-std/src/Test.sol:Test","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":2740,"contract":"lib/forge-std/src/Test.sol:Test","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2735_storage)"},{"astId":2744,"contract":"lib/forge-std/src/Test.sol:Test","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2748,"contract":"lib/forge-std/src/Test.sol:Test","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2751,"contract":"lib/forge-std/src/Test.sol:Test","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3509,"contract":"lib/forge-std/src/Test.sol:Test","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":5546,"contract":"lib/forge-std/src/Test.sol:Test","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)7427_storage"},{"astId":6414,"contract":"lib/forge-std/src/Test.sol:Test","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":6417,"contract":"lib/forge-std/src/Test.sol:Test","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":6420,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":6423,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":6426,"contract":"lib/forge-std/src/Test.sol:Test","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":6429,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":6433,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)6405_storage)dyn_storage"},{"astId":6437,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)6405_storage)dyn_storage"},{"astId":6441,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)6411_storage)dyn_storage"},{"astId":12026,"contract":"lib/forge-std/src/Test.sol:Test","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)6411_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)6411_storage"},"t_array(t_struct(FuzzSelector)6405_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)6405_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage))"},"t_mapping(t_bytes32,t_struct(FindData)7402_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)7402_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)7402_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2735_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2735_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2735_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2728,"contract":"lib/forge-std/src/Test.sol:Test","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2730,"contract":"lib/forge-std/src/Test.sol:Test","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2732,"contract":"lib/forge-std/src/Test.sol:Test","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2734,"contract":"lib/forge-std/src/Test.sol:Test","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)7402_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":7395,"contract":"lib/forge-std/src/Test.sol:Test","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":7397,"contract":"lib/forge-std/src/Test.sol:Test","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":7399,"contract":"lib/forge-std/src/Test.sol:Test","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":7401,"contract":"lib/forge-std/src/Test.sol:Test","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)6411_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":6407,"contract":"lib/forge-std/src/Test.sol:Test","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6410,"contract":"lib/forge-std/src/Test.sol:Test","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)6405_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":6401,"contract":"lib/forge-std/src/Test.sol:Test","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6404,"contract":"lib/forge-std/src/Test.sol:Test","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)7427_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":7411,"contract":"lib/forge-std/src/Test.sol:Test","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7402_storage)))"},{"astId":7414,"contract":"lib/forge-std/src/Test.sol:Test","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":7416,"contract":"lib/forge-std/src/Test.sol:Test","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":7418,"contract":"lib/forge-std/src/Test.sol:Test","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":7420,"contract":"lib/forge-std/src/Test.sol:Test","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":7422,"contract":"lib/forge-std/src/Test.sol:Test","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":7424,"contract":"lib/forge-std/src/Test.sol:Test","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":7426,"contract":"lib/forge-std/src/Test.sol:Test","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/Test.sol","id":12028,"exportedSymbols":{"StdAssertions":[2695],"StdChains":[3477],"StdCheats":[6330],"StdInvariant":[6655],"StdStorage":[7427],"StdStyle":[10597],"StdUtils":[11975],"Test":[12027],"TestBase":[65],"Vm":[15818],"console":[23882],"console2":[32007],"safeconsole":[46732],"stdError":[6396],"stdJson":[7247],"stdMath":[7389],"stdStorage":[9386],"stdToml":[11189]},"nodeType":"SourceUnit","src":"32:1014:12","nodes":[{"id":11977,"nodeType":"PragmaDirective","src":"32:31:12","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":11978,"nodeType":"PragmaDirective","src":"65:33:12","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":11980,"nodeType":"ImportDirective","src":"160:38:12","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":23883,"symbolAliases":[{"foreign":{"id":11979,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23882,"src":"168:7:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11982,"nodeType":"ImportDirective","src":"199:40:12","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":32008,"symbolAliases":[{"foreign":{"id":11981,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32007,"src":"207:8:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11984,"nodeType":"ImportDirective","src":"240:46:12","nodes":[],"absolutePath":"lib/forge-std/src/safeconsole.sol","file":"./safeconsole.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":46733,"symbolAliases":[{"foreign":{"id":11983,"name":"safeconsole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46732,"src":"248:11:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11986,"nodeType":"ImportDirective","src":"287:50:12","nodes":[],"absolutePath":"lib/forge-std/src/StdAssertions.sol","file":"./StdAssertions.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":2696,"symbolAliases":[{"foreign":{"id":11985,"name":"StdAssertions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2695,"src":"295:13:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11988,"nodeType":"ImportDirective","src":"338:42:12","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":3478,"symbolAliases":[{"foreign":{"id":11987,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3477,"src":"346:9:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11990,"nodeType":"ImportDirective","src":"381:42:12","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":6331,"symbolAliases":[{"foreign":{"id":11989,"name":"StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6330,"src":"389:9:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11992,"nodeType":"ImportDirective","src":"424:40:12","nodes":[],"absolutePath":"lib/forge-std/src/StdError.sol","file":"./StdError.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":6397,"symbolAliases":[{"foreign":{"id":11991,"name":"stdError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6396,"src":"432:8:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11994,"nodeType":"ImportDirective","src":"465:48:12","nodes":[],"absolutePath":"lib/forge-std/src/StdInvariant.sol","file":"./StdInvariant.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":6656,"symbolAliases":[{"foreign":{"id":11993,"name":"StdInvariant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6655,"src":"473:12:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11996,"nodeType":"ImportDirective","src":"514:38:12","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":7248,"symbolAliases":[{"foreign":{"id":11995,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7247,"src":"522:7:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11998,"nodeType":"ImportDirective","src":"553:38:12","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":7390,"symbolAliases":[{"foreign":{"id":11997,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7389,"src":"561:7:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12001,"nodeType":"ImportDirective","src":"592:56:12","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":9387,"symbolAliases":[{"foreign":{"id":11999,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7427,"src":"600:10:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":12000,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9386,"src":"612:10:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12003,"nodeType":"ImportDirective","src":"649:40:12","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":10598,"symbolAliases":[{"foreign":{"id":12002,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10597,"src":"657:8:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12005,"nodeType":"ImportDirective","src":"690:38:12","nodes":[],"absolutePath":"lib/forge-std/src/StdToml.sol","file":"./StdToml.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":11190,"symbolAliases":[{"foreign":{"id":12004,"name":"stdToml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11189,"src":"698:7:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12007,"nodeType":"ImportDirective","src":"729:40:12","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":11976,"symbolAliases":[{"foreign":{"id":12006,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11975,"src":"737:8:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12009,"nodeType":"ImportDirective","src":"770:28:12","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":15819,"symbolAliases":[{"foreign":{"id":12008,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"778:2:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12011,"nodeType":"ImportDirective","src":"820:36:12","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":12028,"sourceUnit":75,"symbolAliases":[{"foreign":{"id":12010,"name":"TestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65,"src":"828:8:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12027,"nodeType":"ContractDefinition","src":"873:172:12","nodes":[{"id":12026,"nodeType":"VariableDeclaration","src":"1016:26:12","nodes":[],"constant":false,"functionSelector":"fa7626d4","mutability":"mutable","name":"IS_TEST","nameLocation":"1028:7:12","scope":12027,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12024,"name":"bool","nodeType":"ElementaryTypeName","src":"1016:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":12025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1038:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":12012,"name":"TestBase","nameLocations":["899:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":65,"src":"899:8:12"},"id":12013,"nodeType":"InheritanceSpecifier","src":"899:8:12"},{"baseName":{"id":12014,"name":"StdAssertions","nameLocations":["909:13:12"],"nodeType":"IdentifierPath","referencedDeclaration":2695,"src":"909:13:12"},"id":12015,"nodeType":"InheritanceSpecifier","src":"909:13:12"},{"baseName":{"id":12016,"name":"StdChains","nameLocations":["924:9:12"],"nodeType":"IdentifierPath","referencedDeclaration":3477,"src":"924:9:12"},"id":12017,"nodeType":"InheritanceSpecifier","src":"924:9:12"},{"baseName":{"id":12018,"name":"StdCheats","nameLocations":["935:9:12"],"nodeType":"IdentifierPath","referencedDeclaration":6330,"src":"935:9:12"},"id":12019,"nodeType":"InheritanceSpecifier","src":"935:9:12"},{"baseName":{"id":12020,"name":"StdInvariant","nameLocations":["946:12:12"],"nodeType":"IdentifierPath","referencedDeclaration":6655,"src":"946:12:12"},"id":12021,"nodeType":"InheritanceSpecifier","src":"946:12:12"},{"baseName":{"id":12022,"name":"StdUtils","nameLocations":["960:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":11975,"src":"960:8:12"},"id":12023,"nodeType":"InheritanceSpecifier","src":"960:8:12"}],"canonicalName":"Test","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[12027,11975,6655,6330,5537,3477,2695,65,62],"name":"Test","nameLocation":"891:4:12","scope":12028,"usedErrors":[],"usedEvents":[100,104,108,112,116,120,124,128,134,140,148,156,162,168,174,180,185,190,195,202,209,216]}],"license":"MIT"},"id":12}
{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x2ba8ee7e4a68efd4cd75331b229874f4d4dc0a1010599afad88fc2cae5cb5d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77ce1968d402b0414fec0a344b59c275d0706d4df5ac6293d605dd2202016345\",\"dweb:/ipfs/QmSVy4N4F15NzEuSpmvwRj1nTfAwaJpng7CywUBWLnWC4w\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x4a5853bb9688c4e1c65626036cddd8ea2af84ef1046b704ddc3782d84a892410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c1024e6aac9657312fcfcf5c3dee62c22edf9f74a1065e6924c4ec710ecafa\",\"dweb:/ipfs/QmRNURoTUkd6DiZnf8yY8o3stJpVQBifopdSpQgP9RhvRr\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/Test.sol":"Test"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270","urls":["bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe","dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x2ba8ee7e4a68efd4cd75331b229874f4d4dc0a1010599afad88fc2cae5cb5d4a","urls":["bzz-raw://77ce1968d402b0414fec0a344b59c275d0706d4df5ac6293d605dd2202016345","dweb:/ipfs/QmSVy4N4F15NzEuSpmvwRj1nTfAwaJpng7CywUBWLnWC4w"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x4a5853bb9688c4e1c65626036cddd8ea2af84ef1046b704ddc3782d84a892410","urls":["bzz-raw://09c1024e6aac9657312fcfcf5c3dee62c22edf9f74a1065e6924c4ec710ecafa","dweb:/ipfs/QmRNURoTUkd6DiZnf8yY8o3stJpVQBifopdSpQgP9RhvRr"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":61,"contract":"lib/forge-std/src/Test.sol:Test","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)7466_storage"},{"astId":257,"contract":"lib/forge-std/src/Test.sol:Test","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":2758,"contract":"lib/forge-std/src/Test.sol:Test","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":2779,"contract":"lib/forge-std/src/Test.sol:Test","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2774_storage)"},{"astId":2783,"contract":"lib/forge-std/src/Test.sol:Test","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2787,"contract":"lib/forge-std/src/Test.sol:Test","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2790,"contract":"lib/forge-std/src/Test.sol:Test","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":3548,"contract":"lib/forge-std/src/Test.sol:Test","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":5585,"contract":"lib/forge-std/src/Test.sol:Test","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)7466_storage"},{"astId":6453,"contract":"lib/forge-std/src/Test.sol:Test","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":6456,"contract":"lib/forge-std/src/Test.sol:Test","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":6459,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":6462,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":6465,"contract":"lib/forge-std/src/Test.sol:Test","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":6468,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":6472,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)6444_storage)dyn_storage"},{"astId":6476,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)6444_storage)dyn_storage"},{"astId":6480,"contract":"lib/forge-std/src/Test.sol:Test","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)6450_storage)dyn_storage"},{"astId":12065,"contract":"lib/forge-std/src/Test.sol:Test","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)6450_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)6450_storage"},"t_array(t_struct(FuzzSelector)6444_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)6444_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage))"},"t_mapping(t_bytes32,t_struct(FindData)7441_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)7441_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)7441_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2774_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2774_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2774_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2767,"contract":"lib/forge-std/src/Test.sol:Test","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2769,"contract":"lib/forge-std/src/Test.sol:Test","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2771,"contract":"lib/forge-std/src/Test.sol:Test","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2773,"contract":"lib/forge-std/src/Test.sol:Test","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)7441_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":7434,"contract":"lib/forge-std/src/Test.sol:Test","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":7436,"contract":"lib/forge-std/src/Test.sol:Test","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":7438,"contract":"lib/forge-std/src/Test.sol:Test","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":7440,"contract":"lib/forge-std/src/Test.sol:Test","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)6450_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":6446,"contract":"lib/forge-std/src/Test.sol:Test","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6449,"contract":"lib/forge-std/src/Test.sol:Test","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)6444_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":6440,"contract":"lib/forge-std/src/Test.sol:Test","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":6443,"contract":"lib/forge-std/src/Test.sol:Test","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)7466_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":7450,"contract":"lib/forge-std/src/Test.sol:Test","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)7441_storage)))"},{"astId":7453,"contract":"lib/forge-std/src/Test.sol:Test","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":7455,"contract":"lib/forge-std/src/Test.sol:Test","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":7457,"contract":"lib/forge-std/src/Test.sol:Test","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":7459,"contract":"lib/forge-std/src/Test.sol:Test","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":7461,"contract":"lib/forge-std/src/Test.sol:Test","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":7463,"contract":"lib/forge-std/src/Test.sol:Test","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":7465,"contract":"lib/forge-std/src/Test.sol:Test","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/Test.sol","id":12067,"exportedSymbols":{"StdAssertions":[2734],"StdChains":[3516],"StdCheats":[6369],"StdInvariant":[6694],"StdStorage":[7466],"StdStyle":[10636],"StdUtils":[12014],"Test":[12066],"TestBase":[65],"Vm":[15857],"console":[23921],"console2":[32046],"safeconsole":[46771],"stdError":[6435],"stdJson":[7286],"stdMath":[7428],"stdStorage":[9425],"stdToml":[11228]},"nodeType":"SourceUnit","src":"32:1014:13","nodes":[{"id":12016,"nodeType":"PragmaDirective","src":"32:31:13","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":12017,"nodeType":"PragmaDirective","src":"65:33:13","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":12019,"nodeType":"ImportDirective","src":"160:38:13","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":23922,"symbolAliases":[{"foreign":{"id":12018,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23921,"src":"168:7:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12021,"nodeType":"ImportDirective","src":"199:40:13","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":32047,"symbolAliases":[{"foreign":{"id":12020,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32046,"src":"207:8:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12023,"nodeType":"ImportDirective","src":"240:46:13","nodes":[],"absolutePath":"lib/forge-std/src/safeconsole.sol","file":"./safeconsole.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":46772,"symbolAliases":[{"foreign":{"id":12022,"name":"safeconsole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46771,"src":"248:11:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12025,"nodeType":"ImportDirective","src":"287:50:13","nodes":[],"absolutePath":"lib/forge-std/src/StdAssertions.sol","file":"./StdAssertions.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":2735,"symbolAliases":[{"foreign":{"id":12024,"name":"StdAssertions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2734,"src":"295:13:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12027,"nodeType":"ImportDirective","src":"338:42:13","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":3517,"symbolAliases":[{"foreign":{"id":12026,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3516,"src":"346:9:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12029,"nodeType":"ImportDirective","src":"381:42:13","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":6370,"symbolAliases":[{"foreign":{"id":12028,"name":"StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6369,"src":"389:9:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12031,"nodeType":"ImportDirective","src":"424:40:13","nodes":[],"absolutePath":"lib/forge-std/src/StdError.sol","file":"./StdError.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":6436,"symbolAliases":[{"foreign":{"id":12030,"name":"stdError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6435,"src":"432:8:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12033,"nodeType":"ImportDirective","src":"465:48:13","nodes":[],"absolutePath":"lib/forge-std/src/StdInvariant.sol","file":"./StdInvariant.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":6695,"symbolAliases":[{"foreign":{"id":12032,"name":"StdInvariant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6694,"src":"473:12:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12035,"nodeType":"ImportDirective","src":"514:38:13","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":7287,"symbolAliases":[{"foreign":{"id":12034,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"522:7:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12037,"nodeType":"ImportDirective","src":"553:38:13","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":7429,"symbolAliases":[{"foreign":{"id":12036,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7428,"src":"561:7:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12040,"nodeType":"ImportDirective","src":"592:56:13","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":9426,"symbolAliases":[{"foreign":{"id":12038,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7466,"src":"600:10:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":12039,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9425,"src":"612:10:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12042,"nodeType":"ImportDirective","src":"649:40:13","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":10637,"symbolAliases":[{"foreign":{"id":12041,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10636,"src":"657:8:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12044,"nodeType":"ImportDirective","src":"690:38:13","nodes":[],"absolutePath":"lib/forge-std/src/StdToml.sol","file":"./StdToml.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":11229,"symbolAliases":[{"foreign":{"id":12043,"name":"stdToml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11228,"src":"698:7:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12046,"nodeType":"ImportDirective","src":"729:40:13","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":12015,"symbolAliases":[{"foreign":{"id":12045,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12014,"src":"737:8:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12048,"nodeType":"ImportDirective","src":"770:28:13","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":15858,"symbolAliases":[{"foreign":{"id":12047,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"778:2:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12050,"nodeType":"ImportDirective","src":"820:36:13","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":12067,"sourceUnit":75,"symbolAliases":[{"foreign":{"id":12049,"name":"TestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65,"src":"828:8:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12066,"nodeType":"ContractDefinition","src":"873:172:13","nodes":[{"id":12065,"nodeType":"VariableDeclaration","src":"1016:26:13","nodes":[],"constant":false,"functionSelector":"fa7626d4","mutability":"mutable","name":"IS_TEST","nameLocation":"1028:7:13","scope":12066,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12063,"name":"bool","nodeType":"ElementaryTypeName","src":"1016:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":12064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1038:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":12051,"name":"TestBase","nameLocations":["899:8:13"],"nodeType":"IdentifierPath","referencedDeclaration":65,"src":"899:8:13"},"id":12052,"nodeType":"InheritanceSpecifier","src":"899:8:13"},{"baseName":{"id":12053,"name":"StdAssertions","nameLocations":["909:13:13"],"nodeType":"IdentifierPath","referencedDeclaration":2734,"src":"909:13:13"},"id":12054,"nodeType":"InheritanceSpecifier","src":"909:13:13"},{"baseName":{"id":12055,"name":"StdChains","nameLocations":["924:9:13"],"nodeType":"IdentifierPath","referencedDeclaration":3516,"src":"924:9:13"},"id":12056,"nodeType":"InheritanceSpecifier","src":"924:9:13"},{"baseName":{"id":12057,"name":"StdCheats","nameLocations":["935:9:13"],"nodeType":"IdentifierPath","referencedDeclaration":6369,"src":"935:9:13"},"id":12058,"nodeType":"InheritanceSpecifier","src":"935:9:13"},{"baseName":{"id":12059,"name":"StdInvariant","nameLocations":["946:12:13"],"nodeType":"IdentifierPath","referencedDeclaration":6694,"src":"946:12:13"},"id":12060,"nodeType":"InheritanceSpecifier","src":"946:12:13"},{"baseName":{"id":12061,"name":"StdUtils","nameLocations":["960:8:13"],"nodeType":"IdentifierPath","referencedDeclaration":12014,"src":"960:8:13"},"id":12062,"nodeType":"InheritanceSpecifier","src":"960:8:13"}],"canonicalName":"Test","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[12066,12014,6694,6369,5576,3516,2734,65,62],"name":"Test","nameLocation":"891:4:13","scope":12067,"usedErrors":[],"usedEvents":[139,143,147,151,155,159,163,167,173,179,187,195,201,207,213,219,224,229,234,241,248,255]}],"license":"MIT"},"id":13}

@@ -1,1 +0,1 @@

{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"129:1978:29:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;129:1978:29;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"129:1978:29:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"TransientContext\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library for transient storage.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/TransientContext.sol\":\"TransientContext\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/libraries/TransientContext.sol\":{\"keccak256\":\"0x7ae128d512768e928b3cd2d7604fcded205e5a99465360985fb0aaf985e888f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://555255ed8deedb8cb090d5f979b51356a98c12b259ec07664de33280d24738fd\",\"dweb:/ipfs/QmPUAfTpoqqUDEaRC2gRPr2CFbKSaz8J4yBQgLc9wM6Hss\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/libraries/TransientContext.sol":"TransientContext"},"evmVersion":"cancun","libraries":{}},"sources":{"src/libraries/TransientContext.sol":{"keccak256":"0x7ae128d512768e928b3cd2d7604fcded205e5a99465360985fb0aaf985e888f8","urls":["bzz-raw://555255ed8deedb8cb090d5f979b51356a98c12b259ec07664de33280d24738fd","dweb:/ipfs/QmPUAfTpoqqUDEaRC2gRPr2CFbKSaz8J4yBQgLc9wM6Hss"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Library for transient storage."},"devdoc":{"version":1,"kind":"dev","title":"TransientContext"},"ast":{"absolutePath":"src/libraries/TransientContext.sol","id":47848,"exportedSymbols":{"TransientContext":[47830],"TransientReentrancyAware":[47847]},"nodeType":"SourceUnit","src":"32:2496:29","nodes":[{"id":47784,"nodeType":"PragmaDirective","src":"32:24:29","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":47830,"nodeType":"ContractDefinition","src":"129:1978:29","nodes":[{"id":47789,"nodeType":"VariableDeclaration","src":"278:110:29","nodes":[],"constant":true,"documentation":{"id":47786,"nodeType":"StructuredDocumentation","src":"160:113:29","text":"@notice Slot for call depth.\n Equal to bytes32(uint256(keccak256(\"transient.calldepth\")) - 1)."},"mutability":"constant","name":"CALL_DEPTH_SLOT","nameLocation":"304:15:29","scope":47830,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837613734666431363837363366643238306561656333626364326664363264306537393530323761646338313833613639336334393761376332623130623563","id":47788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322:66:29","typeDescriptions":{"typeIdentifier":"t_rational_55388868535875649073547711647255167311425207837940097558979256947742365256540_by_1","typeString":"int_const 5538...(69 digits omitted)...6540"},"value":"0x7a74fd168763fd280eaec3bcd2fd62d0e795027adc8183a693c497a7c2b10b5c"},"visibility":"internal"},{"id":47797,"nodeType":"FunctionDefinition","src":"479:165:29","nodes":[],"body":{"id":47796,"nodeType":"Block","src":"543:101:29","nodes":[],"statements":[{"AST":{"nativeSrc":"578:60:29","nodeType":"YulBlock","src":"578:60:29","statements":[{"nativeSrc":"592:36:29","nodeType":"YulAssignment","src":"592:36:29","value":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"612:15:29","nodeType":"YulIdentifier","src":"612:15:29"}],"functionName":{"name":"tload","nativeSrc":"606:5:29","nodeType":"YulIdentifier","src":"606:5:29"},"nativeSrc":"606:22:29","nodeType":"YulFunctionCall","src":"606:22:29"},"variableNames":[{"name":"callDepth_","nativeSrc":"592:10:29","nodeType":"YulIdentifier","src":"592:10:29"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":47789,"isOffset":false,"isSlot":false,"src":"612:15:29","valueSize":1},{"declaration":47793,"isOffset":false,"isSlot":false,"src":"592:10:29","valueSize":1}],"flags":["memory-safe"],"id":47795,"nodeType":"InlineAssembly","src":"553:85:29"}]},"documentation":{"id":47790,"nodeType":"StructuredDocumentation","src":"395:79:29","text":"@notice Gets the call depth.\n @return callDepth_ Current call depth."},"implemented":true,"kind":"function","modifiers":[],"name":"callDepth","nameLocation":"488:9:29","parameters":{"id":47791,"nodeType":"ParameterList","parameters":[],"src":"497:2:29"},"returnParameters":{"id":47794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47793,"mutability":"mutable","name":"callDepth_","nameLocation":"531:10:29","nodeType":"VariableDeclaration","scope":47797,"src":"523:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47792,"name":"uint256","nodeType":"ElementaryTypeName","src":"523:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"522:20:29"},"scope":47830,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47807,"nodeType":"FunctionDefinition","src":"810:241:29","nodes":[],"body":{"id":47806,"nodeType":"Block","src":"877:174:29","nodes":[],"statements":[{"AST":{"nativeSrc":"912:133:29","nodeType":"YulBlock","src":"912:133:29","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"933:1:29","nodeType":"YulLiteral","src":"933:1:29","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"942:15:29","nodeType":"YulIdentifier","src":"942:15:29"}],"functionName":{"name":"tload","nativeSrc":"936:5:29","nodeType":"YulIdentifier","src":"936:5:29"},"nativeSrc":"936:22:29","nodeType":"YulFunctionCall","src":"936:22:29"}],"functionName":{"name":"mstore","nativeSrc":"926:6:29","nodeType":"YulIdentifier","src":"926:6:29"},"nativeSrc":"926:33:29","nodeType":"YulFunctionCall","src":"926:33:29"},"nativeSrc":"926:33:29","nodeType":"YulExpressionStatement","src":"926:33:29"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"979:2:29","nodeType":"YulLiteral","src":"979:2:29","type":"","value":"32"},{"name":"_slot","nativeSrc":"983:5:29","nodeType":"YulIdentifier","src":"983:5:29"}],"functionName":{"name":"mstore","nativeSrc":"972:6:29","nodeType":"YulIdentifier","src":"972:6:29"},"nativeSrc":"972:17:29","nodeType":"YulFunctionCall","src":"972:17:29"},"nativeSrc":"972:17:29","nodeType":"YulExpressionStatement","src":"972:17:29"},{"nativeSrc":"1002:33:29","nodeType":"YulAssignment","src":"1002:33:29","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1028:1:29","nodeType":"YulLiteral","src":"1028:1:29","type":"","value":"0"},{"kind":"number","nativeSrc":"1031:2:29","nodeType":"YulLiteral","src":"1031:2:29","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1018:9:29","nodeType":"YulIdentifier","src":"1018:9:29"},"nativeSrc":"1018:16:29","nodeType":"YulFunctionCall","src":"1018:16:29"}],"functionName":{"name":"tload","nativeSrc":"1012:5:29","nodeType":"YulIdentifier","src":"1012:5:29"},"nativeSrc":"1012:23:29","nodeType":"YulFunctionCall","src":"1012:23:29"},"variableNames":[{"name":"value_","nativeSrc":"1002:6:29","nodeType":"YulIdentifier","src":"1002:6:29"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":47789,"isOffset":false,"isSlot":false,"src":"942:15:29","valueSize":1},{"declaration":47800,"isOffset":false,"isSlot":false,"src":"983:5:29","valueSize":1},{"declaration":47803,"isOffset":false,"isSlot":false,"src":"1002:6:29","valueSize":1}],"flags":["memory-safe"],"id":47805,"nodeType":"InlineAssembly","src":"887:158:29"}]},"documentation":{"id":47798,"nodeType":"StructuredDocumentation","src":"650:155:29","text":"@notice Gets value in transient storage for a slot at the current call depth.\n @param _slot Slot to get.\n @return value_ Transient value."},"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"819:3:29","parameters":{"id":47801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47800,"mutability":"mutable","name":"_slot","nameLocation":"831:5:29","nodeType":"VariableDeclaration","scope":47807,"src":"823:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47799,"name":"bytes32","nodeType":"ElementaryTypeName","src":"823:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"822:15:29"},"returnParameters":{"id":47804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47803,"mutability":"mutable","name":"value_","nameLocation":"869:6:29","nodeType":"VariableDeclaration","scope":47807,"src":"861:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47802,"name":"uint256","nodeType":"ElementaryTypeName","src":"861:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"860:16:29"},"scope":47830,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47817,"nodeType":"FunctionDefinition","src":"1220:226:29","nodes":[],"body":{"id":47816,"nodeType":"Block","src":"1273:173:29","nodes":[],"statements":[{"AST":{"nativeSrc":"1308:132:29","nodeType":"YulBlock","src":"1308:132:29","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1329:1:29","nodeType":"YulLiteral","src":"1329:1:29","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1338:15:29","nodeType":"YulIdentifier","src":"1338:15:29"}],"functionName":{"name":"tload","nativeSrc":"1332:5:29","nodeType":"YulIdentifier","src":"1332:5:29"},"nativeSrc":"1332:22:29","nodeType":"YulFunctionCall","src":"1332:22:29"}],"functionName":{"name":"mstore","nativeSrc":"1322:6:29","nodeType":"YulIdentifier","src":"1322:6:29"},"nativeSrc":"1322:33:29","nodeType":"YulFunctionCall","src":"1322:33:29"},"nativeSrc":"1322:33:29","nodeType":"YulExpressionStatement","src":"1322:33:29"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1375:2:29","nodeType":"YulLiteral","src":"1375:2:29","type":"","value":"32"},{"name":"_slot","nativeSrc":"1379:5:29","nodeType":"YulIdentifier","src":"1379:5:29"}],"functionName":{"name":"mstore","nativeSrc":"1368:6:29","nodeType":"YulIdentifier","src":"1368:6:29"},"nativeSrc":"1368:17:29","nodeType":"YulFunctionCall","src":"1368:17:29"},"nativeSrc":"1368:17:29","nodeType":"YulExpressionStatement","src":"1368:17:29"},{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1415:1:29","nodeType":"YulLiteral","src":"1415:1:29","type":"","value":"0"},{"kind":"number","nativeSrc":"1418:2:29","nodeType":"YulLiteral","src":"1418:2:29","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1405:9:29","nodeType":"YulIdentifier","src":"1405:9:29"},"nativeSrc":"1405:16:29","nodeType":"YulFunctionCall","src":"1405:16:29"},{"name":"_value","nativeSrc":"1423:6:29","nodeType":"YulIdentifier","src":"1423:6:29"}],"functionName":{"name":"tstore","nativeSrc":"1398:6:29","nodeType":"YulIdentifier","src":"1398:6:29"},"nativeSrc":"1398:32:29","nodeType":"YulFunctionCall","src":"1398:32:29"},"nativeSrc":"1398:32:29","nodeType":"YulExpressionStatement","src":"1398:32:29"}]},"evmVersion":"cancun","externalReferences":[{"declaration":47789,"isOffset":false,"isSlot":false,"src":"1338:15:29","valueSize":1},{"declaration":47810,"isOffset":false,"isSlot":false,"src":"1379:5:29","valueSize":1},{"declaration":47812,"isOffset":false,"isSlot":false,"src":"1423:6:29","valueSize":1}],"flags":["memory-safe"],"id":47815,"nodeType":"InlineAssembly","src":"1283:157:29"}]},"documentation":{"id":47808,"nodeType":"StructuredDocumentation","src":"1057:158:29","text":"@notice Sets a value in transient storage for a slot at the current call depth.\n @param _slot Slot to set.\n @param _value Value to set."},"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"1229:3:29","parameters":{"id":47813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47810,"mutability":"mutable","name":"_slot","nameLocation":"1241:5:29","nodeType":"VariableDeclaration","scope":47817,"src":"1233:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47809,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1233:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47812,"mutability":"mutable","name":"_value","nameLocation":"1256:6:29","nodeType":"VariableDeclaration","scope":47817,"src":"1248:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47811,"name":"uint256","nodeType":"ElementaryTypeName","src":"1248:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1232:31:29"},"returnParameters":{"id":47814,"nodeType":"ParameterList","parameters":[],"src":"1273:0:29"},"scope":47830,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":47823,"nodeType":"FunctionDefinition","src":"1625:150:29","nodes":[],"body":{"id":47822,"nodeType":"Block","src":"1655:120:29","nodes":[],"statements":[{"AST":{"nativeSrc":"1690:79:29","nodeType":"YulBlock","src":"1690:79:29","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1711:15:29","nodeType":"YulIdentifier","src":"1711:15:29"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1738:15:29","nodeType":"YulIdentifier","src":"1738:15:29"}],"functionName":{"name":"tload","nativeSrc":"1732:5:29","nodeType":"YulIdentifier","src":"1732:5:29"},"nativeSrc":"1732:22:29","nodeType":"YulFunctionCall","src":"1732:22:29"},{"kind":"number","nativeSrc":"1756:1:29","nodeType":"YulLiteral","src":"1756:1:29","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"1728:3:29","nodeType":"YulIdentifier","src":"1728:3:29"},"nativeSrc":"1728:30:29","nodeType":"YulFunctionCall","src":"1728:30:29"}],"functionName":{"name":"tstore","nativeSrc":"1704:6:29","nodeType":"YulIdentifier","src":"1704:6:29"},"nativeSrc":"1704:55:29","nodeType":"YulFunctionCall","src":"1704:55:29"},"nativeSrc":"1704:55:29","nodeType":"YulExpressionStatement","src":"1704:55:29"}]},"evmVersion":"cancun","externalReferences":[{"declaration":47789,"isOffset":false,"isSlot":false,"src":"1711:15:29","valueSize":1},{"declaration":47789,"isOffset":false,"isSlot":false,"src":"1738:15:29","valueSize":1}],"flags":["memory-safe"],"id":47821,"nodeType":"InlineAssembly","src":"1665:104:29"}]},"documentation":{"id":47818,"nodeType":"StructuredDocumentation","src":"1452:168:29","text":"@notice Increments call depth.\n This function can overflow. However, this is ok because there's still\n only one value stored per slot."},"implemented":true,"kind":"function","modifiers":[],"name":"increment","nameLocation":"1634:9:29","parameters":{"id":47819,"nodeType":"ParameterList","parameters":[],"src":"1643:2:29"},"returnParameters":{"id":47820,"nodeType":"ParameterList","parameters":[],"src":"1655:0:29"},"scope":47830,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":47829,"nodeType":"FunctionDefinition","src":"1955:150:29","nodes":[],"body":{"id":47828,"nodeType":"Block","src":"1985:120:29","nodes":[],"statements":[{"AST":{"nativeSrc":"2020:79:29","nodeType":"YulBlock","src":"2020:79:29","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2041:15:29","nodeType":"YulIdentifier","src":"2041:15:29"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2068:15:29","nodeType":"YulIdentifier","src":"2068:15:29"}],"functionName":{"name":"tload","nativeSrc":"2062:5:29","nodeType":"YulIdentifier","src":"2062:5:29"},"nativeSrc":"2062:22:29","nodeType":"YulFunctionCall","src":"2062:22:29"},{"kind":"number","nativeSrc":"2086:1:29","nodeType":"YulLiteral","src":"2086:1:29","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"2058:3:29","nodeType":"YulIdentifier","src":"2058:3:29"},"nativeSrc":"2058:30:29","nodeType":"YulFunctionCall","src":"2058:30:29"}],"functionName":{"name":"tstore","nativeSrc":"2034:6:29","nodeType":"YulIdentifier","src":"2034:6:29"},"nativeSrc":"2034:55:29","nodeType":"YulFunctionCall","src":"2034:55:29"},"nativeSrc":"2034:55:29","nodeType":"YulExpressionStatement","src":"2034:55:29"}]},"evmVersion":"cancun","externalReferences":[{"declaration":47789,"isOffset":false,"isSlot":false,"src":"2041:15:29","valueSize":1},{"declaration":47789,"isOffset":false,"isSlot":false,"src":"2068:15:29","valueSize":1}],"flags":["memory-safe"],"id":47827,"nodeType":"InlineAssembly","src":"1995:104:29"}]},"documentation":{"id":47824,"nodeType":"StructuredDocumentation","src":"1781:169:29","text":"@notice Decrements call depth.\n This function can underflow. However, this is ok because there's still\n only one value stored per slot."},"implemented":true,"kind":"function","modifiers":[],"name":"decrement","nameLocation":"1964:9:29","parameters":{"id":47825,"nodeType":"ParameterList","parameters":[],"src":"1973:2:29"},"returnParameters":{"id":47826,"nodeType":"ParameterList","parameters":[],"src":"1985:0:29"},"scope":47830,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientContext","contractDependencies":[],"contractKind":"library","documentation":{"id":47785,"nodeType":"StructuredDocumentation","src":"58:71:29","text":"@title TransientContext\n @notice Library for transient storage."},"fullyImplemented":true,"linearizedBaseContracts":[47830],"name":"TransientContext","nameLocation":"137:16:29","scope":47848,"usedErrors":[],"usedEvents":[]},{"id":47847,"nodeType":"ContractDefinition","src":"2303:224:29","nodes":[{"id":47846,"nodeType":"ModifierDefinition","src":"2405:120:29","nodes":[],"body":{"id":47845,"nodeType":"Block","src":"2431:94:29","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":47834,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47830,"src":"2441:16:29","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$47830_$","typeString":"type(library TransientContext)"}},"id":47836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2458:9:29","memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":47823,"src":"2441:26:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":47837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2441:28:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47838,"nodeType":"ExpressionStatement","src":"2441:28:29"},{"id":47839,"nodeType":"PlaceholderStatement","src":"2479:1:29"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":47840,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47830,"src":"2490:16:29","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$47830_$","typeString":"type(library TransientContext)"}},"id":47842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:9:29","memberName":"decrement","nodeType":"MemberAccess","referencedDeclaration":47829,"src":"2490:26:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":47843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2490:28:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47844,"nodeType":"ExpressionStatement","src":"2490:28:29"}]},"documentation":{"id":47832,"nodeType":"StructuredDocumentation","src":"2343:57:29","text":"@notice Modifier to make a function reentrancy-aware."},"name":"reentrantAware","nameLocation":"2414:14:29","parameters":{"id":47833,"nodeType":"ParameterList","parameters":[],"src":"2428:2:29"},"virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientReentrancyAware","contractDependencies":[],"contractKind":"contract","documentation":{"id":47831,"nodeType":"StructuredDocumentation","src":"2109:194:29","text":"@title TransientReentrancyAware\n @notice Reentrancy-aware modifier for transient storage, which increments and\n decrements the call depth when entering and exiting a function."},"fullyImplemented":true,"linearizedBaseContracts":[47847],"name":"TransientReentrancyAware","nameLocation":"2312:24:29","scope":47848,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":29}
{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"129:1978:102:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;129:1978:102;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"129:1978:102:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"TransientContext\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Library for transient storage.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/TransientContext.sol\":\"TransientContext\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/libraries/TransientContext.sol\":{\"keccak256\":\"0x7ae128d512768e928b3cd2d7604fcded205e5a99465360985fb0aaf985e888f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://555255ed8deedb8cb090d5f979b51356a98c12b259ec07664de33280d24738fd\",\"dweb:/ipfs/QmPUAfTpoqqUDEaRC2gRPr2CFbKSaz8J4yBQgLc9wM6Hss\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/libraries/TransientContext.sol":"TransientContext"},"evmVersion":"cancun","libraries":{}},"sources":{"src/libraries/TransientContext.sol":{"keccak256":"0x7ae128d512768e928b3cd2d7604fcded205e5a99465360985fb0aaf985e888f8","urls":["bzz-raw://555255ed8deedb8cb090d5f979b51356a98c12b259ec07664de33280d24738fd","dweb:/ipfs/QmPUAfTpoqqUDEaRC2gRPr2CFbKSaz8J4yBQgLc9wM6Hss"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Library for transient storage."},"devdoc":{"version":1,"kind":"dev","title":"TransientContext"},"ast":{"absolutePath":"src/libraries/TransientContext.sol","id":61015,"exportedSymbols":{"TransientContext":[60997],"TransientReentrancyAware":[61014]},"nodeType":"SourceUnit","src":"32:2496:102","nodes":[{"id":60951,"nodeType":"PragmaDirective","src":"32:24:102","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":60997,"nodeType":"ContractDefinition","src":"129:1978:102","nodes":[{"id":60956,"nodeType":"VariableDeclaration","src":"278:110:102","nodes":[],"constant":true,"documentation":{"id":60953,"nodeType":"StructuredDocumentation","src":"160:113:102","text":"@notice Slot for call depth.\n Equal to bytes32(uint256(keccak256(\"transient.calldepth\")) - 1)."},"mutability":"constant","name":"CALL_DEPTH_SLOT","nameLocation":"304:15:102","scope":60997,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278:7:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837613734666431363837363366643238306561656333626364326664363264306537393530323761646338313833613639336334393761376332623130623563","id":60955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322:66:102","typeDescriptions":{"typeIdentifier":"t_rational_55388868535875649073547711647255167311425207837940097558979256947742365256540_by_1","typeString":"int_const 5538...(69 digits omitted)...6540"},"value":"0x7a74fd168763fd280eaec3bcd2fd62d0e795027adc8183a693c497a7c2b10b5c"},"visibility":"internal"},{"id":60964,"nodeType":"FunctionDefinition","src":"479:165:102","nodes":[],"body":{"id":60963,"nodeType":"Block","src":"543:101:102","nodes":[],"statements":[{"AST":{"nativeSrc":"578:60:102","nodeType":"YulBlock","src":"578:60:102","statements":[{"nativeSrc":"592:36:102","nodeType":"YulAssignment","src":"592:36:102","value":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"612:15:102","nodeType":"YulIdentifier","src":"612:15:102"}],"functionName":{"name":"tload","nativeSrc":"606:5:102","nodeType":"YulIdentifier","src":"606:5:102"},"nativeSrc":"606:22:102","nodeType":"YulFunctionCall","src":"606:22:102"},"variableNames":[{"name":"callDepth_","nativeSrc":"592:10:102","nodeType":"YulIdentifier","src":"592:10:102"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":60956,"isOffset":false,"isSlot":false,"src":"612:15:102","valueSize":1},{"declaration":60960,"isOffset":false,"isSlot":false,"src":"592:10:102","valueSize":1}],"flags":["memory-safe"],"id":60962,"nodeType":"InlineAssembly","src":"553:85:102"}]},"documentation":{"id":60957,"nodeType":"StructuredDocumentation","src":"395:79:102","text":"@notice Gets the call depth.\n @return callDepth_ Current call depth."},"implemented":true,"kind":"function","modifiers":[],"name":"callDepth","nameLocation":"488:9:102","parameters":{"id":60958,"nodeType":"ParameterList","parameters":[],"src":"497:2:102"},"returnParameters":{"id":60961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60960,"mutability":"mutable","name":"callDepth_","nameLocation":"531:10:102","nodeType":"VariableDeclaration","scope":60964,"src":"523:18:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60959,"name":"uint256","nodeType":"ElementaryTypeName","src":"523:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"522:20:102"},"scope":60997,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":60974,"nodeType":"FunctionDefinition","src":"810:241:102","nodes":[],"body":{"id":60973,"nodeType":"Block","src":"877:174:102","nodes":[],"statements":[{"AST":{"nativeSrc":"912:133:102","nodeType":"YulBlock","src":"912:133:102","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"933:1:102","nodeType":"YulLiteral","src":"933:1:102","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"942:15:102","nodeType":"YulIdentifier","src":"942:15:102"}],"functionName":{"name":"tload","nativeSrc":"936:5:102","nodeType":"YulIdentifier","src":"936:5:102"},"nativeSrc":"936:22:102","nodeType":"YulFunctionCall","src":"936:22:102"}],"functionName":{"name":"mstore","nativeSrc":"926:6:102","nodeType":"YulIdentifier","src":"926:6:102"},"nativeSrc":"926:33:102","nodeType":"YulFunctionCall","src":"926:33:102"},"nativeSrc":"926:33:102","nodeType":"YulExpressionStatement","src":"926:33:102"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"979:2:102","nodeType":"YulLiteral","src":"979:2:102","type":"","value":"32"},{"name":"_slot","nativeSrc":"983:5:102","nodeType":"YulIdentifier","src":"983:5:102"}],"functionName":{"name":"mstore","nativeSrc":"972:6:102","nodeType":"YulIdentifier","src":"972:6:102"},"nativeSrc":"972:17:102","nodeType":"YulFunctionCall","src":"972:17:102"},"nativeSrc":"972:17:102","nodeType":"YulExpressionStatement","src":"972:17:102"},{"nativeSrc":"1002:33:102","nodeType":"YulAssignment","src":"1002:33:102","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1028:1:102","nodeType":"YulLiteral","src":"1028:1:102","type":"","value":"0"},{"kind":"number","nativeSrc":"1031:2:102","nodeType":"YulLiteral","src":"1031:2:102","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1018:9:102","nodeType":"YulIdentifier","src":"1018:9:102"},"nativeSrc":"1018:16:102","nodeType":"YulFunctionCall","src":"1018:16:102"}],"functionName":{"name":"tload","nativeSrc":"1012:5:102","nodeType":"YulIdentifier","src":"1012:5:102"},"nativeSrc":"1012:23:102","nodeType":"YulFunctionCall","src":"1012:23:102"},"variableNames":[{"name":"value_","nativeSrc":"1002:6:102","nodeType":"YulIdentifier","src":"1002:6:102"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":60956,"isOffset":false,"isSlot":false,"src":"942:15:102","valueSize":1},{"declaration":60967,"isOffset":false,"isSlot":false,"src":"983:5:102","valueSize":1},{"declaration":60970,"isOffset":false,"isSlot":false,"src":"1002:6:102","valueSize":1}],"flags":["memory-safe"],"id":60972,"nodeType":"InlineAssembly","src":"887:158:102"}]},"documentation":{"id":60965,"nodeType":"StructuredDocumentation","src":"650:155:102","text":"@notice Gets value in transient storage for a slot at the current call depth.\n @param _slot Slot to get.\n @return value_ Transient value."},"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"819:3:102","parameters":{"id":60968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60967,"mutability":"mutable","name":"_slot","nameLocation":"831:5:102","nodeType":"VariableDeclaration","scope":60974,"src":"823:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"823:7:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"822:15:102"},"returnParameters":{"id":60971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60970,"mutability":"mutable","name":"value_","nameLocation":"869:6:102","nodeType":"VariableDeclaration","scope":60974,"src":"861:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60969,"name":"uint256","nodeType":"ElementaryTypeName","src":"861:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"860:16:102"},"scope":60997,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":60984,"nodeType":"FunctionDefinition","src":"1220:226:102","nodes":[],"body":{"id":60983,"nodeType":"Block","src":"1273:173:102","nodes":[],"statements":[{"AST":{"nativeSrc":"1308:132:102","nodeType":"YulBlock","src":"1308:132:102","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1329:1:102","nodeType":"YulLiteral","src":"1329:1:102","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1338:15:102","nodeType":"YulIdentifier","src":"1338:15:102"}],"functionName":{"name":"tload","nativeSrc":"1332:5:102","nodeType":"YulIdentifier","src":"1332:5:102"},"nativeSrc":"1332:22:102","nodeType":"YulFunctionCall","src":"1332:22:102"}],"functionName":{"name":"mstore","nativeSrc":"1322:6:102","nodeType":"YulIdentifier","src":"1322:6:102"},"nativeSrc":"1322:33:102","nodeType":"YulFunctionCall","src":"1322:33:102"},"nativeSrc":"1322:33:102","nodeType":"YulExpressionStatement","src":"1322:33:102"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1375:2:102","nodeType":"YulLiteral","src":"1375:2:102","type":"","value":"32"},{"name":"_slot","nativeSrc":"1379:5:102","nodeType":"YulIdentifier","src":"1379:5:102"}],"functionName":{"name":"mstore","nativeSrc":"1368:6:102","nodeType":"YulIdentifier","src":"1368:6:102"},"nativeSrc":"1368:17:102","nodeType":"YulFunctionCall","src":"1368:17:102"},"nativeSrc":"1368:17:102","nodeType":"YulExpressionStatement","src":"1368:17:102"},{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1415:1:102","nodeType":"YulLiteral","src":"1415:1:102","type":"","value":"0"},{"kind":"number","nativeSrc":"1418:2:102","nodeType":"YulLiteral","src":"1418:2:102","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1405:9:102","nodeType":"YulIdentifier","src":"1405:9:102"},"nativeSrc":"1405:16:102","nodeType":"YulFunctionCall","src":"1405:16:102"},{"name":"_value","nativeSrc":"1423:6:102","nodeType":"YulIdentifier","src":"1423:6:102"}],"functionName":{"name":"tstore","nativeSrc":"1398:6:102","nodeType":"YulIdentifier","src":"1398:6:102"},"nativeSrc":"1398:32:102","nodeType":"YulFunctionCall","src":"1398:32:102"},"nativeSrc":"1398:32:102","nodeType":"YulExpressionStatement","src":"1398:32:102"}]},"evmVersion":"cancun","externalReferences":[{"declaration":60956,"isOffset":false,"isSlot":false,"src":"1338:15:102","valueSize":1},{"declaration":60977,"isOffset":false,"isSlot":false,"src":"1379:5:102","valueSize":1},{"declaration":60979,"isOffset":false,"isSlot":false,"src":"1423:6:102","valueSize":1}],"flags":["memory-safe"],"id":60982,"nodeType":"InlineAssembly","src":"1283:157:102"}]},"documentation":{"id":60975,"nodeType":"StructuredDocumentation","src":"1057:158:102","text":"@notice Sets a value in transient storage for a slot at the current call depth.\n @param _slot Slot to set.\n @param _value Value to set."},"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"1229:3:102","parameters":{"id":60980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60977,"mutability":"mutable","name":"_slot","nameLocation":"1241:5:102","nodeType":"VariableDeclaration","scope":60984,"src":"1233:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1233:7:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":60979,"mutability":"mutable","name":"_value","nameLocation":"1256:6:102","nodeType":"VariableDeclaration","scope":60984,"src":"1248:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60978,"name":"uint256","nodeType":"ElementaryTypeName","src":"1248:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1232:31:102"},"returnParameters":{"id":60981,"nodeType":"ParameterList","parameters":[],"src":"1273:0:102"},"scope":60997,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":60990,"nodeType":"FunctionDefinition","src":"1625:150:102","nodes":[],"body":{"id":60989,"nodeType":"Block","src":"1655:120:102","nodes":[],"statements":[{"AST":{"nativeSrc":"1690:79:102","nodeType":"YulBlock","src":"1690:79:102","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1711:15:102","nodeType":"YulIdentifier","src":"1711:15:102"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1738:15:102","nodeType":"YulIdentifier","src":"1738:15:102"}],"functionName":{"name":"tload","nativeSrc":"1732:5:102","nodeType":"YulIdentifier","src":"1732:5:102"},"nativeSrc":"1732:22:102","nodeType":"YulFunctionCall","src":"1732:22:102"},{"kind":"number","nativeSrc":"1756:1:102","nodeType":"YulLiteral","src":"1756:1:102","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"1728:3:102","nodeType":"YulIdentifier","src":"1728:3:102"},"nativeSrc":"1728:30:102","nodeType":"YulFunctionCall","src":"1728:30:102"}],"functionName":{"name":"tstore","nativeSrc":"1704:6:102","nodeType":"YulIdentifier","src":"1704:6:102"},"nativeSrc":"1704:55:102","nodeType":"YulFunctionCall","src":"1704:55:102"},"nativeSrc":"1704:55:102","nodeType":"YulExpressionStatement","src":"1704:55:102"}]},"evmVersion":"cancun","externalReferences":[{"declaration":60956,"isOffset":false,"isSlot":false,"src":"1711:15:102","valueSize":1},{"declaration":60956,"isOffset":false,"isSlot":false,"src":"1738:15:102","valueSize":1}],"flags":["memory-safe"],"id":60988,"nodeType":"InlineAssembly","src":"1665:104:102"}]},"documentation":{"id":60985,"nodeType":"StructuredDocumentation","src":"1452:168:102","text":"@notice Increments call depth.\n This function can overflow. However, this is ok because there's still\n only one value stored per slot."},"implemented":true,"kind":"function","modifiers":[],"name":"increment","nameLocation":"1634:9:102","parameters":{"id":60986,"nodeType":"ParameterList","parameters":[],"src":"1643:2:102"},"returnParameters":{"id":60987,"nodeType":"ParameterList","parameters":[],"src":"1655:0:102"},"scope":60997,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":60996,"nodeType":"FunctionDefinition","src":"1955:150:102","nodes":[],"body":{"id":60995,"nodeType":"Block","src":"1985:120:102","nodes":[],"statements":[{"AST":{"nativeSrc":"2020:79:102","nodeType":"YulBlock","src":"2020:79:102","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2041:15:102","nodeType":"YulIdentifier","src":"2041:15:102"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2068:15:102","nodeType":"YulIdentifier","src":"2068:15:102"}],"functionName":{"name":"tload","nativeSrc":"2062:5:102","nodeType":"YulIdentifier","src":"2062:5:102"},"nativeSrc":"2062:22:102","nodeType":"YulFunctionCall","src":"2062:22:102"},{"kind":"number","nativeSrc":"2086:1:102","nodeType":"YulLiteral","src":"2086:1:102","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"2058:3:102","nodeType":"YulIdentifier","src":"2058:3:102"},"nativeSrc":"2058:30:102","nodeType":"YulFunctionCall","src":"2058:30:102"}],"functionName":{"name":"tstore","nativeSrc":"2034:6:102","nodeType":"YulIdentifier","src":"2034:6:102"},"nativeSrc":"2034:55:102","nodeType":"YulFunctionCall","src":"2034:55:102"},"nativeSrc":"2034:55:102","nodeType":"YulExpressionStatement","src":"2034:55:102"}]},"evmVersion":"cancun","externalReferences":[{"declaration":60956,"isOffset":false,"isSlot":false,"src":"2041:15:102","valueSize":1},{"declaration":60956,"isOffset":false,"isSlot":false,"src":"2068:15:102","valueSize":1}],"flags":["memory-safe"],"id":60994,"nodeType":"InlineAssembly","src":"1995:104:102"}]},"documentation":{"id":60991,"nodeType":"StructuredDocumentation","src":"1781:169:102","text":"@notice Decrements call depth.\n This function can underflow. However, this is ok because there's still\n only one value stored per slot."},"implemented":true,"kind":"function","modifiers":[],"name":"decrement","nameLocation":"1964:9:102","parameters":{"id":60992,"nodeType":"ParameterList","parameters":[],"src":"1973:2:102"},"returnParameters":{"id":60993,"nodeType":"ParameterList","parameters":[],"src":"1985:0:102"},"scope":60997,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientContext","contractDependencies":[],"contractKind":"library","documentation":{"id":60952,"nodeType":"StructuredDocumentation","src":"58:71:102","text":"@title TransientContext\n @notice Library for transient storage."},"fullyImplemented":true,"linearizedBaseContracts":[60997],"name":"TransientContext","nameLocation":"137:16:102","scope":61015,"usedErrors":[],"usedEvents":[]},{"id":61014,"nodeType":"ContractDefinition","src":"2303:224:102","nodes":[{"id":61013,"nodeType":"ModifierDefinition","src":"2405:120:102","nodes":[],"body":{"id":61012,"nodeType":"Block","src":"2431:94:102","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61001,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60997,"src":"2441:16:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$60997_$","typeString":"type(library TransientContext)"}},"id":61003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2458:9:102","memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":60990,"src":"2441:26:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2441:28:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61005,"nodeType":"ExpressionStatement","src":"2441:28:102"},{"id":61006,"nodeType":"PlaceholderStatement","src":"2479:1:102"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61007,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60997,"src":"2490:16:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$60997_$","typeString":"type(library TransientContext)"}},"id":61009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:9:102","memberName":"decrement","nodeType":"MemberAccess","referencedDeclaration":60996,"src":"2490:26:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2490:28:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61011,"nodeType":"ExpressionStatement","src":"2490:28:102"}]},"documentation":{"id":60999,"nodeType":"StructuredDocumentation","src":"2343:57:102","text":"@notice Modifier to make a function reentrancy-aware."},"name":"reentrantAware","nameLocation":"2414:14:102","parameters":{"id":61000,"nodeType":"ParameterList","parameters":[],"src":"2428:2:102"},"virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientReentrancyAware","contractDependencies":[],"contractKind":"contract","documentation":{"id":60998,"nodeType":"StructuredDocumentation","src":"2109:194:102","text":"@title TransientReentrancyAware\n @notice Reentrancy-aware modifier for transient storage, which increments and\n decrements the call depth when entering and exiting a function."},"fullyImplemented":true,"linearizedBaseContracts":[61014],"name":"TransientReentrancyAware","nameLocation":"2312:24:102","scope":61015,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":102}

@@ -1,1 +0,1 @@

{"abi":[],"bytecode":{"object":"0x6080604052348015600e575f80fd5b50601580601a5f395ff3fe60806040525f80fdfea164736f6c634300081a000a","sourceMap":"2303:224:29:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040525f80fdfea164736f6c634300081a000a","sourceMap":"2303:224:29:-:0;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"TransientReentrancyAware\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Reentrancy-aware modifier for transient storage, which increments and decrements the call depth when entering and exiting a function.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/TransientContext.sol\":\"TransientReentrancyAware\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/libraries/TransientContext.sol\":{\"keccak256\":\"0x7ae128d512768e928b3cd2d7604fcded205e5a99465360985fb0aaf985e888f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://555255ed8deedb8cb090d5f979b51356a98c12b259ec07664de33280d24738fd\",\"dweb:/ipfs/QmPUAfTpoqqUDEaRC2gRPr2CFbKSaz8J4yBQgLc9wM6Hss\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/libraries/TransientContext.sol":"TransientReentrancyAware"},"evmVersion":"cancun","libraries":{}},"sources":{"src/libraries/TransientContext.sol":{"keccak256":"0x7ae128d512768e928b3cd2d7604fcded205e5a99465360985fb0aaf985e888f8","urls":["bzz-raw://555255ed8deedb8cb090d5f979b51356a98c12b259ec07664de33280d24738fd","dweb:/ipfs/QmPUAfTpoqqUDEaRC2gRPr2CFbKSaz8J4yBQgLc9wM6Hss"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Reentrancy-aware modifier for transient storage, which increments and decrements the call depth when entering and exiting a function."},"devdoc":{"version":1,"kind":"dev","title":"TransientReentrancyAware"},"ast":{"absolutePath":"src/libraries/TransientContext.sol","id":47848,"exportedSymbols":{"TransientContext":[47830],"TransientReentrancyAware":[47847]},"nodeType":"SourceUnit","src":"32:2496:29","nodes":[{"id":47784,"nodeType":"PragmaDirective","src":"32:24:29","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":47830,"nodeType":"ContractDefinition","src":"129:1978:29","nodes":[{"id":47789,"nodeType":"VariableDeclaration","src":"278:110:29","nodes":[],"constant":true,"documentation":{"id":47786,"nodeType":"StructuredDocumentation","src":"160:113:29","text":"@notice Slot for call depth.\n Equal to bytes32(uint256(keccak256(\"transient.calldepth\")) - 1)."},"mutability":"constant","name":"CALL_DEPTH_SLOT","nameLocation":"304:15:29","scope":47830,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47787,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837613734666431363837363366643238306561656333626364326664363264306537393530323761646338313833613639336334393761376332623130623563","id":47788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322:66:29","typeDescriptions":{"typeIdentifier":"t_rational_55388868535875649073547711647255167311425207837940097558979256947742365256540_by_1","typeString":"int_const 5538...(69 digits omitted)...6540"},"value":"0x7a74fd168763fd280eaec3bcd2fd62d0e795027adc8183a693c497a7c2b10b5c"},"visibility":"internal"},{"id":47797,"nodeType":"FunctionDefinition","src":"479:165:29","nodes":[],"body":{"id":47796,"nodeType":"Block","src":"543:101:29","nodes":[],"statements":[{"AST":{"nativeSrc":"578:60:29","nodeType":"YulBlock","src":"578:60:29","statements":[{"nativeSrc":"592:36:29","nodeType":"YulAssignment","src":"592:36:29","value":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"612:15:29","nodeType":"YulIdentifier","src":"612:15:29"}],"functionName":{"name":"tload","nativeSrc":"606:5:29","nodeType":"YulIdentifier","src":"606:5:29"},"nativeSrc":"606:22:29","nodeType":"YulFunctionCall","src":"606:22:29"},"variableNames":[{"name":"callDepth_","nativeSrc":"592:10:29","nodeType":"YulIdentifier","src":"592:10:29"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":47789,"isOffset":false,"isSlot":false,"src":"612:15:29","valueSize":1},{"declaration":47793,"isOffset":false,"isSlot":false,"src":"592:10:29","valueSize":1}],"flags":["memory-safe"],"id":47795,"nodeType":"InlineAssembly","src":"553:85:29"}]},"documentation":{"id":47790,"nodeType":"StructuredDocumentation","src":"395:79:29","text":"@notice Gets the call depth.\n @return callDepth_ Current call depth."},"implemented":true,"kind":"function","modifiers":[],"name":"callDepth","nameLocation":"488:9:29","parameters":{"id":47791,"nodeType":"ParameterList","parameters":[],"src":"497:2:29"},"returnParameters":{"id":47794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47793,"mutability":"mutable","name":"callDepth_","nameLocation":"531:10:29","nodeType":"VariableDeclaration","scope":47797,"src":"523:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47792,"name":"uint256","nodeType":"ElementaryTypeName","src":"523:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"522:20:29"},"scope":47830,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47807,"nodeType":"FunctionDefinition","src":"810:241:29","nodes":[],"body":{"id":47806,"nodeType":"Block","src":"877:174:29","nodes":[],"statements":[{"AST":{"nativeSrc":"912:133:29","nodeType":"YulBlock","src":"912:133:29","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"933:1:29","nodeType":"YulLiteral","src":"933:1:29","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"942:15:29","nodeType":"YulIdentifier","src":"942:15:29"}],"functionName":{"name":"tload","nativeSrc":"936:5:29","nodeType":"YulIdentifier","src":"936:5:29"},"nativeSrc":"936:22:29","nodeType":"YulFunctionCall","src":"936:22:29"}],"functionName":{"name":"mstore","nativeSrc":"926:6:29","nodeType":"YulIdentifier","src":"926:6:29"},"nativeSrc":"926:33:29","nodeType":"YulFunctionCall","src":"926:33:29"},"nativeSrc":"926:33:29","nodeType":"YulExpressionStatement","src":"926:33:29"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"979:2:29","nodeType":"YulLiteral","src":"979:2:29","type":"","value":"32"},{"name":"_slot","nativeSrc":"983:5:29","nodeType":"YulIdentifier","src":"983:5:29"}],"functionName":{"name":"mstore","nativeSrc":"972:6:29","nodeType":"YulIdentifier","src":"972:6:29"},"nativeSrc":"972:17:29","nodeType":"YulFunctionCall","src":"972:17:29"},"nativeSrc":"972:17:29","nodeType":"YulExpressionStatement","src":"972:17:29"},{"nativeSrc":"1002:33:29","nodeType":"YulAssignment","src":"1002:33:29","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1028:1:29","nodeType":"YulLiteral","src":"1028:1:29","type":"","value":"0"},{"kind":"number","nativeSrc":"1031:2:29","nodeType":"YulLiteral","src":"1031:2:29","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1018:9:29","nodeType":"YulIdentifier","src":"1018:9:29"},"nativeSrc":"1018:16:29","nodeType":"YulFunctionCall","src":"1018:16:29"}],"functionName":{"name":"tload","nativeSrc":"1012:5:29","nodeType":"YulIdentifier","src":"1012:5:29"},"nativeSrc":"1012:23:29","nodeType":"YulFunctionCall","src":"1012:23:29"},"variableNames":[{"name":"value_","nativeSrc":"1002:6:29","nodeType":"YulIdentifier","src":"1002:6:29"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":47789,"isOffset":false,"isSlot":false,"src":"942:15:29","valueSize":1},{"declaration":47800,"isOffset":false,"isSlot":false,"src":"983:5:29","valueSize":1},{"declaration":47803,"isOffset":false,"isSlot":false,"src":"1002:6:29","valueSize":1}],"flags":["memory-safe"],"id":47805,"nodeType":"InlineAssembly","src":"887:158:29"}]},"documentation":{"id":47798,"nodeType":"StructuredDocumentation","src":"650:155:29","text":"@notice Gets value in transient storage for a slot at the current call depth.\n @param _slot Slot to get.\n @return value_ Transient value."},"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"819:3:29","parameters":{"id":47801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47800,"mutability":"mutable","name":"_slot","nameLocation":"831:5:29","nodeType":"VariableDeclaration","scope":47807,"src":"823:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47799,"name":"bytes32","nodeType":"ElementaryTypeName","src":"823:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"822:15:29"},"returnParameters":{"id":47804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47803,"mutability":"mutable","name":"value_","nameLocation":"869:6:29","nodeType":"VariableDeclaration","scope":47807,"src":"861:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47802,"name":"uint256","nodeType":"ElementaryTypeName","src":"861:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"860:16:29"},"scope":47830,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47817,"nodeType":"FunctionDefinition","src":"1220:226:29","nodes":[],"body":{"id":47816,"nodeType":"Block","src":"1273:173:29","nodes":[],"statements":[{"AST":{"nativeSrc":"1308:132:29","nodeType":"YulBlock","src":"1308:132:29","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1329:1:29","nodeType":"YulLiteral","src":"1329:1:29","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1338:15:29","nodeType":"YulIdentifier","src":"1338:15:29"}],"functionName":{"name":"tload","nativeSrc":"1332:5:29","nodeType":"YulIdentifier","src":"1332:5:29"},"nativeSrc":"1332:22:29","nodeType":"YulFunctionCall","src":"1332:22:29"}],"functionName":{"name":"mstore","nativeSrc":"1322:6:29","nodeType":"YulIdentifier","src":"1322:6:29"},"nativeSrc":"1322:33:29","nodeType":"YulFunctionCall","src":"1322:33:29"},"nativeSrc":"1322:33:29","nodeType":"YulExpressionStatement","src":"1322:33:29"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1375:2:29","nodeType":"YulLiteral","src":"1375:2:29","type":"","value":"32"},{"name":"_slot","nativeSrc":"1379:5:29","nodeType":"YulIdentifier","src":"1379:5:29"}],"functionName":{"name":"mstore","nativeSrc":"1368:6:29","nodeType":"YulIdentifier","src":"1368:6:29"},"nativeSrc":"1368:17:29","nodeType":"YulFunctionCall","src":"1368:17:29"},"nativeSrc":"1368:17:29","nodeType":"YulExpressionStatement","src":"1368:17:29"},{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1415:1:29","nodeType":"YulLiteral","src":"1415:1:29","type":"","value":"0"},{"kind":"number","nativeSrc":"1418:2:29","nodeType":"YulLiteral","src":"1418:2:29","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1405:9:29","nodeType":"YulIdentifier","src":"1405:9:29"},"nativeSrc":"1405:16:29","nodeType":"YulFunctionCall","src":"1405:16:29"},{"name":"_value","nativeSrc":"1423:6:29","nodeType":"YulIdentifier","src":"1423:6:29"}],"functionName":{"name":"tstore","nativeSrc":"1398:6:29","nodeType":"YulIdentifier","src":"1398:6:29"},"nativeSrc":"1398:32:29","nodeType":"YulFunctionCall","src":"1398:32:29"},"nativeSrc":"1398:32:29","nodeType":"YulExpressionStatement","src":"1398:32:29"}]},"evmVersion":"cancun","externalReferences":[{"declaration":47789,"isOffset":false,"isSlot":false,"src":"1338:15:29","valueSize":1},{"declaration":47810,"isOffset":false,"isSlot":false,"src":"1379:5:29","valueSize":1},{"declaration":47812,"isOffset":false,"isSlot":false,"src":"1423:6:29","valueSize":1}],"flags":["memory-safe"],"id":47815,"nodeType":"InlineAssembly","src":"1283:157:29"}]},"documentation":{"id":47808,"nodeType":"StructuredDocumentation","src":"1057:158:29","text":"@notice Sets a value in transient storage for a slot at the current call depth.\n @param _slot Slot to set.\n @param _value Value to set."},"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"1229:3:29","parameters":{"id":47813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47810,"mutability":"mutable","name":"_slot","nameLocation":"1241:5:29","nodeType":"VariableDeclaration","scope":47817,"src":"1233:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47809,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1233:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47812,"mutability":"mutable","name":"_value","nameLocation":"1256:6:29","nodeType":"VariableDeclaration","scope":47817,"src":"1248:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47811,"name":"uint256","nodeType":"ElementaryTypeName","src":"1248:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1232:31:29"},"returnParameters":{"id":47814,"nodeType":"ParameterList","parameters":[],"src":"1273:0:29"},"scope":47830,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":47823,"nodeType":"FunctionDefinition","src":"1625:150:29","nodes":[],"body":{"id":47822,"nodeType":"Block","src":"1655:120:29","nodes":[],"statements":[{"AST":{"nativeSrc":"1690:79:29","nodeType":"YulBlock","src":"1690:79:29","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1711:15:29","nodeType":"YulIdentifier","src":"1711:15:29"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1738:15:29","nodeType":"YulIdentifier","src":"1738:15:29"}],"functionName":{"name":"tload","nativeSrc":"1732:5:29","nodeType":"YulIdentifier","src":"1732:5:29"},"nativeSrc":"1732:22:29","nodeType":"YulFunctionCall","src":"1732:22:29"},{"kind":"number","nativeSrc":"1756:1:29","nodeType":"YulLiteral","src":"1756:1:29","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"1728:3:29","nodeType":"YulIdentifier","src":"1728:3:29"},"nativeSrc":"1728:30:29","nodeType":"YulFunctionCall","src":"1728:30:29"}],"functionName":{"name":"tstore","nativeSrc":"1704:6:29","nodeType":"YulIdentifier","src":"1704:6:29"},"nativeSrc":"1704:55:29","nodeType":"YulFunctionCall","src":"1704:55:29"},"nativeSrc":"1704:55:29","nodeType":"YulExpressionStatement","src":"1704:55:29"}]},"evmVersion":"cancun","externalReferences":[{"declaration":47789,"isOffset":false,"isSlot":false,"src":"1711:15:29","valueSize":1},{"declaration":47789,"isOffset":false,"isSlot":false,"src":"1738:15:29","valueSize":1}],"flags":["memory-safe"],"id":47821,"nodeType":"InlineAssembly","src":"1665:104:29"}]},"documentation":{"id":47818,"nodeType":"StructuredDocumentation","src":"1452:168:29","text":"@notice Increments call depth.\n This function can overflow. However, this is ok because there's still\n only one value stored per slot."},"implemented":true,"kind":"function","modifiers":[],"name":"increment","nameLocation":"1634:9:29","parameters":{"id":47819,"nodeType":"ParameterList","parameters":[],"src":"1643:2:29"},"returnParameters":{"id":47820,"nodeType":"ParameterList","parameters":[],"src":"1655:0:29"},"scope":47830,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":47829,"nodeType":"FunctionDefinition","src":"1955:150:29","nodes":[],"body":{"id":47828,"nodeType":"Block","src":"1985:120:29","nodes":[],"statements":[{"AST":{"nativeSrc":"2020:79:29","nodeType":"YulBlock","src":"2020:79:29","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2041:15:29","nodeType":"YulIdentifier","src":"2041:15:29"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2068:15:29","nodeType":"YulIdentifier","src":"2068:15:29"}],"functionName":{"name":"tload","nativeSrc":"2062:5:29","nodeType":"YulIdentifier","src":"2062:5:29"},"nativeSrc":"2062:22:29","nodeType":"YulFunctionCall","src":"2062:22:29"},{"kind":"number","nativeSrc":"2086:1:29","nodeType":"YulLiteral","src":"2086:1:29","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"2058:3:29","nodeType":"YulIdentifier","src":"2058:3:29"},"nativeSrc":"2058:30:29","nodeType":"YulFunctionCall","src":"2058:30:29"}],"functionName":{"name":"tstore","nativeSrc":"2034:6:29","nodeType":"YulIdentifier","src":"2034:6:29"},"nativeSrc":"2034:55:29","nodeType":"YulFunctionCall","src":"2034:55:29"},"nativeSrc":"2034:55:29","nodeType":"YulExpressionStatement","src":"2034:55:29"}]},"evmVersion":"cancun","externalReferences":[{"declaration":47789,"isOffset":false,"isSlot":false,"src":"2041:15:29","valueSize":1},{"declaration":47789,"isOffset":false,"isSlot":false,"src":"2068:15:29","valueSize":1}],"flags":["memory-safe"],"id":47827,"nodeType":"InlineAssembly","src":"1995:104:29"}]},"documentation":{"id":47824,"nodeType":"StructuredDocumentation","src":"1781:169:29","text":"@notice Decrements call depth.\n This function can underflow. However, this is ok because there's still\n only one value stored per slot."},"implemented":true,"kind":"function","modifiers":[],"name":"decrement","nameLocation":"1964:9:29","parameters":{"id":47825,"nodeType":"ParameterList","parameters":[],"src":"1973:2:29"},"returnParameters":{"id":47826,"nodeType":"ParameterList","parameters":[],"src":"1985:0:29"},"scope":47830,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientContext","contractDependencies":[],"contractKind":"library","documentation":{"id":47785,"nodeType":"StructuredDocumentation","src":"58:71:29","text":"@title TransientContext\n @notice Library for transient storage."},"fullyImplemented":true,"linearizedBaseContracts":[47830],"name":"TransientContext","nameLocation":"137:16:29","scope":47848,"usedErrors":[],"usedEvents":[]},{"id":47847,"nodeType":"ContractDefinition","src":"2303:224:29","nodes":[{"id":47846,"nodeType":"ModifierDefinition","src":"2405:120:29","nodes":[],"body":{"id":47845,"nodeType":"Block","src":"2431:94:29","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":47834,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47830,"src":"2441:16:29","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$47830_$","typeString":"type(library TransientContext)"}},"id":47836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2458:9:29","memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":47823,"src":"2441:26:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":47837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2441:28:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47838,"nodeType":"ExpressionStatement","src":"2441:28:29"},{"id":47839,"nodeType":"PlaceholderStatement","src":"2479:1:29"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":47840,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47830,"src":"2490:16:29","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$47830_$","typeString":"type(library TransientContext)"}},"id":47842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:9:29","memberName":"decrement","nodeType":"MemberAccess","referencedDeclaration":47829,"src":"2490:26:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":47843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2490:28:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47844,"nodeType":"ExpressionStatement","src":"2490:28:29"}]},"documentation":{"id":47832,"nodeType":"StructuredDocumentation","src":"2343:57:29","text":"@notice Modifier to make a function reentrancy-aware."},"name":"reentrantAware","nameLocation":"2414:14:29","parameters":{"id":47833,"nodeType":"ParameterList","parameters":[],"src":"2428:2:29"},"virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientReentrancyAware","contractDependencies":[],"contractKind":"contract","documentation":{"id":47831,"nodeType":"StructuredDocumentation","src":"2109:194:29","text":"@title TransientReentrancyAware\n @notice Reentrancy-aware modifier for transient storage, which increments and\n decrements the call depth when entering and exiting a function."},"fullyImplemented":true,"linearizedBaseContracts":[47847],"name":"TransientReentrancyAware","nameLocation":"2312:24:29","scope":47848,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":29}
{"abi":[],"bytecode":{"object":"0x6080604052348015600e575f80fd5b50601580601a5f395ff3fe60806040525f80fdfea164736f6c634300081a000a","sourceMap":"2303:224:102:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040525f80fdfea164736f6c634300081a000a","sourceMap":"2303:224:102:-:0;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"TransientReentrancyAware\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Reentrancy-aware modifier for transient storage, which increments and decrements the call depth when entering and exiting a function.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/TransientContext.sol\":\"TransientReentrancyAware\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/libraries/TransientContext.sol\":{\"keccak256\":\"0x7ae128d512768e928b3cd2d7604fcded205e5a99465360985fb0aaf985e888f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://555255ed8deedb8cb090d5f979b51356a98c12b259ec07664de33280d24738fd\",\"dweb:/ipfs/QmPUAfTpoqqUDEaRC2gRPr2CFbKSaz8J4yBQgLc9wM6Hss\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/libraries/TransientContext.sol":"TransientReentrancyAware"},"evmVersion":"cancun","libraries":{}},"sources":{"src/libraries/TransientContext.sol":{"keccak256":"0x7ae128d512768e928b3cd2d7604fcded205e5a99465360985fb0aaf985e888f8","urls":["bzz-raw://555255ed8deedb8cb090d5f979b51356a98c12b259ec07664de33280d24738fd","dweb:/ipfs/QmPUAfTpoqqUDEaRC2gRPr2CFbKSaz8J4yBQgLc9wM6Hss"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Reentrancy-aware modifier for transient storage, which increments and decrements the call depth when entering and exiting a function."},"devdoc":{"version":1,"kind":"dev","title":"TransientReentrancyAware"},"ast":{"absolutePath":"src/libraries/TransientContext.sol","id":61015,"exportedSymbols":{"TransientContext":[60997],"TransientReentrancyAware":[61014]},"nodeType":"SourceUnit","src":"32:2496:102","nodes":[{"id":60951,"nodeType":"PragmaDirective","src":"32:24:102","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":60997,"nodeType":"ContractDefinition","src":"129:1978:102","nodes":[{"id":60956,"nodeType":"VariableDeclaration","src":"278:110:102","nodes":[],"constant":true,"documentation":{"id":60953,"nodeType":"StructuredDocumentation","src":"160:113:102","text":"@notice Slot for call depth.\n Equal to bytes32(uint256(keccak256(\"transient.calldepth\")) - 1)."},"mutability":"constant","name":"CALL_DEPTH_SLOT","nameLocation":"304:15:102","scope":60997,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60954,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278:7:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837613734666431363837363366643238306561656333626364326664363264306537393530323761646338313833613639336334393761376332623130623563","id":60955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322:66:102","typeDescriptions":{"typeIdentifier":"t_rational_55388868535875649073547711647255167311425207837940097558979256947742365256540_by_1","typeString":"int_const 5538...(69 digits omitted)...6540"},"value":"0x7a74fd168763fd280eaec3bcd2fd62d0e795027adc8183a693c497a7c2b10b5c"},"visibility":"internal"},{"id":60964,"nodeType":"FunctionDefinition","src":"479:165:102","nodes":[],"body":{"id":60963,"nodeType":"Block","src":"543:101:102","nodes":[],"statements":[{"AST":{"nativeSrc":"578:60:102","nodeType":"YulBlock","src":"578:60:102","statements":[{"nativeSrc":"592:36:102","nodeType":"YulAssignment","src":"592:36:102","value":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"612:15:102","nodeType":"YulIdentifier","src":"612:15:102"}],"functionName":{"name":"tload","nativeSrc":"606:5:102","nodeType":"YulIdentifier","src":"606:5:102"},"nativeSrc":"606:22:102","nodeType":"YulFunctionCall","src":"606:22:102"},"variableNames":[{"name":"callDepth_","nativeSrc":"592:10:102","nodeType":"YulIdentifier","src":"592:10:102"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":60956,"isOffset":false,"isSlot":false,"src":"612:15:102","valueSize":1},{"declaration":60960,"isOffset":false,"isSlot":false,"src":"592:10:102","valueSize":1}],"flags":["memory-safe"],"id":60962,"nodeType":"InlineAssembly","src":"553:85:102"}]},"documentation":{"id":60957,"nodeType":"StructuredDocumentation","src":"395:79:102","text":"@notice Gets the call depth.\n @return callDepth_ Current call depth."},"implemented":true,"kind":"function","modifiers":[],"name":"callDepth","nameLocation":"488:9:102","parameters":{"id":60958,"nodeType":"ParameterList","parameters":[],"src":"497:2:102"},"returnParameters":{"id":60961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60960,"mutability":"mutable","name":"callDepth_","nameLocation":"531:10:102","nodeType":"VariableDeclaration","scope":60964,"src":"523:18:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60959,"name":"uint256","nodeType":"ElementaryTypeName","src":"523:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"522:20:102"},"scope":60997,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":60974,"nodeType":"FunctionDefinition","src":"810:241:102","nodes":[],"body":{"id":60973,"nodeType":"Block","src":"877:174:102","nodes":[],"statements":[{"AST":{"nativeSrc":"912:133:102","nodeType":"YulBlock","src":"912:133:102","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"933:1:102","nodeType":"YulLiteral","src":"933:1:102","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"942:15:102","nodeType":"YulIdentifier","src":"942:15:102"}],"functionName":{"name":"tload","nativeSrc":"936:5:102","nodeType":"YulIdentifier","src":"936:5:102"},"nativeSrc":"936:22:102","nodeType":"YulFunctionCall","src":"936:22:102"}],"functionName":{"name":"mstore","nativeSrc":"926:6:102","nodeType":"YulIdentifier","src":"926:6:102"},"nativeSrc":"926:33:102","nodeType":"YulFunctionCall","src":"926:33:102"},"nativeSrc":"926:33:102","nodeType":"YulExpressionStatement","src":"926:33:102"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"979:2:102","nodeType":"YulLiteral","src":"979:2:102","type":"","value":"32"},{"name":"_slot","nativeSrc":"983:5:102","nodeType":"YulIdentifier","src":"983:5:102"}],"functionName":{"name":"mstore","nativeSrc":"972:6:102","nodeType":"YulIdentifier","src":"972:6:102"},"nativeSrc":"972:17:102","nodeType":"YulFunctionCall","src":"972:17:102"},"nativeSrc":"972:17:102","nodeType":"YulExpressionStatement","src":"972:17:102"},{"nativeSrc":"1002:33:102","nodeType":"YulAssignment","src":"1002:33:102","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1028:1:102","nodeType":"YulLiteral","src":"1028:1:102","type":"","value":"0"},{"kind":"number","nativeSrc":"1031:2:102","nodeType":"YulLiteral","src":"1031:2:102","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1018:9:102","nodeType":"YulIdentifier","src":"1018:9:102"},"nativeSrc":"1018:16:102","nodeType":"YulFunctionCall","src":"1018:16:102"}],"functionName":{"name":"tload","nativeSrc":"1012:5:102","nodeType":"YulIdentifier","src":"1012:5:102"},"nativeSrc":"1012:23:102","nodeType":"YulFunctionCall","src":"1012:23:102"},"variableNames":[{"name":"value_","nativeSrc":"1002:6:102","nodeType":"YulIdentifier","src":"1002:6:102"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":60956,"isOffset":false,"isSlot":false,"src":"942:15:102","valueSize":1},{"declaration":60967,"isOffset":false,"isSlot":false,"src":"983:5:102","valueSize":1},{"declaration":60970,"isOffset":false,"isSlot":false,"src":"1002:6:102","valueSize":1}],"flags":["memory-safe"],"id":60972,"nodeType":"InlineAssembly","src":"887:158:102"}]},"documentation":{"id":60965,"nodeType":"StructuredDocumentation","src":"650:155:102","text":"@notice Gets value in transient storage for a slot at the current call depth.\n @param _slot Slot to get.\n @return value_ Transient value."},"implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"819:3:102","parameters":{"id":60968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60967,"mutability":"mutable","name":"_slot","nameLocation":"831:5:102","nodeType":"VariableDeclaration","scope":60974,"src":"823:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"823:7:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"822:15:102"},"returnParameters":{"id":60971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60970,"mutability":"mutable","name":"value_","nameLocation":"869:6:102","nodeType":"VariableDeclaration","scope":60974,"src":"861:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60969,"name":"uint256","nodeType":"ElementaryTypeName","src":"861:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"860:16:102"},"scope":60997,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":60984,"nodeType":"FunctionDefinition","src":"1220:226:102","nodes":[],"body":{"id":60983,"nodeType":"Block","src":"1273:173:102","nodes":[],"statements":[{"AST":{"nativeSrc":"1308:132:102","nodeType":"YulBlock","src":"1308:132:102","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1329:1:102","nodeType":"YulLiteral","src":"1329:1:102","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1338:15:102","nodeType":"YulIdentifier","src":"1338:15:102"}],"functionName":{"name":"tload","nativeSrc":"1332:5:102","nodeType":"YulIdentifier","src":"1332:5:102"},"nativeSrc":"1332:22:102","nodeType":"YulFunctionCall","src":"1332:22:102"}],"functionName":{"name":"mstore","nativeSrc":"1322:6:102","nodeType":"YulIdentifier","src":"1322:6:102"},"nativeSrc":"1322:33:102","nodeType":"YulFunctionCall","src":"1322:33:102"},"nativeSrc":"1322:33:102","nodeType":"YulExpressionStatement","src":"1322:33:102"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1375:2:102","nodeType":"YulLiteral","src":"1375:2:102","type":"","value":"32"},{"name":"_slot","nativeSrc":"1379:5:102","nodeType":"YulIdentifier","src":"1379:5:102"}],"functionName":{"name":"mstore","nativeSrc":"1368:6:102","nodeType":"YulIdentifier","src":"1368:6:102"},"nativeSrc":"1368:17:102","nodeType":"YulFunctionCall","src":"1368:17:102"},"nativeSrc":"1368:17:102","nodeType":"YulExpressionStatement","src":"1368:17:102"},{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1415:1:102","nodeType":"YulLiteral","src":"1415:1:102","type":"","value":"0"},{"kind":"number","nativeSrc":"1418:2:102","nodeType":"YulLiteral","src":"1418:2:102","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1405:9:102","nodeType":"YulIdentifier","src":"1405:9:102"},"nativeSrc":"1405:16:102","nodeType":"YulFunctionCall","src":"1405:16:102"},{"name":"_value","nativeSrc":"1423:6:102","nodeType":"YulIdentifier","src":"1423:6:102"}],"functionName":{"name":"tstore","nativeSrc":"1398:6:102","nodeType":"YulIdentifier","src":"1398:6:102"},"nativeSrc":"1398:32:102","nodeType":"YulFunctionCall","src":"1398:32:102"},"nativeSrc":"1398:32:102","nodeType":"YulExpressionStatement","src":"1398:32:102"}]},"evmVersion":"cancun","externalReferences":[{"declaration":60956,"isOffset":false,"isSlot":false,"src":"1338:15:102","valueSize":1},{"declaration":60977,"isOffset":false,"isSlot":false,"src":"1379:5:102","valueSize":1},{"declaration":60979,"isOffset":false,"isSlot":false,"src":"1423:6:102","valueSize":1}],"flags":["memory-safe"],"id":60982,"nodeType":"InlineAssembly","src":"1283:157:102"}]},"documentation":{"id":60975,"nodeType":"StructuredDocumentation","src":"1057:158:102","text":"@notice Sets a value in transient storage for a slot at the current call depth.\n @param _slot Slot to set.\n @param _value Value to set."},"implemented":true,"kind":"function","modifiers":[],"name":"set","nameLocation":"1229:3:102","parameters":{"id":60980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60977,"mutability":"mutable","name":"_slot","nameLocation":"1241:5:102","nodeType":"VariableDeclaration","scope":60984,"src":"1233:13:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":60976,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1233:7:102","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":60979,"mutability":"mutable","name":"_value","nameLocation":"1256:6:102","nodeType":"VariableDeclaration","scope":60984,"src":"1248:14:102","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60978,"name":"uint256","nodeType":"ElementaryTypeName","src":"1248:7:102","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1232:31:102"},"returnParameters":{"id":60981,"nodeType":"ParameterList","parameters":[],"src":"1273:0:102"},"scope":60997,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":60990,"nodeType":"FunctionDefinition","src":"1625:150:102","nodes":[],"body":{"id":60989,"nodeType":"Block","src":"1655:120:102","nodes":[],"statements":[{"AST":{"nativeSrc":"1690:79:102","nodeType":"YulBlock","src":"1690:79:102","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1711:15:102","nodeType":"YulIdentifier","src":"1711:15:102"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1738:15:102","nodeType":"YulIdentifier","src":"1738:15:102"}],"functionName":{"name":"tload","nativeSrc":"1732:5:102","nodeType":"YulIdentifier","src":"1732:5:102"},"nativeSrc":"1732:22:102","nodeType":"YulFunctionCall","src":"1732:22:102"},{"kind":"number","nativeSrc":"1756:1:102","nodeType":"YulLiteral","src":"1756:1:102","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"1728:3:102","nodeType":"YulIdentifier","src":"1728:3:102"},"nativeSrc":"1728:30:102","nodeType":"YulFunctionCall","src":"1728:30:102"}],"functionName":{"name":"tstore","nativeSrc":"1704:6:102","nodeType":"YulIdentifier","src":"1704:6:102"},"nativeSrc":"1704:55:102","nodeType":"YulFunctionCall","src":"1704:55:102"},"nativeSrc":"1704:55:102","nodeType":"YulExpressionStatement","src":"1704:55:102"}]},"evmVersion":"cancun","externalReferences":[{"declaration":60956,"isOffset":false,"isSlot":false,"src":"1711:15:102","valueSize":1},{"declaration":60956,"isOffset":false,"isSlot":false,"src":"1738:15:102","valueSize":1}],"flags":["memory-safe"],"id":60988,"nodeType":"InlineAssembly","src":"1665:104:102"}]},"documentation":{"id":60985,"nodeType":"StructuredDocumentation","src":"1452:168:102","text":"@notice Increments call depth.\n This function can overflow. However, this is ok because there's still\n only one value stored per slot."},"implemented":true,"kind":"function","modifiers":[],"name":"increment","nameLocation":"1634:9:102","parameters":{"id":60986,"nodeType":"ParameterList","parameters":[],"src":"1643:2:102"},"returnParameters":{"id":60987,"nodeType":"ParameterList","parameters":[],"src":"1655:0:102"},"scope":60997,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":60996,"nodeType":"FunctionDefinition","src":"1955:150:102","nodes":[],"body":{"id":60995,"nodeType":"Block","src":"1985:120:102","nodes":[],"statements":[{"AST":{"nativeSrc":"2020:79:102","nodeType":"YulBlock","src":"2020:79:102","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2041:15:102","nodeType":"YulIdentifier","src":"2041:15:102"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2068:15:102","nodeType":"YulIdentifier","src":"2068:15:102"}],"functionName":{"name":"tload","nativeSrc":"2062:5:102","nodeType":"YulIdentifier","src":"2062:5:102"},"nativeSrc":"2062:22:102","nodeType":"YulFunctionCall","src":"2062:22:102"},{"kind":"number","nativeSrc":"2086:1:102","nodeType":"YulLiteral","src":"2086:1:102","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"2058:3:102","nodeType":"YulIdentifier","src":"2058:3:102"},"nativeSrc":"2058:30:102","nodeType":"YulFunctionCall","src":"2058:30:102"}],"functionName":{"name":"tstore","nativeSrc":"2034:6:102","nodeType":"YulIdentifier","src":"2034:6:102"},"nativeSrc":"2034:55:102","nodeType":"YulFunctionCall","src":"2034:55:102"},"nativeSrc":"2034:55:102","nodeType":"YulExpressionStatement","src":"2034:55:102"}]},"evmVersion":"cancun","externalReferences":[{"declaration":60956,"isOffset":false,"isSlot":false,"src":"2041:15:102","valueSize":1},{"declaration":60956,"isOffset":false,"isSlot":false,"src":"2068:15:102","valueSize":1}],"flags":["memory-safe"],"id":60994,"nodeType":"InlineAssembly","src":"1995:104:102"}]},"documentation":{"id":60991,"nodeType":"StructuredDocumentation","src":"1781:169:102","text":"@notice Decrements call depth.\n This function can underflow. However, this is ok because there's still\n only one value stored per slot."},"implemented":true,"kind":"function","modifiers":[],"name":"decrement","nameLocation":"1964:9:102","parameters":{"id":60992,"nodeType":"ParameterList","parameters":[],"src":"1973:2:102"},"returnParameters":{"id":60993,"nodeType":"ParameterList","parameters":[],"src":"1985:0:102"},"scope":60997,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientContext","contractDependencies":[],"contractKind":"library","documentation":{"id":60952,"nodeType":"StructuredDocumentation","src":"58:71:102","text":"@title TransientContext\n @notice Library for transient storage."},"fullyImplemented":true,"linearizedBaseContracts":[60997],"name":"TransientContext","nameLocation":"137:16:102","scope":61015,"usedErrors":[],"usedEvents":[]},{"id":61014,"nodeType":"ContractDefinition","src":"2303:224:102","nodes":[{"id":61013,"nodeType":"ModifierDefinition","src":"2405:120:102","nodes":[],"body":{"id":61012,"nodeType":"Block","src":"2431:94:102","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61001,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60997,"src":"2441:16:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$60997_$","typeString":"type(library TransientContext)"}},"id":61003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2458:9:102","memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":60990,"src":"2441:26:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2441:28:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61005,"nodeType":"ExpressionStatement","src":"2441:28:102"},{"id":61006,"nodeType":"PlaceholderStatement","src":"2479:1:102"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61007,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60997,"src":"2490:16:102","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$60997_$","typeString":"type(library TransientContext)"}},"id":61009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:9:102","memberName":"decrement","nodeType":"MemberAccess","referencedDeclaration":60996,"src":"2490:26:102","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2490:28:102","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61011,"nodeType":"ExpressionStatement","src":"2490:28:102"}]},"documentation":{"id":60999,"nodeType":"StructuredDocumentation","src":"2343:57:102","text":"@notice Modifier to make a function reentrancy-aware."},"name":"reentrantAware","nameLocation":"2414:14:102","parameters":{"id":61000,"nodeType":"ParameterList","parameters":[],"src":"2428:2:102"},"virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientReentrancyAware","contractDependencies":[],"contractKind":"contract","documentation":{"id":60998,"nodeType":"StructuredDocumentation","src":"2109:194:102","text":"@title TransientReentrancyAware\n @notice Reentrancy-aware modifier for transient storage, which increments and\n decrements the call depth when entering and exiting a function."},"fullyImplemented":true,"linearizedBaseContracts":[61014],"name":"TransientReentrancyAware","nameLocation":"2312:24:102","scope":61015,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":102}

@@ -1,1 +0,1 @@

{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"831:574:28:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;831:574:28;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"831:574:28:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CANNON\":{\"details\":\"A dispute game type the uses the cannon vm.\"},\"PERMISSIONED_CANNON\":{\"details\":\"A permissioned dispute game type the uses the cannon vm.\"}},\"title\":\"GameTypes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library that defines the IDs of games that can be played.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/lib/Types.sol\":\"GameTypes\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/dispute/lib/LibPosition.sol\":{\"keccak256\":\"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d\",\"dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K\"]},\"src/dispute/lib/LibUDT.sol\":{\"keccak256\":\"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e\",\"dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX\"]},\"src/dispute/lib/Types.sol\":{\"keccak256\":\"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd\",\"dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/lib/Types.sol":"GameTypes"},"evmVersion":"cancun","libraries":{}},"sources":{"src/dispute/lib/LibPosition.sol":{"keccak256":"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241","urls":["bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d","dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K"],"license":"MIT"},"src/dispute/lib/LibUDT.sol":{"keccak256":"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855","urls":["bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e","dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX"],"license":"MIT"},"src/dispute/lib/Types.sol":{"keccak256":"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8","urls":["bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd","dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"A library that defines the IDs of games that can be played."},"devdoc":{"version":1,"kind":"dev","title":"GameTypes"},"ast":{"absolutePath":"src/dispute/lib/Types.sol","id":47783,"exportedSymbols":{"Claim":[47572],"Clock":[47480],"Duration":[47604],"GameId":[47534],"GameStatus":[47685],"GameType":[47664],"GameTypes":[47726],"Hash":[47619],"LibClaim":[47602],"LibClock":[47532],"LibDuration":[47617],"LibGameId":[47570],"LibGameType":[47677],"LibHash":[47632],"LibPosition":[47443],"LibTimestamp":[47647],"LibVMStatus":[47662],"LocalPreimageKey":[47782],"OutputRoot":[47692],"Position":[47230],"Timestamp":[47634],"VMStatus":[47649],"VMStatuses":[47760]},"nodeType":"SourceUnit","src":"32:2676:28","nodes":[{"id":47679,"nodeType":"PragmaDirective","src":"32:24:28","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":47680,"nodeType":"ImportDirective","src":"58:36:28","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":47783,"sourceUnit":47678,"symbolAliases":[],"unitAlias":""},{"id":47685,"nodeType":"EnumDefinition","src":"148:299:28","nodes":[],"canonicalName":"GameStatus","documentation":{"id":47681,"nodeType":"StructuredDocumentation","src":"96:52:28","text":"@notice The current status of the dispute game."},"members":[{"id":47682,"name":"IN_PROGRESS","nameLocation":"239:11:28","nodeType":"EnumValue","src":"239:11:28"},{"id":47683,"name":"CHALLENGER_WINS","nameLocation":"336:15:28","nodeType":"EnumValue","src":"336:15:28"},{"id":47684,"name":"DEFENDER_WINS","nameLocation":"432:13:28","nodeType":"EnumValue","src":"432:13:28"}],"name":"GameStatus","nameLocation":"153:10:28"},{"id":47692,"nodeType":"StructDefinition","src":"673:63:28","nodes":[],"canonicalName":"OutputRoot","documentation":{"id":47686,"nodeType":"StructuredDocumentation","src":"449:224:28","text":"@notice Represents an L2 output root and the L2 block number at which it was generated.\n @custom:field root The output root.\n @custom:field l2BlockNumber The L2 block number at which the output root was generated."},"members":[{"constant":false,"id":47689,"mutability":"mutable","name":"root","nameLocation":"702:4:28","nodeType":"VariableDeclaration","scope":47692,"src":"697:9:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$47619","typeString":"Hash"},"typeName":{"id":47688,"nodeType":"UserDefinedTypeName","pathNode":{"id":47687,"name":"Hash","nameLocations":["697:4:28"],"nodeType":"IdentifierPath","referencedDeclaration":47619,"src":"697:4:28"},"referencedDeclaration":47619,"src":"697:4:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$47619","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":47691,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"720:13:28","nodeType":"VariableDeclaration","scope":47692,"src":"712:21:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47690,"name":"uint256","nodeType":"ElementaryTypeName","src":"712:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OutputRoot","nameLocation":"680:10:28","scope":47783,"visibility":"public"},{"id":47726,"nodeType":"ContractDefinition","src":"831:574:28","nodes":[{"id":47701,"nodeType":"VariableDeclaration","src":"912:52:28","nodes":[],"constant":true,"documentation":{"id":47694,"nodeType":"StructuredDocumentation","src":"855:52:28","text":"@dev A dispute game type the uses the cannon vm."},"mutability":"constant","name":"CANNON","nameLocation":"939:6:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47696,"nodeType":"UserDefinedTypeName","pathNode":{"id":47695,"name":"GameType","nameLocations":["912:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"912:8:28"},"referencedDeclaration":47664,"src":"912:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"30","id":47699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:28","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"}],"expression":{"id":47697,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"948:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"957:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"948:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"948:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"},{"id":47709,"nodeType":"VariableDeclaration","src":"1041:65:28","nodes":[],"constant":true,"documentation":{"id":47702,"nodeType":"StructuredDocumentation","src":"971:65:28","text":"@dev A permissioned dispute game type the uses the cannon vm."},"mutability":"constant","name":"PERMISSIONED_CANNON","nameLocation":"1068:19:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47704,"nodeType":"UserDefinedTypeName","pathNode":{"id":47703,"name":"GameType","nameLocations":["1041:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"1041:8:28"},"referencedDeclaration":47664,"src":"1041:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"31","id":47707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":47705,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"1090:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1099:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1090:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1090:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"},{"id":47717,"nodeType":"VariableDeclaration","src":"1174:54:28","nodes":[],"constant":true,"documentation":{"id":47710,"nodeType":"StructuredDocumentation","src":"1113:56:28","text":"@notice A dispute game type the uses the asterisc VM"},"mutability":"constant","name":"ASTERISC","nameLocation":"1201:8:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47712,"nodeType":"UserDefinedTypeName","pathNode":{"id":47711,"name":"GameType","nameLocations":["1174:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"1174:8:28"},"referencedDeclaration":47664,"src":"1174:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"32","id":47715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1226:1:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":47713,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"1212:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1221:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1212:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"},{"id":47725,"nodeType":"VariableDeclaration","src":"1346:56:28","nodes":[],"constant":true,"documentation":{"id":47718,"nodeType":"StructuredDocumentation","src":"1235:106:28","text":"@notice A dispute game type that uses an alphabet vm.\n Not intended for production use."},"mutability":"constant","name":"ALPHABET","nameLocation":"1373:8:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47720,"nodeType":"UserDefinedTypeName","pathNode":{"id":47719,"name":"GameType","nameLocations":["1346:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"1346:8:28"},"referencedDeclaration":47664,"src":"1346:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323535","id":47723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1398:3:28","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"expression":{"id":47721,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"1384:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1393:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1384:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:18:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GameTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":47693,"nodeType":"StructuredDocumentation","src":"738:93:28","text":"@title GameTypes\n @notice A library that defines the IDs of games that can be played."},"fullyImplemented":true,"linearizedBaseContracts":[47726],"name":"GameTypes","nameLocation":"839:9:28","scope":47783,"usedErrors":[],"usedEvents":[]},{"id":47760,"nodeType":"ContractDefinition","src":"1499:503:28","nodes":[{"id":47735,"nodeType":"VariableDeclaration","src":"1599:51:28","nodes":[],"constant":true,"documentation":{"id":47728,"nodeType":"StructuredDocumentation","src":"1524:70:28","text":"@notice The VM has executed successfully and the outcome is valid."},"mutability":"constant","name":"VALID","nameLocation":"1626:5:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47730,"nodeType":"UserDefinedTypeName","pathNode":{"id":47729,"name":"VMStatus","nameLocations":["1599:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1599:8:28"},"referencedDeclaration":47649,"src":"1599:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"30","id":47733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1648:1:28","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"}],"expression":{"id":47731,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1634:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1643:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1634:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1634:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"},{"id":47743,"nodeType":"VariableDeclaration","src":"1734:53:28","nodes":[],"constant":true,"documentation":{"id":47736,"nodeType":"StructuredDocumentation","src":"1657:72:28","text":"@notice The VM has executed successfully and the outcome is invalid."},"mutability":"constant","name":"INVALID","nameLocation":"1761:7:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47738,"nodeType":"UserDefinedTypeName","pathNode":{"id":47737,"name":"VMStatus","nameLocations":["1734:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1734:8:28"},"referencedDeclaration":47649,"src":"1734:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"31","id":47741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":47739,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1771:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1780:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1771:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"},{"id":47751,"nodeType":"VariableDeclaration","src":"1830:51:28","nodes":[],"constant":true,"documentation":{"id":47744,"nodeType":"StructuredDocumentation","src":"1794:31:28","text":"@notice The VM has paniced."},"mutability":"constant","name":"PANIC","nameLocation":"1857:5:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47746,"nodeType":"UserDefinedTypeName","pathNode":{"id":47745,"name":"VMStatus","nameLocations":["1830:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1830:8:28"},"referencedDeclaration":47649,"src":"1830:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"32","id":47749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1879:1:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":47747,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1865:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1874:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1865:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1865:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"},{"id":47759,"nodeType":"VariableDeclaration","src":"1943:56:28","nodes":[],"constant":true,"documentation":{"id":47752,"nodeType":"StructuredDocumentation","src":"1888:50:28","text":"@notice The VM execution is still in progress."},"mutability":"constant","name":"UNFINISHED","nameLocation":"1970:10:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47754,"nodeType":"UserDefinedTypeName","pathNode":{"id":47753,"name":"VMStatus","nameLocations":["1943:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1943:8:28"},"referencedDeclaration":47649,"src":"1943:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"33","id":47757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1997:1:28","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"expression":{"id":47755,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1983:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1992:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1983:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"VMStatuses","contractDependencies":[],"contractKind":"library","documentation":{"id":47727,"nodeType":"StructuredDocumentation","src":"1407:92:28","text":"@title VMStatuses\n @notice Named type aliases for the various valid VM status bytes."},"fullyImplemented":true,"linearizedBaseContracts":[47760],"name":"VMStatuses","nameLocation":"1507:10:28","scope":47783,"usedErrors":[],"usedEvents":[]},{"id":47782,"nodeType":"ContractDefinition","src":"2107:600:28","nodes":[{"id":47765,"nodeType":"VariableDeclaration","src":"2191:45:28","nodes":[],"constant":true,"documentation":{"id":47762,"nodeType":"StructuredDocumentation","src":"2138:48:28","text":"@notice The identifier for the L1 head hash."},"mutability":"constant","name":"L1_HEAD_HASH","nameLocation":"2217:12:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47763,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":47764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2232:4:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":47769,"nodeType":"VariableDeclaration","src":"2304:53:28","nodes":[],"constant":true,"documentation":{"id":47766,"nodeType":"StructuredDocumentation","src":"2243:56:28","text":"@notice The identifier for the starting output root."},"mutability":"constant","name":"STARTING_OUTPUT_ROOT","nameLocation":"2330:20:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47767,"name":"uint256","nodeType":"ElementaryTypeName","src":"2304:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783032","id":47768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2353:4:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x02"},"visibility":"internal"},{"id":47773,"nodeType":"VariableDeclaration","src":"2425:53:28","nodes":[],"constant":true,"documentation":{"id":47770,"nodeType":"StructuredDocumentation","src":"2364:56:28","text":"@notice The identifier for the disputed output root."},"mutability":"constant","name":"DISPUTED_OUTPUT_ROOT","nameLocation":"2451:20:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47771,"name":"uint256","nodeType":"ElementaryTypeName","src":"2425:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783033","id":47772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2474:4:28","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"0x03"},"visibility":"internal"},{"id":47777,"nodeType":"VariableDeclaration","src":"2550:57:28","nodes":[],"constant":true,"documentation":{"id":47774,"nodeType":"StructuredDocumentation","src":"2485:60:28","text":"@notice The identifier for the disputed L2 block number."},"mutability":"constant","name":"DISPUTED_L2_BLOCK_NUMBER","nameLocation":"2576:24:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47775,"name":"uint256","nodeType":"ElementaryTypeName","src":"2550:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783034","id":47776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2603:4:28","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x04"},"visibility":"internal"},{"id":47781,"nodeType":"VariableDeclaration","src":"2663:41:28","nodes":[],"constant":true,"documentation":{"id":47778,"nodeType":"StructuredDocumentation","src":"2614:44:28","text":"@notice The identifier for the chain ID."},"mutability":"constant","name":"CHAIN_ID","nameLocation":"2689:8:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47779,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783035","id":47780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:4:28","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"0x05"},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"LocalPreimageKey","contractDependencies":[],"contractKind":"library","documentation":{"id":47761,"nodeType":"StructuredDocumentation","src":"2004:103:28","text":"@title LocalPreimageKey\n @notice Named type aliases for local `PreimageOracle` key identifiers."},"fullyImplemented":true,"linearizedBaseContracts":[47782],"name":"LocalPreimageKey","nameLocation":"2115:16:28","scope":47783,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":28}
{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"831:574:90:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;831:574:90;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"831:574:90:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CANNON\":{\"details\":\"A dispute game type the uses the cannon vm.\"},\"PERMISSIONED_CANNON\":{\"details\":\"A permissioned dispute game type the uses the cannon vm.\"}},\"title\":\"GameTypes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library that defines the IDs of games that can be played.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/lib/Types.sol\":\"GameTypes\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/dispute/lib/LibPosition.sol\":{\"keccak256\":\"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d\",\"dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K\"]},\"src/dispute/lib/LibUDT.sol\":{\"keccak256\":\"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e\",\"dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX\"]},\"src/dispute/lib/Types.sol\":{\"keccak256\":\"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd\",\"dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/lib/Types.sol":"GameTypes"},"evmVersion":"cancun","libraries":{}},"sources":{"src/dispute/lib/LibPosition.sol":{"keccak256":"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241","urls":["bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d","dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K"],"license":"MIT"},"src/dispute/lib/LibUDT.sol":{"keccak256":"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855","urls":["bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e","dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX"],"license":"MIT"},"src/dispute/lib/Types.sol":{"keccak256":"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8","urls":["bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd","dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"A library that defines the IDs of games that can be played."},"devdoc":{"version":1,"kind":"dev","title":"GameTypes"},"ast":{"absolutePath":"src/dispute/lib/Types.sol","id":59096,"exportedSymbols":{"Claim":[58885],"Clock":[58793],"Duration":[58917],"GameId":[58847],"GameStatus":[58998],"GameType":[58977],"GameTypes":[59039],"Hash":[58932],"LibClaim":[58915],"LibClock":[58845],"LibDuration":[58930],"LibGameId":[58883],"LibGameType":[58990],"LibHash":[58945],"LibPosition":[58756],"LibTimestamp":[58960],"LibVMStatus":[58975],"LocalPreimageKey":[59095],"OutputRoot":[59005],"Position":[58543],"Timestamp":[58947],"VMStatus":[58962],"VMStatuses":[59073]},"nodeType":"SourceUnit","src":"32:2676:90","nodes":[{"id":58992,"nodeType":"PragmaDirective","src":"32:24:90","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":58993,"nodeType":"ImportDirective","src":"58:36:90","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":59096,"sourceUnit":58991,"symbolAliases":[],"unitAlias":""},{"id":58998,"nodeType":"EnumDefinition","src":"148:299:90","nodes":[],"canonicalName":"GameStatus","documentation":{"id":58994,"nodeType":"StructuredDocumentation","src":"96:52:90","text":"@notice The current status of the dispute game."},"members":[{"id":58995,"name":"IN_PROGRESS","nameLocation":"239:11:90","nodeType":"EnumValue","src":"239:11:90"},{"id":58996,"name":"CHALLENGER_WINS","nameLocation":"336:15:90","nodeType":"EnumValue","src":"336:15:90"},{"id":58997,"name":"DEFENDER_WINS","nameLocation":"432:13:90","nodeType":"EnumValue","src":"432:13:90"}],"name":"GameStatus","nameLocation":"153:10:90"},{"id":59005,"nodeType":"StructDefinition","src":"673:63:90","nodes":[],"canonicalName":"OutputRoot","documentation":{"id":58999,"nodeType":"StructuredDocumentation","src":"449:224:90","text":"@notice Represents an L2 output root and the L2 block number at which it was generated.\n @custom:field root The output root.\n @custom:field l2BlockNumber The L2 block number at which the output root was generated."},"members":[{"constant":false,"id":59002,"mutability":"mutable","name":"root","nameLocation":"702:4:90","nodeType":"VariableDeclaration","scope":59005,"src":"697:9:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$58932","typeString":"Hash"},"typeName":{"id":59001,"nodeType":"UserDefinedTypeName","pathNode":{"id":59000,"name":"Hash","nameLocations":["697:4:90"],"nodeType":"IdentifierPath","referencedDeclaration":58932,"src":"697:4:90"},"referencedDeclaration":58932,"src":"697:4:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$58932","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":59004,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"720:13:90","nodeType":"VariableDeclaration","scope":59005,"src":"712:21:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59003,"name":"uint256","nodeType":"ElementaryTypeName","src":"712:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OutputRoot","nameLocation":"680:10:90","scope":59096,"visibility":"public"},{"id":59039,"nodeType":"ContractDefinition","src":"831:574:90","nodes":[{"id":59014,"nodeType":"VariableDeclaration","src":"912:52:90","nodes":[],"constant":true,"documentation":{"id":59007,"nodeType":"StructuredDocumentation","src":"855:52:90","text":"@dev A dispute game type the uses the cannon vm."},"mutability":"constant","name":"CANNON","nameLocation":"939:6:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59009,"nodeType":"UserDefinedTypeName","pathNode":{"id":59008,"name":"GameType","nameLocations":["912:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"912:8:90"},"referencedDeclaration":58977,"src":"912:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"30","id":59012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:90","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"}],"expression":{"id":59010,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"948:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"957:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"948:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"948:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"},{"id":59022,"nodeType":"VariableDeclaration","src":"1041:65:90","nodes":[],"constant":true,"documentation":{"id":59015,"nodeType":"StructuredDocumentation","src":"971:65:90","text":"@dev A permissioned dispute game type the uses the cannon vm."},"mutability":"constant","name":"PERMISSIONED_CANNON","nameLocation":"1068:19:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59017,"nodeType":"UserDefinedTypeName","pathNode":{"id":59016,"name":"GameType","nameLocations":["1041:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"1041:8:90"},"referencedDeclaration":58977,"src":"1041:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"31","id":59020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":59018,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"1090:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1099:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1090:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1090:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"},{"id":59030,"nodeType":"VariableDeclaration","src":"1174:54:90","nodes":[],"constant":true,"documentation":{"id":59023,"nodeType":"StructuredDocumentation","src":"1113:56:90","text":"@notice A dispute game type the uses the asterisc VM"},"mutability":"constant","name":"ASTERISC","nameLocation":"1201:8:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59025,"nodeType":"UserDefinedTypeName","pathNode":{"id":59024,"name":"GameType","nameLocations":["1174:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"1174:8:90"},"referencedDeclaration":58977,"src":"1174:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"32","id":59028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1226:1:90","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":59026,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"1212:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1221:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1212:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"},{"id":59038,"nodeType":"VariableDeclaration","src":"1346:56:90","nodes":[],"constant":true,"documentation":{"id":59031,"nodeType":"StructuredDocumentation","src":"1235:106:90","text":"@notice A dispute game type that uses an alphabet vm.\n Not intended for production use."},"mutability":"constant","name":"ALPHABET","nameLocation":"1373:8:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59033,"nodeType":"UserDefinedTypeName","pathNode":{"id":59032,"name":"GameType","nameLocations":["1346:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"1346:8:90"},"referencedDeclaration":58977,"src":"1346:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323535","id":59036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1398:3:90","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"expression":{"id":59034,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"1384:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1393:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1384:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:18:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GameTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":59006,"nodeType":"StructuredDocumentation","src":"738:93:90","text":"@title GameTypes\n @notice A library that defines the IDs of games that can be played."},"fullyImplemented":true,"linearizedBaseContracts":[59039],"name":"GameTypes","nameLocation":"839:9:90","scope":59096,"usedErrors":[],"usedEvents":[]},{"id":59073,"nodeType":"ContractDefinition","src":"1499:503:90","nodes":[{"id":59048,"nodeType":"VariableDeclaration","src":"1599:51:90","nodes":[],"constant":true,"documentation":{"id":59041,"nodeType":"StructuredDocumentation","src":"1524:70:90","text":"@notice The VM has executed successfully and the outcome is valid."},"mutability":"constant","name":"VALID","nameLocation":"1626:5:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59043,"nodeType":"UserDefinedTypeName","pathNode":{"id":59042,"name":"VMStatus","nameLocations":["1599:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1599:8:90"},"referencedDeclaration":58962,"src":"1599:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"30","id":59046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1648:1:90","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"}],"expression":{"id":59044,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1634:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1643:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1634:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1634:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"},{"id":59056,"nodeType":"VariableDeclaration","src":"1734:53:90","nodes":[],"constant":true,"documentation":{"id":59049,"nodeType":"StructuredDocumentation","src":"1657:72:90","text":"@notice The VM has executed successfully and the outcome is invalid."},"mutability":"constant","name":"INVALID","nameLocation":"1761:7:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59051,"nodeType":"UserDefinedTypeName","pathNode":{"id":59050,"name":"VMStatus","nameLocations":["1734:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1734:8:90"},"referencedDeclaration":58962,"src":"1734:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"31","id":59054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:1:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":59052,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1771:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1780:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1771:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"},{"id":59064,"nodeType":"VariableDeclaration","src":"1830:51:90","nodes":[],"constant":true,"documentation":{"id":59057,"nodeType":"StructuredDocumentation","src":"1794:31:90","text":"@notice The VM has paniced."},"mutability":"constant","name":"PANIC","nameLocation":"1857:5:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59059,"nodeType":"UserDefinedTypeName","pathNode":{"id":59058,"name":"VMStatus","nameLocations":["1830:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1830:8:90"},"referencedDeclaration":58962,"src":"1830:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"32","id":59062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1879:1:90","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":59060,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1865:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1874:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1865:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1865:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"},{"id":59072,"nodeType":"VariableDeclaration","src":"1943:56:90","nodes":[],"constant":true,"documentation":{"id":59065,"nodeType":"StructuredDocumentation","src":"1888:50:90","text":"@notice The VM execution is still in progress."},"mutability":"constant","name":"UNFINISHED","nameLocation":"1970:10:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59067,"nodeType":"UserDefinedTypeName","pathNode":{"id":59066,"name":"VMStatus","nameLocations":["1943:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1943:8:90"},"referencedDeclaration":58962,"src":"1943:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"33","id":59070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1997:1:90","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"expression":{"id":59068,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1983:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1992:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1983:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"VMStatuses","contractDependencies":[],"contractKind":"library","documentation":{"id":59040,"nodeType":"StructuredDocumentation","src":"1407:92:90","text":"@title VMStatuses\n @notice Named type aliases for the various valid VM status bytes."},"fullyImplemented":true,"linearizedBaseContracts":[59073],"name":"VMStatuses","nameLocation":"1507:10:90","scope":59096,"usedErrors":[],"usedEvents":[]},{"id":59095,"nodeType":"ContractDefinition","src":"2107:600:90","nodes":[{"id":59078,"nodeType":"VariableDeclaration","src":"2191:45:90","nodes":[],"constant":true,"documentation":{"id":59075,"nodeType":"StructuredDocumentation","src":"2138:48:90","text":"@notice The identifier for the L1 head hash."},"mutability":"constant","name":"L1_HEAD_HASH","nameLocation":"2217:12:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59076,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":59077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2232:4:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":59082,"nodeType":"VariableDeclaration","src":"2304:53:90","nodes":[],"constant":true,"documentation":{"id":59079,"nodeType":"StructuredDocumentation","src":"2243:56:90","text":"@notice The identifier for the starting output root."},"mutability":"constant","name":"STARTING_OUTPUT_ROOT","nameLocation":"2330:20:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59080,"name":"uint256","nodeType":"ElementaryTypeName","src":"2304:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783032","id":59081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2353:4:90","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x02"},"visibility":"internal"},{"id":59086,"nodeType":"VariableDeclaration","src":"2425:53:90","nodes":[],"constant":true,"documentation":{"id":59083,"nodeType":"StructuredDocumentation","src":"2364:56:90","text":"@notice The identifier for the disputed output root."},"mutability":"constant","name":"DISPUTED_OUTPUT_ROOT","nameLocation":"2451:20:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59084,"name":"uint256","nodeType":"ElementaryTypeName","src":"2425:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783033","id":59085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2474:4:90","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"0x03"},"visibility":"internal"},{"id":59090,"nodeType":"VariableDeclaration","src":"2550:57:90","nodes":[],"constant":true,"documentation":{"id":59087,"nodeType":"StructuredDocumentation","src":"2485:60:90","text":"@notice The identifier for the disputed L2 block number."},"mutability":"constant","name":"DISPUTED_L2_BLOCK_NUMBER","nameLocation":"2576:24:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59088,"name":"uint256","nodeType":"ElementaryTypeName","src":"2550:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783034","id":59089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2603:4:90","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x04"},"visibility":"internal"},{"id":59094,"nodeType":"VariableDeclaration","src":"2663:41:90","nodes":[],"constant":true,"documentation":{"id":59091,"nodeType":"StructuredDocumentation","src":"2614:44:90","text":"@notice The identifier for the chain ID."},"mutability":"constant","name":"CHAIN_ID","nameLocation":"2689:8:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59092,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783035","id":59093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:4:90","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"0x05"},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"LocalPreimageKey","contractDependencies":[],"contractKind":"library","documentation":{"id":59074,"nodeType":"StructuredDocumentation","src":"2004:103:90","text":"@title LocalPreimageKey\n @notice Named type aliases for local `PreimageOracle` key identifiers."},"fullyImplemented":true,"linearizedBaseContracts":[59095],"name":"LocalPreimageKey","nameLocation":"2115:16:90","scope":59096,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":90}

@@ -1,1 +0,1 @@

{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"2107:600:28:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2107:600:28;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"2107:600:28:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"LocalPreimageKey\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Named type aliases for local `PreimageOracle` key identifiers.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/lib/Types.sol\":\"LocalPreimageKey\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/dispute/lib/LibPosition.sol\":{\"keccak256\":\"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d\",\"dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K\"]},\"src/dispute/lib/LibUDT.sol\":{\"keccak256\":\"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e\",\"dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX\"]},\"src/dispute/lib/Types.sol\":{\"keccak256\":\"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd\",\"dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/lib/Types.sol":"LocalPreimageKey"},"evmVersion":"cancun","libraries":{}},"sources":{"src/dispute/lib/LibPosition.sol":{"keccak256":"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241","urls":["bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d","dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K"],"license":"MIT"},"src/dispute/lib/LibUDT.sol":{"keccak256":"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855","urls":["bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e","dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX"],"license":"MIT"},"src/dispute/lib/Types.sol":{"keccak256":"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8","urls":["bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd","dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Named type aliases for local `PreimageOracle` key identifiers."},"devdoc":{"version":1,"kind":"dev","title":"LocalPreimageKey"},"ast":{"absolutePath":"src/dispute/lib/Types.sol","id":47783,"exportedSymbols":{"Claim":[47572],"Clock":[47480],"Duration":[47604],"GameId":[47534],"GameStatus":[47685],"GameType":[47664],"GameTypes":[47726],"Hash":[47619],"LibClaim":[47602],"LibClock":[47532],"LibDuration":[47617],"LibGameId":[47570],"LibGameType":[47677],"LibHash":[47632],"LibPosition":[47443],"LibTimestamp":[47647],"LibVMStatus":[47662],"LocalPreimageKey":[47782],"OutputRoot":[47692],"Position":[47230],"Timestamp":[47634],"VMStatus":[47649],"VMStatuses":[47760]},"nodeType":"SourceUnit","src":"32:2676:28","nodes":[{"id":47679,"nodeType":"PragmaDirective","src":"32:24:28","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":47680,"nodeType":"ImportDirective","src":"58:36:28","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":47783,"sourceUnit":47678,"symbolAliases":[],"unitAlias":""},{"id":47685,"nodeType":"EnumDefinition","src":"148:299:28","nodes":[],"canonicalName":"GameStatus","documentation":{"id":47681,"nodeType":"StructuredDocumentation","src":"96:52:28","text":"@notice The current status of the dispute game."},"members":[{"id":47682,"name":"IN_PROGRESS","nameLocation":"239:11:28","nodeType":"EnumValue","src":"239:11:28"},{"id":47683,"name":"CHALLENGER_WINS","nameLocation":"336:15:28","nodeType":"EnumValue","src":"336:15:28"},{"id":47684,"name":"DEFENDER_WINS","nameLocation":"432:13:28","nodeType":"EnumValue","src":"432:13:28"}],"name":"GameStatus","nameLocation":"153:10:28"},{"id":47692,"nodeType":"StructDefinition","src":"673:63:28","nodes":[],"canonicalName":"OutputRoot","documentation":{"id":47686,"nodeType":"StructuredDocumentation","src":"449:224:28","text":"@notice Represents an L2 output root and the L2 block number at which it was generated.\n @custom:field root The output root.\n @custom:field l2BlockNumber The L2 block number at which the output root was generated."},"members":[{"constant":false,"id":47689,"mutability":"mutable","name":"root","nameLocation":"702:4:28","nodeType":"VariableDeclaration","scope":47692,"src":"697:9:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$47619","typeString":"Hash"},"typeName":{"id":47688,"nodeType":"UserDefinedTypeName","pathNode":{"id":47687,"name":"Hash","nameLocations":["697:4:28"],"nodeType":"IdentifierPath","referencedDeclaration":47619,"src":"697:4:28"},"referencedDeclaration":47619,"src":"697:4:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$47619","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":47691,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"720:13:28","nodeType":"VariableDeclaration","scope":47692,"src":"712:21:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47690,"name":"uint256","nodeType":"ElementaryTypeName","src":"712:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OutputRoot","nameLocation":"680:10:28","scope":47783,"visibility":"public"},{"id":47726,"nodeType":"ContractDefinition","src":"831:574:28","nodes":[{"id":47701,"nodeType":"VariableDeclaration","src":"912:52:28","nodes":[],"constant":true,"documentation":{"id":47694,"nodeType":"StructuredDocumentation","src":"855:52:28","text":"@dev A dispute game type the uses the cannon vm."},"mutability":"constant","name":"CANNON","nameLocation":"939:6:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47696,"nodeType":"UserDefinedTypeName","pathNode":{"id":47695,"name":"GameType","nameLocations":["912:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"912:8:28"},"referencedDeclaration":47664,"src":"912:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"30","id":47699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:28","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"}],"expression":{"id":47697,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"948:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"957:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"948:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"948:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"},{"id":47709,"nodeType":"VariableDeclaration","src":"1041:65:28","nodes":[],"constant":true,"documentation":{"id":47702,"nodeType":"StructuredDocumentation","src":"971:65:28","text":"@dev A permissioned dispute game type the uses the cannon vm."},"mutability":"constant","name":"PERMISSIONED_CANNON","nameLocation":"1068:19:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47704,"nodeType":"UserDefinedTypeName","pathNode":{"id":47703,"name":"GameType","nameLocations":["1041:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"1041:8:28"},"referencedDeclaration":47664,"src":"1041:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"31","id":47707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":47705,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"1090:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1099:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1090:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1090:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"},{"id":47717,"nodeType":"VariableDeclaration","src":"1174:54:28","nodes":[],"constant":true,"documentation":{"id":47710,"nodeType":"StructuredDocumentation","src":"1113:56:28","text":"@notice A dispute game type the uses the asterisc VM"},"mutability":"constant","name":"ASTERISC","nameLocation":"1201:8:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47712,"nodeType":"UserDefinedTypeName","pathNode":{"id":47711,"name":"GameType","nameLocations":["1174:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"1174:8:28"},"referencedDeclaration":47664,"src":"1174:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"32","id":47715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1226:1:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":47713,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"1212:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1221:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1212:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"},{"id":47725,"nodeType":"VariableDeclaration","src":"1346:56:28","nodes":[],"constant":true,"documentation":{"id":47718,"nodeType":"StructuredDocumentation","src":"1235:106:28","text":"@notice A dispute game type that uses an alphabet vm.\n Not intended for production use."},"mutability":"constant","name":"ALPHABET","nameLocation":"1373:8:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47720,"nodeType":"UserDefinedTypeName","pathNode":{"id":47719,"name":"GameType","nameLocations":["1346:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"1346:8:28"},"referencedDeclaration":47664,"src":"1346:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323535","id":47723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1398:3:28","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"expression":{"id":47721,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"1384:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1393:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1384:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:18:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GameTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":47693,"nodeType":"StructuredDocumentation","src":"738:93:28","text":"@title GameTypes\n @notice A library that defines the IDs of games that can be played."},"fullyImplemented":true,"linearizedBaseContracts":[47726],"name":"GameTypes","nameLocation":"839:9:28","scope":47783,"usedErrors":[],"usedEvents":[]},{"id":47760,"nodeType":"ContractDefinition","src":"1499:503:28","nodes":[{"id":47735,"nodeType":"VariableDeclaration","src":"1599:51:28","nodes":[],"constant":true,"documentation":{"id":47728,"nodeType":"StructuredDocumentation","src":"1524:70:28","text":"@notice The VM has executed successfully and the outcome is valid."},"mutability":"constant","name":"VALID","nameLocation":"1626:5:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47730,"nodeType":"UserDefinedTypeName","pathNode":{"id":47729,"name":"VMStatus","nameLocations":["1599:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1599:8:28"},"referencedDeclaration":47649,"src":"1599:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"30","id":47733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1648:1:28","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"}],"expression":{"id":47731,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1634:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1643:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1634:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1634:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"},{"id":47743,"nodeType":"VariableDeclaration","src":"1734:53:28","nodes":[],"constant":true,"documentation":{"id":47736,"nodeType":"StructuredDocumentation","src":"1657:72:28","text":"@notice The VM has executed successfully and the outcome is invalid."},"mutability":"constant","name":"INVALID","nameLocation":"1761:7:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47738,"nodeType":"UserDefinedTypeName","pathNode":{"id":47737,"name":"VMStatus","nameLocations":["1734:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1734:8:28"},"referencedDeclaration":47649,"src":"1734:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"31","id":47741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":47739,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1771:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1780:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1771:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"},{"id":47751,"nodeType":"VariableDeclaration","src":"1830:51:28","nodes":[],"constant":true,"documentation":{"id":47744,"nodeType":"StructuredDocumentation","src":"1794:31:28","text":"@notice The VM has paniced."},"mutability":"constant","name":"PANIC","nameLocation":"1857:5:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47746,"nodeType":"UserDefinedTypeName","pathNode":{"id":47745,"name":"VMStatus","nameLocations":["1830:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1830:8:28"},"referencedDeclaration":47649,"src":"1830:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"32","id":47749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1879:1:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":47747,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1865:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1874:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1865:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1865:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"},{"id":47759,"nodeType":"VariableDeclaration","src":"1943:56:28","nodes":[],"constant":true,"documentation":{"id":47752,"nodeType":"StructuredDocumentation","src":"1888:50:28","text":"@notice The VM execution is still in progress."},"mutability":"constant","name":"UNFINISHED","nameLocation":"1970:10:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47754,"nodeType":"UserDefinedTypeName","pathNode":{"id":47753,"name":"VMStatus","nameLocations":["1943:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1943:8:28"},"referencedDeclaration":47649,"src":"1943:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"33","id":47757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1997:1:28","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"expression":{"id":47755,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1983:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1992:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1983:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"VMStatuses","contractDependencies":[],"contractKind":"library","documentation":{"id":47727,"nodeType":"StructuredDocumentation","src":"1407:92:28","text":"@title VMStatuses\n @notice Named type aliases for the various valid VM status bytes."},"fullyImplemented":true,"linearizedBaseContracts":[47760],"name":"VMStatuses","nameLocation":"1507:10:28","scope":47783,"usedErrors":[],"usedEvents":[]},{"id":47782,"nodeType":"ContractDefinition","src":"2107:600:28","nodes":[{"id":47765,"nodeType":"VariableDeclaration","src":"2191:45:28","nodes":[],"constant":true,"documentation":{"id":47762,"nodeType":"StructuredDocumentation","src":"2138:48:28","text":"@notice The identifier for the L1 head hash."},"mutability":"constant","name":"L1_HEAD_HASH","nameLocation":"2217:12:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47763,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":47764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2232:4:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":47769,"nodeType":"VariableDeclaration","src":"2304:53:28","nodes":[],"constant":true,"documentation":{"id":47766,"nodeType":"StructuredDocumentation","src":"2243:56:28","text":"@notice The identifier for the starting output root."},"mutability":"constant","name":"STARTING_OUTPUT_ROOT","nameLocation":"2330:20:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47767,"name":"uint256","nodeType":"ElementaryTypeName","src":"2304:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783032","id":47768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2353:4:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x02"},"visibility":"internal"},{"id":47773,"nodeType":"VariableDeclaration","src":"2425:53:28","nodes":[],"constant":true,"documentation":{"id":47770,"nodeType":"StructuredDocumentation","src":"2364:56:28","text":"@notice The identifier for the disputed output root."},"mutability":"constant","name":"DISPUTED_OUTPUT_ROOT","nameLocation":"2451:20:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47771,"name":"uint256","nodeType":"ElementaryTypeName","src":"2425:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783033","id":47772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2474:4:28","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"0x03"},"visibility":"internal"},{"id":47777,"nodeType":"VariableDeclaration","src":"2550:57:28","nodes":[],"constant":true,"documentation":{"id":47774,"nodeType":"StructuredDocumentation","src":"2485:60:28","text":"@notice The identifier for the disputed L2 block number."},"mutability":"constant","name":"DISPUTED_L2_BLOCK_NUMBER","nameLocation":"2576:24:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47775,"name":"uint256","nodeType":"ElementaryTypeName","src":"2550:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783034","id":47776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2603:4:28","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x04"},"visibility":"internal"},{"id":47781,"nodeType":"VariableDeclaration","src":"2663:41:28","nodes":[],"constant":true,"documentation":{"id":47778,"nodeType":"StructuredDocumentation","src":"2614:44:28","text":"@notice The identifier for the chain ID."},"mutability":"constant","name":"CHAIN_ID","nameLocation":"2689:8:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47779,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783035","id":47780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:4:28","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"0x05"},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"LocalPreimageKey","contractDependencies":[],"contractKind":"library","documentation":{"id":47761,"nodeType":"StructuredDocumentation","src":"2004:103:28","text":"@title LocalPreimageKey\n @notice Named type aliases for local `PreimageOracle` key identifiers."},"fullyImplemented":true,"linearizedBaseContracts":[47782],"name":"LocalPreimageKey","nameLocation":"2115:16:28","scope":47783,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":28}
{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"2107:600:90:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2107:600:90;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"2107:600:90:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"LocalPreimageKey\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Named type aliases for local `PreimageOracle` key identifiers.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/lib/Types.sol\":\"LocalPreimageKey\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/dispute/lib/LibPosition.sol\":{\"keccak256\":\"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d\",\"dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K\"]},\"src/dispute/lib/LibUDT.sol\":{\"keccak256\":\"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e\",\"dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX\"]},\"src/dispute/lib/Types.sol\":{\"keccak256\":\"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd\",\"dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/lib/Types.sol":"LocalPreimageKey"},"evmVersion":"cancun","libraries":{}},"sources":{"src/dispute/lib/LibPosition.sol":{"keccak256":"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241","urls":["bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d","dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K"],"license":"MIT"},"src/dispute/lib/LibUDT.sol":{"keccak256":"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855","urls":["bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e","dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX"],"license":"MIT"},"src/dispute/lib/Types.sol":{"keccak256":"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8","urls":["bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd","dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Named type aliases for local `PreimageOracle` key identifiers."},"devdoc":{"version":1,"kind":"dev","title":"LocalPreimageKey"},"ast":{"absolutePath":"src/dispute/lib/Types.sol","id":59096,"exportedSymbols":{"Claim":[58885],"Clock":[58793],"Duration":[58917],"GameId":[58847],"GameStatus":[58998],"GameType":[58977],"GameTypes":[59039],"Hash":[58932],"LibClaim":[58915],"LibClock":[58845],"LibDuration":[58930],"LibGameId":[58883],"LibGameType":[58990],"LibHash":[58945],"LibPosition":[58756],"LibTimestamp":[58960],"LibVMStatus":[58975],"LocalPreimageKey":[59095],"OutputRoot":[59005],"Position":[58543],"Timestamp":[58947],"VMStatus":[58962],"VMStatuses":[59073]},"nodeType":"SourceUnit","src":"32:2676:90","nodes":[{"id":58992,"nodeType":"PragmaDirective","src":"32:24:90","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":58993,"nodeType":"ImportDirective","src":"58:36:90","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":59096,"sourceUnit":58991,"symbolAliases":[],"unitAlias":""},{"id":58998,"nodeType":"EnumDefinition","src":"148:299:90","nodes":[],"canonicalName":"GameStatus","documentation":{"id":58994,"nodeType":"StructuredDocumentation","src":"96:52:90","text":"@notice The current status of the dispute game."},"members":[{"id":58995,"name":"IN_PROGRESS","nameLocation":"239:11:90","nodeType":"EnumValue","src":"239:11:90"},{"id":58996,"name":"CHALLENGER_WINS","nameLocation":"336:15:90","nodeType":"EnumValue","src":"336:15:90"},{"id":58997,"name":"DEFENDER_WINS","nameLocation":"432:13:90","nodeType":"EnumValue","src":"432:13:90"}],"name":"GameStatus","nameLocation":"153:10:90"},{"id":59005,"nodeType":"StructDefinition","src":"673:63:90","nodes":[],"canonicalName":"OutputRoot","documentation":{"id":58999,"nodeType":"StructuredDocumentation","src":"449:224:90","text":"@notice Represents an L2 output root and the L2 block number at which it was generated.\n @custom:field root The output root.\n @custom:field l2BlockNumber The L2 block number at which the output root was generated."},"members":[{"constant":false,"id":59002,"mutability":"mutable","name":"root","nameLocation":"702:4:90","nodeType":"VariableDeclaration","scope":59005,"src":"697:9:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$58932","typeString":"Hash"},"typeName":{"id":59001,"nodeType":"UserDefinedTypeName","pathNode":{"id":59000,"name":"Hash","nameLocations":["697:4:90"],"nodeType":"IdentifierPath","referencedDeclaration":58932,"src":"697:4:90"},"referencedDeclaration":58932,"src":"697:4:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$58932","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":59004,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"720:13:90","nodeType":"VariableDeclaration","scope":59005,"src":"712:21:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59003,"name":"uint256","nodeType":"ElementaryTypeName","src":"712:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OutputRoot","nameLocation":"680:10:90","scope":59096,"visibility":"public"},{"id":59039,"nodeType":"ContractDefinition","src":"831:574:90","nodes":[{"id":59014,"nodeType":"VariableDeclaration","src":"912:52:90","nodes":[],"constant":true,"documentation":{"id":59007,"nodeType":"StructuredDocumentation","src":"855:52:90","text":"@dev A dispute game type the uses the cannon vm."},"mutability":"constant","name":"CANNON","nameLocation":"939:6:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59009,"nodeType":"UserDefinedTypeName","pathNode":{"id":59008,"name":"GameType","nameLocations":["912:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"912:8:90"},"referencedDeclaration":58977,"src":"912:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"30","id":59012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:90","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"}],"expression":{"id":59010,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"948:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"957:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"948:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"948:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"},{"id":59022,"nodeType":"VariableDeclaration","src":"1041:65:90","nodes":[],"constant":true,"documentation":{"id":59015,"nodeType":"StructuredDocumentation","src":"971:65:90","text":"@dev A permissioned dispute game type the uses the cannon vm."},"mutability":"constant","name":"PERMISSIONED_CANNON","nameLocation":"1068:19:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59017,"nodeType":"UserDefinedTypeName","pathNode":{"id":59016,"name":"GameType","nameLocations":["1041:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"1041:8:90"},"referencedDeclaration":58977,"src":"1041:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"31","id":59020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":59018,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"1090:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1099:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1090:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1090:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"},{"id":59030,"nodeType":"VariableDeclaration","src":"1174:54:90","nodes":[],"constant":true,"documentation":{"id":59023,"nodeType":"StructuredDocumentation","src":"1113:56:90","text":"@notice A dispute game type the uses the asterisc VM"},"mutability":"constant","name":"ASTERISC","nameLocation":"1201:8:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59025,"nodeType":"UserDefinedTypeName","pathNode":{"id":59024,"name":"GameType","nameLocations":["1174:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"1174:8:90"},"referencedDeclaration":58977,"src":"1174:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"32","id":59028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1226:1:90","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":59026,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"1212:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1221:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1212:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"},{"id":59038,"nodeType":"VariableDeclaration","src":"1346:56:90","nodes":[],"constant":true,"documentation":{"id":59031,"nodeType":"StructuredDocumentation","src":"1235:106:90","text":"@notice A dispute game type that uses an alphabet vm.\n Not intended for production use."},"mutability":"constant","name":"ALPHABET","nameLocation":"1373:8:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59033,"nodeType":"UserDefinedTypeName","pathNode":{"id":59032,"name":"GameType","nameLocations":["1346:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"1346:8:90"},"referencedDeclaration":58977,"src":"1346:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323535","id":59036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1398:3:90","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"expression":{"id":59034,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"1384:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1393:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1384:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:18:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GameTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":59006,"nodeType":"StructuredDocumentation","src":"738:93:90","text":"@title GameTypes\n @notice A library that defines the IDs of games that can be played."},"fullyImplemented":true,"linearizedBaseContracts":[59039],"name":"GameTypes","nameLocation":"839:9:90","scope":59096,"usedErrors":[],"usedEvents":[]},{"id":59073,"nodeType":"ContractDefinition","src":"1499:503:90","nodes":[{"id":59048,"nodeType":"VariableDeclaration","src":"1599:51:90","nodes":[],"constant":true,"documentation":{"id":59041,"nodeType":"StructuredDocumentation","src":"1524:70:90","text":"@notice The VM has executed successfully and the outcome is valid."},"mutability":"constant","name":"VALID","nameLocation":"1626:5:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59043,"nodeType":"UserDefinedTypeName","pathNode":{"id":59042,"name":"VMStatus","nameLocations":["1599:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1599:8:90"},"referencedDeclaration":58962,"src":"1599:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"30","id":59046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1648:1:90","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"}],"expression":{"id":59044,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1634:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1643:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1634:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1634:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"},{"id":59056,"nodeType":"VariableDeclaration","src":"1734:53:90","nodes":[],"constant":true,"documentation":{"id":59049,"nodeType":"StructuredDocumentation","src":"1657:72:90","text":"@notice The VM has executed successfully and the outcome is invalid."},"mutability":"constant","name":"INVALID","nameLocation":"1761:7:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59051,"nodeType":"UserDefinedTypeName","pathNode":{"id":59050,"name":"VMStatus","nameLocations":["1734:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1734:8:90"},"referencedDeclaration":58962,"src":"1734:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"31","id":59054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:1:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":59052,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1771:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1780:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1771:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"},{"id":59064,"nodeType":"VariableDeclaration","src":"1830:51:90","nodes":[],"constant":true,"documentation":{"id":59057,"nodeType":"StructuredDocumentation","src":"1794:31:90","text":"@notice The VM has paniced."},"mutability":"constant","name":"PANIC","nameLocation":"1857:5:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59059,"nodeType":"UserDefinedTypeName","pathNode":{"id":59058,"name":"VMStatus","nameLocations":["1830:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1830:8:90"},"referencedDeclaration":58962,"src":"1830:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"32","id":59062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1879:1:90","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":59060,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1865:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1874:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1865:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1865:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"},{"id":59072,"nodeType":"VariableDeclaration","src":"1943:56:90","nodes":[],"constant":true,"documentation":{"id":59065,"nodeType":"StructuredDocumentation","src":"1888:50:90","text":"@notice The VM execution is still in progress."},"mutability":"constant","name":"UNFINISHED","nameLocation":"1970:10:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59067,"nodeType":"UserDefinedTypeName","pathNode":{"id":59066,"name":"VMStatus","nameLocations":["1943:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1943:8:90"},"referencedDeclaration":58962,"src":"1943:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"33","id":59070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1997:1:90","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"expression":{"id":59068,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1983:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1992:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1983:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"VMStatuses","contractDependencies":[],"contractKind":"library","documentation":{"id":59040,"nodeType":"StructuredDocumentation","src":"1407:92:90","text":"@title VMStatuses\n @notice Named type aliases for the various valid VM status bytes."},"fullyImplemented":true,"linearizedBaseContracts":[59073],"name":"VMStatuses","nameLocation":"1507:10:90","scope":59096,"usedErrors":[],"usedEvents":[]},{"id":59095,"nodeType":"ContractDefinition","src":"2107:600:90","nodes":[{"id":59078,"nodeType":"VariableDeclaration","src":"2191:45:90","nodes":[],"constant":true,"documentation":{"id":59075,"nodeType":"StructuredDocumentation","src":"2138:48:90","text":"@notice The identifier for the L1 head hash."},"mutability":"constant","name":"L1_HEAD_HASH","nameLocation":"2217:12:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59076,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":59077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2232:4:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":59082,"nodeType":"VariableDeclaration","src":"2304:53:90","nodes":[],"constant":true,"documentation":{"id":59079,"nodeType":"StructuredDocumentation","src":"2243:56:90","text":"@notice The identifier for the starting output root."},"mutability":"constant","name":"STARTING_OUTPUT_ROOT","nameLocation":"2330:20:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59080,"name":"uint256","nodeType":"ElementaryTypeName","src":"2304:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783032","id":59081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2353:4:90","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x02"},"visibility":"internal"},{"id":59086,"nodeType":"VariableDeclaration","src":"2425:53:90","nodes":[],"constant":true,"documentation":{"id":59083,"nodeType":"StructuredDocumentation","src":"2364:56:90","text":"@notice The identifier for the disputed output root."},"mutability":"constant","name":"DISPUTED_OUTPUT_ROOT","nameLocation":"2451:20:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59084,"name":"uint256","nodeType":"ElementaryTypeName","src":"2425:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783033","id":59085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2474:4:90","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"0x03"},"visibility":"internal"},{"id":59090,"nodeType":"VariableDeclaration","src":"2550:57:90","nodes":[],"constant":true,"documentation":{"id":59087,"nodeType":"StructuredDocumentation","src":"2485:60:90","text":"@notice The identifier for the disputed L2 block number."},"mutability":"constant","name":"DISPUTED_L2_BLOCK_NUMBER","nameLocation":"2576:24:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59088,"name":"uint256","nodeType":"ElementaryTypeName","src":"2550:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783034","id":59089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2603:4:90","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x04"},"visibility":"internal"},{"id":59094,"nodeType":"VariableDeclaration","src":"2663:41:90","nodes":[],"constant":true,"documentation":{"id":59091,"nodeType":"StructuredDocumentation","src":"2614:44:90","text":"@notice The identifier for the chain ID."},"mutability":"constant","name":"CHAIN_ID","nameLocation":"2689:8:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59092,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783035","id":59093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:4:90","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"0x05"},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"LocalPreimageKey","contractDependencies":[],"contractKind":"library","documentation":{"id":59074,"nodeType":"StructuredDocumentation","src":"2004:103:90","text":"@title LocalPreimageKey\n @notice Named type aliases for local `PreimageOracle` key identifiers."},"fullyImplemented":true,"linearizedBaseContracts":[59095],"name":"LocalPreimageKey","nameLocation":"2115:16:90","scope":59096,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":90}

@@ -1,1 +0,1 @@

{"abi":[],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"155:3104:211:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;155:3104:211;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"155:3104:211:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Types\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Contains various types used throughout the Optimism contract system.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/Types.sol\":\"Types\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/libraries/Types.sol\":{\"keccak256\":\"0x75900d651301940d24c00d14f0b3b6cbd6dcf379173ceaa31d9bf5be934a9aa4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c2632c5bf4fa3982391c32110eec9fa07917b483b2442cbaf18bdde5bdb24e\",\"dweb:/ipfs/QmSUs6Amkeootf5gKGbKi4mJpvhN2U8i1ED6ef2dskV5xc\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/libraries/Types.sol":"Types"},"evmVersion":"london","libraries":{}},"sources":{"src/libraries/Types.sol":{"keccak256":"0x75900d651301940d24c00d14f0b3b6cbd6dcf379173ceaa31d9bf5be934a9aa4","urls":["bzz-raw://99c2632c5bf4fa3982391c32110eec9fa07917b483b2442cbaf18bdde5bdb24e","dweb:/ipfs/QmSUs6Amkeootf5gKGbKi4mJpvhN2U8i1ED6ef2dskV5xc"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Contains various types used throughout the Optimism contract system."},"devdoc":{"version":1,"kind":"dev","title":"Types"},"ast":{"absolutePath":"src/libraries/Types.sol","id":108362,"exportedSymbols":{"Types":[108361]},"nodeType":"SourceUnit","src":"32:3228:211","nodes":[{"id":108311,"nodeType":"PragmaDirective","src":"32:23:211","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":108361,"nodeType":"ContractDefinition","src":"155:3104:211","nodes":[{"id":108319,"nodeType":"StructDefinition","src":"699:115:211","nodes":[],"canonicalName":"Types.OutputProposal","members":[{"constant":false,"id":108314,"mutability":"mutable","name":"outputRoot","nameLocation":"739:10:211","nodeType":"VariableDeclaration","scope":108319,"src":"731:18:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":108313,"name":"bytes32","nodeType":"ElementaryTypeName","src":"731:7:211","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":108316,"mutability":"mutable","name":"timestamp","nameLocation":"767:9:211","nodeType":"VariableDeclaration","scope":108319,"src":"759:17:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":108315,"name":"uint128","nodeType":"ElementaryTypeName","src":"759:7:211","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"},{"constant":false,"id":108318,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"794:13:211","nodeType":"VariableDeclaration","scope":108319,"src":"786:21:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":108317,"name":"uint128","nodeType":"ElementaryTypeName","src":"786:7:211","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"name":"OutputProposal","nameLocation":"706:14:211","scope":108361,"visibility":"public"},{"id":108328,"nodeType":"StructDefinition","src":"1348:157:211","nodes":[],"canonicalName":"Types.OutputRootProof","members":[{"constant":false,"id":108321,"mutability":"mutable","name":"version","nameLocation":"1389:7:211","nodeType":"VariableDeclaration","scope":108328,"src":"1381:15:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":108320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1381:7:211","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":108323,"mutability":"mutable","name":"stateRoot","nameLocation":"1414:9:211","nodeType":"VariableDeclaration","scope":108328,"src":"1406:17:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":108322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1406:7:211","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":108325,"mutability":"mutable","name":"messagePasserStorageRoot","nameLocation":"1441:24:211","nodeType":"VariableDeclaration","scope":108328,"src":"1433:32:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":108324,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1433:7:211","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":108327,"mutability":"mutable","name":"latestBlockhash","nameLocation":"1483:15:211","nodeType":"VariableDeclaration","scope":108328,"src":"1475:23:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":108326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1475:7:211","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"OutputRootProof","nameLocation":"1355:15:211","scope":108361,"visibility":"public"},{"id":108347,"nodeType":"StructDefinition","src":"2368:249:211","nodes":[],"canonicalName":"Types.UserDepositTransaction","members":[{"constant":false,"id":108330,"mutability":"mutable","name":"from","nameLocation":"2416:4:211","nodeType":"VariableDeclaration","scope":108347,"src":"2408:12:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":108329,"name":"address","nodeType":"ElementaryTypeName","src":"2408:7:211","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":108332,"mutability":"mutable","name":"to","nameLocation":"2438:2:211","nodeType":"VariableDeclaration","scope":108347,"src":"2430:10:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":108331,"name":"address","nodeType":"ElementaryTypeName","src":"2430:7:211","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":108334,"mutability":"mutable","name":"isCreation","nameLocation":"2455:10:211","nodeType":"VariableDeclaration","scope":108347,"src":"2450:15:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":108333,"name":"bool","nodeType":"ElementaryTypeName","src":"2450:4:211","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":108336,"mutability":"mutable","name":"value","nameLocation":"2483:5:211","nodeType":"VariableDeclaration","scope":108347,"src":"2475:13:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":108335,"name":"uint256","nodeType":"ElementaryTypeName","src":"2475:7:211","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":108338,"mutability":"mutable","name":"mint","nameLocation":"2506:4:211","nodeType":"VariableDeclaration","scope":108347,"src":"2498:12:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":108337,"name":"uint256","nodeType":"ElementaryTypeName","src":"2498:7:211","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":108340,"mutability":"mutable","name":"gasLimit","nameLocation":"2527:8:211","nodeType":"VariableDeclaration","scope":108347,"src":"2520:15:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":108339,"name":"uint64","nodeType":"ElementaryTypeName","src":"2520:6:211","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":108342,"mutability":"mutable","name":"data","nameLocation":"2551:4:211","nodeType":"VariableDeclaration","scope":108347,"src":"2545:10:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":108341,"name":"bytes","nodeType":"ElementaryTypeName","src":"2545:5:211","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":108344,"mutability":"mutable","name":"l1BlockHash","nameLocation":"2573:11:211","nodeType":"VariableDeclaration","scope":108347,"src":"2565:19:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":108343,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2565:7:211","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":108346,"mutability":"mutable","name":"logIndex","nameLocation":"2602:8:211","nodeType":"VariableDeclaration","scope":108347,"src":"2594:16:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":108345,"name":"uint256","nodeType":"ElementaryTypeName","src":"2594:7:211","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"UserDepositTransaction","nameLocation":"2375:22:211","scope":108361,"visibility":"public"},{"id":108360,"nodeType":"StructDefinition","src":"3081:176:211","nodes":[],"canonicalName":"Types.WithdrawalTransaction","members":[{"constant":false,"id":108349,"mutability":"mutable","name":"nonce","nameLocation":"3128:5:211","nodeType":"VariableDeclaration","scope":108360,"src":"3120:13:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":108348,"name":"uint256","nodeType":"ElementaryTypeName","src":"3120:7:211","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":108351,"mutability":"mutable","name":"sender","nameLocation":"3151:6:211","nodeType":"VariableDeclaration","scope":108360,"src":"3143:14:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":108350,"name":"address","nodeType":"ElementaryTypeName","src":"3143:7:211","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":108353,"mutability":"mutable","name":"target","nameLocation":"3175:6:211","nodeType":"VariableDeclaration","scope":108360,"src":"3167:14:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":108352,"name":"address","nodeType":"ElementaryTypeName","src":"3167:7:211","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":108355,"mutability":"mutable","name":"value","nameLocation":"3199:5:211","nodeType":"VariableDeclaration","scope":108360,"src":"3191:13:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":108354,"name":"uint256","nodeType":"ElementaryTypeName","src":"3191:7:211","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":108357,"mutability":"mutable","name":"gasLimit","nameLocation":"3222:8:211","nodeType":"VariableDeclaration","scope":108360,"src":"3214:16:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":108356,"name":"uint256","nodeType":"ElementaryTypeName","src":"3214:7:211","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":108359,"mutability":"mutable","name":"data","nameLocation":"3246:4:211","nodeType":"VariableDeclaration","scope":108360,"src":"3240:10:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":108358,"name":"bytes","nodeType":"ElementaryTypeName","src":"3240:5:211","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"WithdrawalTransaction","nameLocation":"3088:21:211","scope":108361,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"Types","contractDependencies":[],"contractKind":"library","documentation":{"id":108312,"nodeType":"StructuredDocumentation","src":"57:98:211","text":"@title Types\n @notice Contains various types used throughout the Optimism contract system."},"fullyImplemented":true,"linearizedBaseContracts":[108361],"name":"Types","nameLocation":"163:5:211","scope":108362,"usedErrors":[]}],"license":"MIT"},"id":211}
{"abi":[],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"57:583:125:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:583:125;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"57:583:125:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/Types.sol\":\"Types\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"scripts/Types.sol\":{\"keccak256\":\"0x6327c7743304c715a86373da5a50f0570cbc81e8f55b282540ccdd19d8703773\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11d7312c0ab7ab7aae8191a839cab65bff494a98b76fe7dd32762c4f3a4081a4\",\"dweb:/ipfs/QmTeH5ds1CU8HBq8zDPjZZJUMv53cyTkfib4WKCaXK9UcD\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"scripts/Types.sol":"Types"},"evmVersion":"london","libraries":{}},"sources":{"scripts/Types.sol":{"keccak256":"0x6327c7743304c715a86373da5a50f0570cbc81e8f55b282540ccdd19d8703773","urls":["bzz-raw://11d7312c0ab7ab7aae8191a839cab65bff494a98b76fe7dd32762c4f3a4081a4","dweb:/ipfs/QmTeH5ds1CU8HBq8zDPjZZJUMv53cyTkfib4WKCaXK9UcD"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"scripts/Types.sol","id":82708,"exportedSymbols":{"Types":[82707]},"nodeType":"SourceUnit","src":"32:609:125","nodes":[{"id":82679,"nodeType":"PragmaDirective","src":"32:23:125","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":82707,"nodeType":"ContractDefinition","src":"57:583:125","nodes":[{"id":82706,"nodeType":"StructDefinition","src":"163:475:125","nodes":[],"canonicalName":"Types.ContractSet","members":[{"constant":false,"id":82681,"mutability":"mutable","name":"L1CrossDomainMessenger","nameLocation":"200:22:125","nodeType":"VariableDeclaration","scope":82706,"src":"192:30:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82680,"name":"address","nodeType":"ElementaryTypeName","src":"192:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82683,"mutability":"mutable","name":"L1StandardBridge","nameLocation":"240:16:125","nodeType":"VariableDeclaration","scope":82706,"src":"232:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82682,"name":"address","nodeType":"ElementaryTypeName","src":"232:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82685,"mutability":"mutable","name":"L2OutputOracle","nameLocation":"274:14:125","nodeType":"VariableDeclaration","scope":82706,"src":"266:22:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82684,"name":"address","nodeType":"ElementaryTypeName","src":"266:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82687,"mutability":"mutable","name":"DisputeGameFactory","nameLocation":"306:18:125","nodeType":"VariableDeclaration","scope":82706,"src":"298:26:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82686,"name":"address","nodeType":"ElementaryTypeName","src":"298:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82689,"mutability":"mutable","name":"DelayedWETH","nameLocation":"342:11:125","nodeType":"VariableDeclaration","scope":82706,"src":"334:19:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82688,"name":"address","nodeType":"ElementaryTypeName","src":"334:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82691,"mutability":"mutable","name":"AnchorStateRegistry","nameLocation":"371:19:125","nodeType":"VariableDeclaration","scope":82706,"src":"363:27:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82690,"name":"address","nodeType":"ElementaryTypeName","src":"363:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82693,"mutability":"mutable","name":"OptimismMintableERC20Factory","nameLocation":"408:28:125","nodeType":"VariableDeclaration","scope":82706,"src":"400:36:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82692,"name":"address","nodeType":"ElementaryTypeName","src":"400:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82695,"mutability":"mutable","name":"OptimismPortal","nameLocation":"454:14:125","nodeType":"VariableDeclaration","scope":82706,"src":"446:22:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82694,"name":"address","nodeType":"ElementaryTypeName","src":"446:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82697,"mutability":"mutable","name":"OptimismPortal2","nameLocation":"486:15:125","nodeType":"VariableDeclaration","scope":82706,"src":"478:23:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82696,"name":"address","nodeType":"ElementaryTypeName","src":"478:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82699,"mutability":"mutable","name":"SystemConfig","nameLocation":"519:12:125","nodeType":"VariableDeclaration","scope":82706,"src":"511:20:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82698,"name":"address","nodeType":"ElementaryTypeName","src":"511:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82701,"mutability":"mutable","name":"L1ERC721Bridge","nameLocation":"549:14:125","nodeType":"VariableDeclaration","scope":82706,"src":"541:22:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82700,"name":"address","nodeType":"ElementaryTypeName","src":"541:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82703,"mutability":"mutable","name":"ProtocolVersions","nameLocation":"581:16:125","nodeType":"VariableDeclaration","scope":82706,"src":"573:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82702,"name":"address","nodeType":"ElementaryTypeName","src":"573:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82705,"mutability":"mutable","name":"SuperchainConfig","nameLocation":"615:16:125","nodeType":"VariableDeclaration","scope":82706,"src":"607:24:125","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82704,"name":"address","nodeType":"ElementaryTypeName","src":"607:7:125","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"ContractSet","nameLocation":"170:11:125","scope":82707,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"Types","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[82707],"name":"Types","nameLocation":"65:5:125","scope":82708,"usedErrors":[]}],"license":"MIT"},"id":125}

@@ -1,1 +0,1 @@

{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"1499:503:28:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1499:503:28;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"1499:503:28:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"VMStatuses\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Named type aliases for the various valid VM status bytes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/lib/Types.sol\":\"VMStatuses\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/dispute/lib/LibPosition.sol\":{\"keccak256\":\"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d\",\"dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K\"]},\"src/dispute/lib/LibUDT.sol\":{\"keccak256\":\"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e\",\"dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX\"]},\"src/dispute/lib/Types.sol\":{\"keccak256\":\"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd\",\"dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/lib/Types.sol":"VMStatuses"},"evmVersion":"cancun","libraries":{}},"sources":{"src/dispute/lib/LibPosition.sol":{"keccak256":"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241","urls":["bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d","dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K"],"license":"MIT"},"src/dispute/lib/LibUDT.sol":{"keccak256":"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855","urls":["bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e","dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX"],"license":"MIT"},"src/dispute/lib/Types.sol":{"keccak256":"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8","urls":["bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd","dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Named type aliases for the various valid VM status bytes."},"devdoc":{"version":1,"kind":"dev","title":"VMStatuses"},"ast":{"absolutePath":"src/dispute/lib/Types.sol","id":47783,"exportedSymbols":{"Claim":[47572],"Clock":[47480],"Duration":[47604],"GameId":[47534],"GameStatus":[47685],"GameType":[47664],"GameTypes":[47726],"Hash":[47619],"LibClaim":[47602],"LibClock":[47532],"LibDuration":[47617],"LibGameId":[47570],"LibGameType":[47677],"LibHash":[47632],"LibPosition":[47443],"LibTimestamp":[47647],"LibVMStatus":[47662],"LocalPreimageKey":[47782],"OutputRoot":[47692],"Position":[47230],"Timestamp":[47634],"VMStatus":[47649],"VMStatuses":[47760]},"nodeType":"SourceUnit","src":"32:2676:28","nodes":[{"id":47679,"nodeType":"PragmaDirective","src":"32:24:28","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":47680,"nodeType":"ImportDirective","src":"58:36:28","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":47783,"sourceUnit":47678,"symbolAliases":[],"unitAlias":""},{"id":47685,"nodeType":"EnumDefinition","src":"148:299:28","nodes":[],"canonicalName":"GameStatus","documentation":{"id":47681,"nodeType":"StructuredDocumentation","src":"96:52:28","text":"@notice The current status of the dispute game."},"members":[{"id":47682,"name":"IN_PROGRESS","nameLocation":"239:11:28","nodeType":"EnumValue","src":"239:11:28"},{"id":47683,"name":"CHALLENGER_WINS","nameLocation":"336:15:28","nodeType":"EnumValue","src":"336:15:28"},{"id":47684,"name":"DEFENDER_WINS","nameLocation":"432:13:28","nodeType":"EnumValue","src":"432:13:28"}],"name":"GameStatus","nameLocation":"153:10:28"},{"id":47692,"nodeType":"StructDefinition","src":"673:63:28","nodes":[],"canonicalName":"OutputRoot","documentation":{"id":47686,"nodeType":"StructuredDocumentation","src":"449:224:28","text":"@notice Represents an L2 output root and the L2 block number at which it was generated.\n @custom:field root The output root.\n @custom:field l2BlockNumber The L2 block number at which the output root was generated."},"members":[{"constant":false,"id":47689,"mutability":"mutable","name":"root","nameLocation":"702:4:28","nodeType":"VariableDeclaration","scope":47692,"src":"697:9:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$47619","typeString":"Hash"},"typeName":{"id":47688,"nodeType":"UserDefinedTypeName","pathNode":{"id":47687,"name":"Hash","nameLocations":["697:4:28"],"nodeType":"IdentifierPath","referencedDeclaration":47619,"src":"697:4:28"},"referencedDeclaration":47619,"src":"697:4:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$47619","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":47691,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"720:13:28","nodeType":"VariableDeclaration","scope":47692,"src":"712:21:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47690,"name":"uint256","nodeType":"ElementaryTypeName","src":"712:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OutputRoot","nameLocation":"680:10:28","scope":47783,"visibility":"public"},{"id":47726,"nodeType":"ContractDefinition","src":"831:574:28","nodes":[{"id":47701,"nodeType":"VariableDeclaration","src":"912:52:28","nodes":[],"constant":true,"documentation":{"id":47694,"nodeType":"StructuredDocumentation","src":"855:52:28","text":"@dev A dispute game type the uses the cannon vm."},"mutability":"constant","name":"CANNON","nameLocation":"939:6:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47696,"nodeType":"UserDefinedTypeName","pathNode":{"id":47695,"name":"GameType","nameLocations":["912:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"912:8:28"},"referencedDeclaration":47664,"src":"912:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"30","id":47699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:28","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"}],"expression":{"id":47697,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"948:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"957:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"948:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"948:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"},{"id":47709,"nodeType":"VariableDeclaration","src":"1041:65:28","nodes":[],"constant":true,"documentation":{"id":47702,"nodeType":"StructuredDocumentation","src":"971:65:28","text":"@dev A permissioned dispute game type the uses the cannon vm."},"mutability":"constant","name":"PERMISSIONED_CANNON","nameLocation":"1068:19:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47704,"nodeType":"UserDefinedTypeName","pathNode":{"id":47703,"name":"GameType","nameLocations":["1041:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"1041:8:28"},"referencedDeclaration":47664,"src":"1041:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"31","id":47707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":47705,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"1090:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1099:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1090:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1090:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"},{"id":47717,"nodeType":"VariableDeclaration","src":"1174:54:28","nodes":[],"constant":true,"documentation":{"id":47710,"nodeType":"StructuredDocumentation","src":"1113:56:28","text":"@notice A dispute game type the uses the asterisc VM"},"mutability":"constant","name":"ASTERISC","nameLocation":"1201:8:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47712,"nodeType":"UserDefinedTypeName","pathNode":{"id":47711,"name":"GameType","nameLocations":["1174:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"1174:8:28"},"referencedDeclaration":47664,"src":"1174:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"32","id":47715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1226:1:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":47713,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"1212:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1221:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1212:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"},{"id":47725,"nodeType":"VariableDeclaration","src":"1346:56:28","nodes":[],"constant":true,"documentation":{"id":47718,"nodeType":"StructuredDocumentation","src":"1235:106:28","text":"@notice A dispute game type that uses an alphabet vm.\n Not intended for production use."},"mutability":"constant","name":"ALPHABET","nameLocation":"1373:8:28","scope":47726,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"},"typeName":{"id":47720,"nodeType":"UserDefinedTypeName","pathNode":{"id":47719,"name":"GameType","nameLocations":["1346:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47664,"src":"1346:8:28"},"referencedDeclaration":47664,"src":"1346:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323535","id":47723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1398:3:28","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"expression":{"id":47721,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47664,"src":"1384:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$47664_$","typeString":"type(GameType)"}},"id":47722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1393:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1384:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$47664_$","typeString":"function (uint32) pure returns (GameType)"}},"id":47724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:18:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$47664","typeString":"GameType"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GameTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":47693,"nodeType":"StructuredDocumentation","src":"738:93:28","text":"@title GameTypes\n @notice A library that defines the IDs of games that can be played."},"fullyImplemented":true,"linearizedBaseContracts":[47726],"name":"GameTypes","nameLocation":"839:9:28","scope":47783,"usedErrors":[],"usedEvents":[]},{"id":47760,"nodeType":"ContractDefinition","src":"1499:503:28","nodes":[{"id":47735,"nodeType":"VariableDeclaration","src":"1599:51:28","nodes":[],"constant":true,"documentation":{"id":47728,"nodeType":"StructuredDocumentation","src":"1524:70:28","text":"@notice The VM has executed successfully and the outcome is valid."},"mutability":"constant","name":"VALID","nameLocation":"1626:5:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47730,"nodeType":"UserDefinedTypeName","pathNode":{"id":47729,"name":"VMStatus","nameLocations":["1599:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1599:8:28"},"referencedDeclaration":47649,"src":"1599:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"30","id":47733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1648:1:28","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"}],"expression":{"id":47731,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1634:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1643:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1634:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1634:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"},{"id":47743,"nodeType":"VariableDeclaration","src":"1734:53:28","nodes":[],"constant":true,"documentation":{"id":47736,"nodeType":"StructuredDocumentation","src":"1657:72:28","text":"@notice The VM has executed successfully and the outcome is invalid."},"mutability":"constant","name":"INVALID","nameLocation":"1761:7:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47738,"nodeType":"UserDefinedTypeName","pathNode":{"id":47737,"name":"VMStatus","nameLocations":["1734:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1734:8:28"},"referencedDeclaration":47649,"src":"1734:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"31","id":47741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":47739,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1771:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1780:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1771:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"},{"id":47751,"nodeType":"VariableDeclaration","src":"1830:51:28","nodes":[],"constant":true,"documentation":{"id":47744,"nodeType":"StructuredDocumentation","src":"1794:31:28","text":"@notice The VM has paniced."},"mutability":"constant","name":"PANIC","nameLocation":"1857:5:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47746,"nodeType":"UserDefinedTypeName","pathNode":{"id":47745,"name":"VMStatus","nameLocations":["1830:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1830:8:28"},"referencedDeclaration":47649,"src":"1830:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"32","id":47749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1879:1:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":47747,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1865:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1874:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1865:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1865:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"},{"id":47759,"nodeType":"VariableDeclaration","src":"1943:56:28","nodes":[],"constant":true,"documentation":{"id":47752,"nodeType":"StructuredDocumentation","src":"1888:50:28","text":"@notice The VM execution is still in progress."},"mutability":"constant","name":"UNFINISHED","nameLocation":"1970:10:28","scope":47760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"},"typeName":{"id":47754,"nodeType":"UserDefinedTypeName","pathNode":{"id":47753,"name":"VMStatus","nameLocations":["1943:8:28"],"nodeType":"IdentifierPath","referencedDeclaration":47649,"src":"1943:8:28"},"referencedDeclaration":47649,"src":"1943:8:28","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"33","id":47757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1997:1:28","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"expression":{"id":47755,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47649,"src":"1983:8:28","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"type(VMStatus)"}},"id":47756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1992:4:28","memberName":"wrap","nodeType":"MemberAccess","src":"1983:13:28","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$47649_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":47758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:16:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$47649","typeString":"VMStatus"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"VMStatuses","contractDependencies":[],"contractKind":"library","documentation":{"id":47727,"nodeType":"StructuredDocumentation","src":"1407:92:28","text":"@title VMStatuses\n @notice Named type aliases for the various valid VM status bytes."},"fullyImplemented":true,"linearizedBaseContracts":[47760],"name":"VMStatuses","nameLocation":"1507:10:28","scope":47783,"usedErrors":[],"usedEvents":[]},{"id":47782,"nodeType":"ContractDefinition","src":"2107:600:28","nodes":[{"id":47765,"nodeType":"VariableDeclaration","src":"2191:45:28","nodes":[],"constant":true,"documentation":{"id":47762,"nodeType":"StructuredDocumentation","src":"2138:48:28","text":"@notice The identifier for the L1 head hash."},"mutability":"constant","name":"L1_HEAD_HASH","nameLocation":"2217:12:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47763,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":47764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2232:4:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":47769,"nodeType":"VariableDeclaration","src":"2304:53:28","nodes":[],"constant":true,"documentation":{"id":47766,"nodeType":"StructuredDocumentation","src":"2243:56:28","text":"@notice The identifier for the starting output root."},"mutability":"constant","name":"STARTING_OUTPUT_ROOT","nameLocation":"2330:20:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47767,"name":"uint256","nodeType":"ElementaryTypeName","src":"2304:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783032","id":47768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2353:4:28","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x02"},"visibility":"internal"},{"id":47773,"nodeType":"VariableDeclaration","src":"2425:53:28","nodes":[],"constant":true,"documentation":{"id":47770,"nodeType":"StructuredDocumentation","src":"2364:56:28","text":"@notice The identifier for the disputed output root."},"mutability":"constant","name":"DISPUTED_OUTPUT_ROOT","nameLocation":"2451:20:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47771,"name":"uint256","nodeType":"ElementaryTypeName","src":"2425:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783033","id":47772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2474:4:28","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"0x03"},"visibility":"internal"},{"id":47777,"nodeType":"VariableDeclaration","src":"2550:57:28","nodes":[],"constant":true,"documentation":{"id":47774,"nodeType":"StructuredDocumentation","src":"2485:60:28","text":"@notice The identifier for the disputed L2 block number."},"mutability":"constant","name":"DISPUTED_L2_BLOCK_NUMBER","nameLocation":"2576:24:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47775,"name":"uint256","nodeType":"ElementaryTypeName","src":"2550:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783034","id":47776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2603:4:28","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x04"},"visibility":"internal"},{"id":47781,"nodeType":"VariableDeclaration","src":"2663:41:28","nodes":[],"constant":true,"documentation":{"id":47778,"nodeType":"StructuredDocumentation","src":"2614:44:28","text":"@notice The identifier for the chain ID."},"mutability":"constant","name":"CHAIN_ID","nameLocation":"2689:8:28","scope":47782,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47779,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783035","id":47780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:4:28","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"0x05"},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"LocalPreimageKey","contractDependencies":[],"contractKind":"library","documentation":{"id":47761,"nodeType":"StructuredDocumentation","src":"2004:103:28","text":"@title LocalPreimageKey\n @notice Named type aliases for local `PreimageOracle` key identifiers."},"fullyImplemented":true,"linearizedBaseContracts":[47782],"name":"LocalPreimageKey","nameLocation":"2115:16:28","scope":47783,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":28}
{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"1499:503:90:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1499:503:90;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"1499:503:90:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"VMStatuses\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Named type aliases for the various valid VM status bytes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/lib/Types.sol\":\"VMStatuses\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/dispute/lib/LibPosition.sol\":{\"keccak256\":\"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d\",\"dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K\"]},\"src/dispute/lib/LibUDT.sol\":{\"keccak256\":\"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e\",\"dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX\"]},\"src/dispute/lib/Types.sol\":{\"keccak256\":\"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd\",\"dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/lib/Types.sol":"VMStatuses"},"evmVersion":"cancun","libraries":{}},"sources":{"src/dispute/lib/LibPosition.sol":{"keccak256":"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241","urls":["bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d","dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K"],"license":"MIT"},"src/dispute/lib/LibUDT.sol":{"keccak256":"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855","urls":["bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e","dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX"],"license":"MIT"},"src/dispute/lib/Types.sol":{"keccak256":"0x5d6a2b87e0358d54bc22a8fdcfcd17e347bcfa69b774d9c75694e3f843c2c2a8","urls":["bzz-raw://df0ea07c78675e3fbfacdf92026ed77cd2b6596b358c09a7f29148b6aa80a6bd","dweb:/ipfs/QmaNVv9NQg1Ea6AoHvv1oZCVX2ZAuwoW5vBMf7cVMvayqC"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Named type aliases for the various valid VM status bytes."},"devdoc":{"version":1,"kind":"dev","title":"VMStatuses"},"ast":{"absolutePath":"src/dispute/lib/Types.sol","id":59096,"exportedSymbols":{"Claim":[58885],"Clock":[58793],"Duration":[58917],"GameId":[58847],"GameStatus":[58998],"GameType":[58977],"GameTypes":[59039],"Hash":[58932],"LibClaim":[58915],"LibClock":[58845],"LibDuration":[58930],"LibGameId":[58883],"LibGameType":[58990],"LibHash":[58945],"LibPosition":[58756],"LibTimestamp":[58960],"LibVMStatus":[58975],"LocalPreimageKey":[59095],"OutputRoot":[59005],"Position":[58543],"Timestamp":[58947],"VMStatus":[58962],"VMStatuses":[59073]},"nodeType":"SourceUnit","src":"32:2676:90","nodes":[{"id":58992,"nodeType":"PragmaDirective","src":"32:24:90","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":58993,"nodeType":"ImportDirective","src":"58:36:90","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":59096,"sourceUnit":58991,"symbolAliases":[],"unitAlias":""},{"id":58998,"nodeType":"EnumDefinition","src":"148:299:90","nodes":[],"canonicalName":"GameStatus","documentation":{"id":58994,"nodeType":"StructuredDocumentation","src":"96:52:90","text":"@notice The current status of the dispute game."},"members":[{"id":58995,"name":"IN_PROGRESS","nameLocation":"239:11:90","nodeType":"EnumValue","src":"239:11:90"},{"id":58996,"name":"CHALLENGER_WINS","nameLocation":"336:15:90","nodeType":"EnumValue","src":"336:15:90"},{"id":58997,"name":"DEFENDER_WINS","nameLocation":"432:13:90","nodeType":"EnumValue","src":"432:13:90"}],"name":"GameStatus","nameLocation":"153:10:90"},{"id":59005,"nodeType":"StructDefinition","src":"673:63:90","nodes":[],"canonicalName":"OutputRoot","documentation":{"id":58999,"nodeType":"StructuredDocumentation","src":"449:224:90","text":"@notice Represents an L2 output root and the L2 block number at which it was generated.\n @custom:field root The output root.\n @custom:field l2BlockNumber The L2 block number at which the output root was generated."},"members":[{"constant":false,"id":59002,"mutability":"mutable","name":"root","nameLocation":"702:4:90","nodeType":"VariableDeclaration","scope":59005,"src":"697:9:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$58932","typeString":"Hash"},"typeName":{"id":59001,"nodeType":"UserDefinedTypeName","pathNode":{"id":59000,"name":"Hash","nameLocations":["697:4:90"],"nodeType":"IdentifierPath","referencedDeclaration":58932,"src":"697:4:90"},"referencedDeclaration":58932,"src":"697:4:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$58932","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":59004,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"720:13:90","nodeType":"VariableDeclaration","scope":59005,"src":"712:21:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59003,"name":"uint256","nodeType":"ElementaryTypeName","src":"712:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OutputRoot","nameLocation":"680:10:90","scope":59096,"visibility":"public"},{"id":59039,"nodeType":"ContractDefinition","src":"831:574:90","nodes":[{"id":59014,"nodeType":"VariableDeclaration","src":"912:52:90","nodes":[],"constant":true,"documentation":{"id":59007,"nodeType":"StructuredDocumentation","src":"855:52:90","text":"@dev A dispute game type the uses the cannon vm."},"mutability":"constant","name":"CANNON","nameLocation":"939:6:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59009,"nodeType":"UserDefinedTypeName","pathNode":{"id":59008,"name":"GameType","nameLocations":["912:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"912:8:90"},"referencedDeclaration":58977,"src":"912:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"30","id":59012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:90","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"}],"expression":{"id":59010,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"948:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"957:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"948:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"948:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"},{"id":59022,"nodeType":"VariableDeclaration","src":"1041:65:90","nodes":[],"constant":true,"documentation":{"id":59015,"nodeType":"StructuredDocumentation","src":"971:65:90","text":"@dev A permissioned dispute game type the uses the cannon vm."},"mutability":"constant","name":"PERMISSIONED_CANNON","nameLocation":"1068:19:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59017,"nodeType":"UserDefinedTypeName","pathNode":{"id":59016,"name":"GameType","nameLocations":["1041:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"1041:8:90"},"referencedDeclaration":58977,"src":"1041:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"31","id":59020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":59018,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"1090:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1099:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1090:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1090:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"},{"id":59030,"nodeType":"VariableDeclaration","src":"1174:54:90","nodes":[],"constant":true,"documentation":{"id":59023,"nodeType":"StructuredDocumentation","src":"1113:56:90","text":"@notice A dispute game type the uses the asterisc VM"},"mutability":"constant","name":"ASTERISC","nameLocation":"1201:8:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59025,"nodeType":"UserDefinedTypeName","pathNode":{"id":59024,"name":"GameType","nameLocations":["1174:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"1174:8:90"},"referencedDeclaration":58977,"src":"1174:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"32","id":59028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1226:1:90","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":59026,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"1212:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1221:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1212:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"},{"id":59038,"nodeType":"VariableDeclaration","src":"1346:56:90","nodes":[],"constant":true,"documentation":{"id":59031,"nodeType":"StructuredDocumentation","src":"1235:106:90","text":"@notice A dispute game type that uses an alphabet vm.\n Not intended for production use."},"mutability":"constant","name":"ALPHABET","nameLocation":"1373:8:90","scope":59039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"},"typeName":{"id":59033,"nodeType":"UserDefinedTypeName","pathNode":{"id":59032,"name":"GameType","nameLocations":["1346:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58977,"src":"1346:8:90"},"referencedDeclaration":58977,"src":"1346:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323535","id":59036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1398:3:90","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"expression":{"id":59034,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58977,"src":"1384:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$58977_$","typeString":"type(GameType)"}},"id":59035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1393:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1384:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$58977_$","typeString":"function (uint32) pure returns (GameType)"}},"id":59037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:18:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$58977","typeString":"GameType"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GameTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":59006,"nodeType":"StructuredDocumentation","src":"738:93:90","text":"@title GameTypes\n @notice A library that defines the IDs of games that can be played."},"fullyImplemented":true,"linearizedBaseContracts":[59039],"name":"GameTypes","nameLocation":"839:9:90","scope":59096,"usedErrors":[],"usedEvents":[]},{"id":59073,"nodeType":"ContractDefinition","src":"1499:503:90","nodes":[{"id":59048,"nodeType":"VariableDeclaration","src":"1599:51:90","nodes":[],"constant":true,"documentation":{"id":59041,"nodeType":"StructuredDocumentation","src":"1524:70:90","text":"@notice The VM has executed successfully and the outcome is valid."},"mutability":"constant","name":"VALID","nameLocation":"1626:5:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59043,"nodeType":"UserDefinedTypeName","pathNode":{"id":59042,"name":"VMStatus","nameLocations":["1599:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1599:8:90"},"referencedDeclaration":58962,"src":"1599:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"30","id":59046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1648:1:90","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"}],"expression":{"id":59044,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1634:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1643:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1634:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1634:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"},{"id":59056,"nodeType":"VariableDeclaration","src":"1734:53:90","nodes":[],"constant":true,"documentation":{"id":59049,"nodeType":"StructuredDocumentation","src":"1657:72:90","text":"@notice The VM has executed successfully and the outcome is invalid."},"mutability":"constant","name":"INVALID","nameLocation":"1761:7:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59051,"nodeType":"UserDefinedTypeName","pathNode":{"id":59050,"name":"VMStatus","nameLocations":["1734:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1734:8:90"},"referencedDeclaration":58962,"src":"1734:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"31","id":59054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:1:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":59052,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1771:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1780:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1771:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"},{"id":59064,"nodeType":"VariableDeclaration","src":"1830:51:90","nodes":[],"constant":true,"documentation":{"id":59057,"nodeType":"StructuredDocumentation","src":"1794:31:90","text":"@notice The VM has paniced."},"mutability":"constant","name":"PANIC","nameLocation":"1857:5:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59059,"nodeType":"UserDefinedTypeName","pathNode":{"id":59058,"name":"VMStatus","nameLocations":["1830:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1830:8:90"},"referencedDeclaration":58962,"src":"1830:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"32","id":59062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1879:1:90","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"expression":{"id":59060,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1865:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1874:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1865:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1865:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"},{"id":59072,"nodeType":"VariableDeclaration","src":"1943:56:90","nodes":[],"constant":true,"documentation":{"id":59065,"nodeType":"StructuredDocumentation","src":"1888:50:90","text":"@notice The VM execution is still in progress."},"mutability":"constant","name":"UNFINISHED","nameLocation":"1970:10:90","scope":59073,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"},"typeName":{"id":59067,"nodeType":"UserDefinedTypeName","pathNode":{"id":59066,"name":"VMStatus","nameLocations":["1943:8:90"],"nodeType":"IdentifierPath","referencedDeclaration":58962,"src":"1943:8:90"},"referencedDeclaration":58962,"src":"1943:8:90","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"33","id":59070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1997:1:90","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"expression":{"id":59068,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58962,"src":"1983:8:90","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"type(VMStatus)"}},"id":59069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1992:4:90","memberName":"wrap","nodeType":"MemberAccess","src":"1983:13:90","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$58962_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":59071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:16:90","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$58962","typeString":"VMStatus"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"VMStatuses","contractDependencies":[],"contractKind":"library","documentation":{"id":59040,"nodeType":"StructuredDocumentation","src":"1407:92:90","text":"@title VMStatuses\n @notice Named type aliases for the various valid VM status bytes."},"fullyImplemented":true,"linearizedBaseContracts":[59073],"name":"VMStatuses","nameLocation":"1507:10:90","scope":59096,"usedErrors":[],"usedEvents":[]},{"id":59095,"nodeType":"ContractDefinition","src":"2107:600:90","nodes":[{"id":59078,"nodeType":"VariableDeclaration","src":"2191:45:90","nodes":[],"constant":true,"documentation":{"id":59075,"nodeType":"StructuredDocumentation","src":"2138:48:90","text":"@notice The identifier for the L1 head hash."},"mutability":"constant","name":"L1_HEAD_HASH","nameLocation":"2217:12:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59076,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":59077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2232:4:90","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":59082,"nodeType":"VariableDeclaration","src":"2304:53:90","nodes":[],"constant":true,"documentation":{"id":59079,"nodeType":"StructuredDocumentation","src":"2243:56:90","text":"@notice The identifier for the starting output root."},"mutability":"constant","name":"STARTING_OUTPUT_ROOT","nameLocation":"2330:20:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59080,"name":"uint256","nodeType":"ElementaryTypeName","src":"2304:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783032","id":59081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2353:4:90","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x02"},"visibility":"internal"},{"id":59086,"nodeType":"VariableDeclaration","src":"2425:53:90","nodes":[],"constant":true,"documentation":{"id":59083,"nodeType":"StructuredDocumentation","src":"2364:56:90","text":"@notice The identifier for the disputed output root."},"mutability":"constant","name":"DISPUTED_OUTPUT_ROOT","nameLocation":"2451:20:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59084,"name":"uint256","nodeType":"ElementaryTypeName","src":"2425:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783033","id":59085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2474:4:90","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"0x03"},"visibility":"internal"},{"id":59090,"nodeType":"VariableDeclaration","src":"2550:57:90","nodes":[],"constant":true,"documentation":{"id":59087,"nodeType":"StructuredDocumentation","src":"2485:60:90","text":"@notice The identifier for the disputed L2 block number."},"mutability":"constant","name":"DISPUTED_L2_BLOCK_NUMBER","nameLocation":"2576:24:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59088,"name":"uint256","nodeType":"ElementaryTypeName","src":"2550:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783034","id":59089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2603:4:90","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x04"},"visibility":"internal"},{"id":59094,"nodeType":"VariableDeclaration","src":"2663:41:90","nodes":[],"constant":true,"documentation":{"id":59091,"nodeType":"StructuredDocumentation","src":"2614:44:90","text":"@notice The identifier for the chain ID."},"mutability":"constant","name":"CHAIN_ID","nameLocation":"2689:8:90","scope":59095,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59092,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:90","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783035","id":59093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:4:90","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"0x05"},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"LocalPreimageKey","contractDependencies":[],"contractKind":"library","documentation":{"id":59074,"nodeType":"StructuredDocumentation","src":"2004:103:90","text":"@title LocalPreimageKey\n @notice Named type aliases for local `PreimageOracle` key identifiers."},"fullyImplemented":true,"linearizedBaseContracts":[59095],"name":"LocalPreimageKey","nameLocation":"2115:16:90","scope":59096,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":90}
{
"name": "@eth-optimism/contracts-bedrock",
"version": "0.0.0-develop-20240529005706",
"version": "0.0.0-develop-20240529033925",
"description": "Contracts for Optimism Specs",

@@ -5,0 +5,0 @@ "license": "MIT",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc