@tokamak-network/thanos-contracts
Version:
1 lines • 35.3 kB
JSON
{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"1693:503:60:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1693:503:60;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"1693:503:60:-: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\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"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/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":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\":\"0x227948243b4be041de133e1adc4b1dd49e9c1f519e4b5ab7f18c5bc9740539b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae2584956303586801a4c721ad39db90b8929101594f5bed10d77b28e66b3c11\",\"dweb:/ipfs/QmdoKT3UiTfBY3nBLjKRGJkngS7vq6exVQbuPqo5GwDCM1\"]}},\"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/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","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":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"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":"0x227948243b4be041de133e1adc4b1dd49e9c1f519e4b5ab7f18c5bc9740539b9","urls":["bzz-raw://ae2584956303586801a4c721ad39db90b8929101594f5bed10d77b28e66b3c11","dweb:/ipfs/QmdoKT3UiTfBY3nBLjKRGJkngS7vq6exVQbuPqo5GwDCM1"],"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":54974,"exportedSymbols":{"Claim":[54755],"Clock":[54663],"Duration":[54787],"GameId":[54717],"GameStatus":[54868],"GameType":[54847],"GameTypes":[54917],"Hash":[54802],"LibClaim":[54785],"LibClock":[54715],"LibDuration":[54800],"LibGameId":[54753],"LibGameType":[54860],"LibHash":[54815],"LibPosition":[54626],"LibTimestamp":[54830],"LibVMStatus":[54845],"LocalPreimageKey":[54973],"OutputRoot":[54875],"Position":[54413],"Timestamp":[54817],"VMStatus":[54832],"VMStatuses":[54951]},"nodeType":"SourceUnit","src":"32:2870:60","nodes":[{"id":54862,"nodeType":"PragmaDirective","src":"32:24:60","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":54863,"nodeType":"ImportDirective","src":"58:36:60","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":54974,"sourceUnit":54861,"symbolAliases":[],"unitAlias":""},{"id":54868,"nodeType":"EnumDefinition","src":"148:299:60","nodes":[],"canonicalName":"GameStatus","documentation":{"id":54864,"nodeType":"StructuredDocumentation","src":"96:52:60","text":"@notice The current status of the dispute game."},"members":[{"id":54865,"name":"IN_PROGRESS","nameLocation":"239:11:60","nodeType":"EnumValue","src":"239:11:60"},{"id":54866,"name":"CHALLENGER_WINS","nameLocation":"336:15:60","nodeType":"EnumValue","src":"336:15:60"},{"id":54867,"name":"DEFENDER_WINS","nameLocation":"432:13:60","nodeType":"EnumValue","src":"432:13:60"}],"name":"GameStatus","nameLocation":"153:10:60"},{"id":54875,"nodeType":"StructDefinition","src":"673:63:60","nodes":[],"canonicalName":"OutputRoot","documentation":{"id":54869,"nodeType":"StructuredDocumentation","src":"449:224:60","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":54872,"mutability":"mutable","name":"root","nameLocation":"702:4:60","nodeType":"VariableDeclaration","scope":54875,"src":"697:9:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$54802","typeString":"Hash"},"typeName":{"id":54871,"nodeType":"UserDefinedTypeName","pathNode":{"id":54870,"name":"Hash","nameLocations":["697:4:60"],"nodeType":"IdentifierPath","referencedDeclaration":54802,"src":"697:4:60"},"referencedDeclaration":54802,"src":"697:4:60","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$54802","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":54874,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"720:13:60","nodeType":"VariableDeclaration","scope":54875,"src":"712:21:60","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54873,"name":"uint256","nodeType":"ElementaryTypeName","src":"712:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OutputRoot","nameLocation":"680:10:60","scope":54974,"visibility":"public"},{"id":54917,"nodeType":"ContractDefinition","src":"831:768:60","nodes":[{"id":54884,"nodeType":"VariableDeclaration","src":"912:52:60","nodes":[],"constant":true,"documentation":{"id":54877,"nodeType":"StructuredDocumentation","src":"855:52:60","text":"@dev A dispute game type the uses the cannon vm."},"mutability":"constant","name":"CANNON","nameLocation":"939:6:60","scope":54917,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"},"typeName":{"id":54879,"nodeType":"UserDefinedTypeName","pathNode":{"id":54878,"name":"GameType","nameLocations":["912:8:60"],"nodeType":"IdentifierPath","referencedDeclaration":54847,"src":"912:8:60"},"referencedDeclaration":54847,"src":"912:8:60","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"30","id":54882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:60","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":54880,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54847,"src":"948:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$54847_$","typeString":"type(GameType)"}},"id":54881,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"957:4:60","memberName":"wrap","nodeType":"MemberAccess","src":"948:13:60","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$54847_$","typeString":"function (uint32) pure returns (GameType)"}},"id":54883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"948:16:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"}},"visibility":"internal"},{"id":54892,"nodeType":"VariableDeclaration","src":"1041:65:60","nodes":[],"constant":true,"documentation":{"id":54885,"nodeType":"StructuredDocumentation","src":"971:65:60","text":"@dev A permissioned dispute game type the uses the cannon vm."},"mutability":"constant","name":"PERMISSIONED_CANNON","nameLocation":"1068:19:60","scope":54917,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"},"typeName":{"id":54887,"nodeType":"UserDefinedTypeName","pathNode":{"id":54886,"name":"GameType","nameLocations":["1041:8:60"],"nodeType":"IdentifierPath","referencedDeclaration":54847,"src":"1041:8:60"},"referencedDeclaration":54847,"src":"1041:8:60","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"31","id":54890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:60","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":54888,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54847,"src":"1090:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$54847_$","typeString":"type(GameType)"}},"id":54889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1099:4:60","memberName":"wrap","nodeType":"MemberAccess","src":"1090:13:60","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$54847_$","typeString":"function (uint32) pure returns (GameType)"}},"id":54891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1090:16:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"}},"visibility":"internal"},{"id":54900,"nodeType":"VariableDeclaration","src":"1174:54:60","nodes":[],"constant":true,"documentation":{"id":54893,"nodeType":"StructuredDocumentation","src":"1113:56:60","text":"@notice A dispute game type the uses the asterisc VM"},"mutability":"constant","name":"ASTERISC","nameLocation":"1201:8:60","scope":54917,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"},"typeName":{"id":54895,"nodeType":"UserDefinedTypeName","pathNode":{"id":54894,"name":"GameType","nameLocations":["1174:8:60"],"nodeType":"IdentifierPath","referencedDeclaration":54847,"src":"1174:8:60"},"referencedDeclaration":54847,"src":"1174:8:60","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"32","id":54898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1226:1:60","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":54896,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54847,"src":"1212:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$54847_$","typeString":"type(GameType)"}},"id":54897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1221:4:60","memberName":"wrap","nodeType":"MemberAccess","src":"1212:13:60","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$54847_$","typeString":"function (uint32) pure returns (GameType)"}},"id":54899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:16:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"}},"visibility":"internal"},{"id":54908,"nodeType":"VariableDeclaration","src":"1370:52:60","nodes":[],"constant":true,"documentation":{"id":54901,"nodeType":"StructuredDocumentation","src":"1235:130:60","text":"@notice A dispute game type with short game duration for testing withdrawals.\n Not intended for production use."},"mutability":"constant","name":"FAST","nameLocation":"1397:4:60","scope":54917,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"},"typeName":{"id":54903,"nodeType":"UserDefinedTypeName","pathNode":{"id":54902,"name":"GameType","nameLocations":["1370:8:60"],"nodeType":"IdentifierPath","referencedDeclaration":54847,"src":"1370:8:60"},"referencedDeclaration":54847,"src":"1370:8:60","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323534","id":54906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1418:3:60","typeDescriptions":{"typeIdentifier":"t_rational_254_by_1","typeString":"int_const 254"},"value":"254"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_254_by_1","typeString":"int_const 254"}],"expression":{"id":54904,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54847,"src":"1404:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$54847_$","typeString":"type(GameType)"}},"id":54905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1413:4:60","memberName":"wrap","nodeType":"MemberAccess","src":"1404:13:60","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$54847_$","typeString":"function (uint32) pure returns (GameType)"}},"id":54907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1404:18:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"}},"visibility":"internal"},{"id":54916,"nodeType":"VariableDeclaration","src":"1540:56:60","nodes":[],"constant":true,"documentation":{"id":54909,"nodeType":"StructuredDocumentation","src":"1429:106:60","text":"@notice A dispute game type that uses an alphabet vm.\n Not intended for production use."},"mutability":"constant","name":"ALPHABET","nameLocation":"1567:8:60","scope":54917,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"},"typeName":{"id":54911,"nodeType":"UserDefinedTypeName","pathNode":{"id":54910,"name":"GameType","nameLocations":["1540:8:60"],"nodeType":"IdentifierPath","referencedDeclaration":54847,"src":"1540:8:60"},"referencedDeclaration":54847,"src":"1540:8:60","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323535","id":54914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1592:3:60","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":54912,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54847,"src":"1578:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$54847_$","typeString":"type(GameType)"}},"id":54913,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1587:4:60","memberName":"wrap","nodeType":"MemberAccess","src":"1578:13:60","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$54847_$","typeString":"function (uint32) pure returns (GameType)"}},"id":54915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1578:18:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$54847","typeString":"GameType"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GameTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":54876,"nodeType":"StructuredDocumentation","src":"738:93:60","text":"@title GameTypes\n @notice A library that defines the IDs of games that can be played."},"fullyImplemented":true,"linearizedBaseContracts":[54917],"name":"GameTypes","nameLocation":"839:9:60","scope":54974,"usedErrors":[],"usedEvents":[]},{"id":54951,"nodeType":"ContractDefinition","src":"1693:503:60","nodes":[{"id":54926,"nodeType":"VariableDeclaration","src":"1793:51:60","nodes":[],"constant":true,"documentation":{"id":54919,"nodeType":"StructuredDocumentation","src":"1718:70:60","text":"@notice The VM has executed successfully and the outcome is valid."},"mutability":"constant","name":"VALID","nameLocation":"1820:5:60","scope":54951,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"},"typeName":{"id":54921,"nodeType":"UserDefinedTypeName","pathNode":{"id":54920,"name":"VMStatus","nameLocations":["1793:8:60"],"nodeType":"IdentifierPath","referencedDeclaration":54832,"src":"1793:8:60"},"referencedDeclaration":54832,"src":"1793:8:60","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"30","id":54924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1842:1:60","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":54922,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54832,"src":"1828:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$54832_$","typeString":"type(VMStatus)"}},"id":54923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1837:4:60","memberName":"wrap","nodeType":"MemberAccess","src":"1828:13:60","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$54832_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":54925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1828:16:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"}},"visibility":"internal"},{"id":54934,"nodeType":"VariableDeclaration","src":"1928:53:60","nodes":[],"constant":true,"documentation":{"id":54927,"nodeType":"StructuredDocumentation","src":"1851:72:60","text":"@notice The VM has executed successfully and the outcome is invalid."},"mutability":"constant","name":"INVALID","nameLocation":"1955:7:60","scope":54951,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"},"typeName":{"id":54929,"nodeType":"UserDefinedTypeName","pathNode":{"id":54928,"name":"VMStatus","nameLocations":["1928:8:60"],"nodeType":"IdentifierPath","referencedDeclaration":54832,"src":"1928:8:60"},"referencedDeclaration":54832,"src":"1928:8:60","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"31","id":54932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1979:1:60","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":54930,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54832,"src":"1965:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$54832_$","typeString":"type(VMStatus)"}},"id":54931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1974:4:60","memberName":"wrap","nodeType":"MemberAccess","src":"1965:13:60","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$54832_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":54933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1965:16:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"}},"visibility":"internal"},{"id":54942,"nodeType":"VariableDeclaration","src":"2024:51:60","nodes":[],"constant":true,"documentation":{"id":54935,"nodeType":"StructuredDocumentation","src":"1988:31:60","text":"@notice The VM has paniced."},"mutability":"constant","name":"PANIC","nameLocation":"2051:5:60","scope":54951,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"},"typeName":{"id":54937,"nodeType":"UserDefinedTypeName","pathNode":{"id":54936,"name":"VMStatus","nameLocations":["2024:8:60"],"nodeType":"IdentifierPath","referencedDeclaration":54832,"src":"2024:8:60"},"referencedDeclaration":54832,"src":"2024:8:60","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"32","id":54940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2073:1:60","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":54938,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54832,"src":"2059:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$54832_$","typeString":"type(VMStatus)"}},"id":54939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2068:4:60","memberName":"wrap","nodeType":"MemberAccess","src":"2059:13:60","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$54832_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":54941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2059:16:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"}},"visibility":"internal"},{"id":54950,"nodeType":"VariableDeclaration","src":"2137:56:60","nodes":[],"constant":true,"documentation":{"id":54943,"nodeType":"StructuredDocumentation","src":"2082:50:60","text":"@notice The VM execution is still in progress."},"mutability":"constant","name":"UNFINISHED","nameLocation":"2164:10:60","scope":54951,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"},"typeName":{"id":54945,"nodeType":"UserDefinedTypeName","pathNode":{"id":54944,"name":"VMStatus","nameLocations":["2137:8:60"],"nodeType":"IdentifierPath","referencedDeclaration":54832,"src":"2137:8:60"},"referencedDeclaration":54832,"src":"2137:8:60","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"33","id":54948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2191:1:60","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":54946,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54832,"src":"2177:8:60","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$54832_$","typeString":"type(VMStatus)"}},"id":54947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2186:4:60","memberName":"wrap","nodeType":"MemberAccess","src":"2177:13:60","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$54832_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":54949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2177:16:60","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$54832","typeString":"VMStatus"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"VMStatuses","contractDependencies":[],"contractKind":"library","documentation":{"id":54918,"nodeType":"StructuredDocumentation","src":"1601:92:60","text":"@title VMStatuses\n @notice Named type aliases for the various valid VM status bytes."},"fullyImplemented":true,"linearizedBaseContracts":[54951],"name":"VMStatuses","nameLocation":"1701:10:60","scope":54974,"usedErrors":[],"usedEvents":[]},{"id":54973,"nodeType":"ContractDefinition","src":"2301:600:60","nodes":[{"id":54956,"nodeType":"VariableDeclaration","src":"2385:45:60","nodes":[],"constant":true,"documentation":{"id":54953,"nodeType":"StructuredDocumentation","src":"2332:48:60","text":"@notice The identifier for the L1 head hash."},"mutability":"constant","name":"L1_HEAD_HASH","nameLocation":"2411:12:60","scope":54973,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54954,"name":"uint256","nodeType":"ElementaryTypeName","src":"2385:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":54955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2426:4:60","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":54960,"nodeType":"VariableDeclaration","src":"2498:53:60","nodes":[],"constant":true,"documentation":{"id":54957,"nodeType":"StructuredDocumentation","src":"2437:56:60","text":"@notice The identifier for the starting output root."},"mutability":"constant","name":"STARTING_OUTPUT_ROOT","nameLocation":"2524:20:60","scope":54973,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54958,"name":"uint256","nodeType":"ElementaryTypeName","src":"2498:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783032","id":54959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2547:4:60","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x02"},"visibility":"internal"},{"id":54964,"nodeType":"VariableDeclaration","src":"2619:53:60","nodes":[],"constant":true,"documentation":{"id":54961,"nodeType":"StructuredDocumentation","src":"2558:56:60","text":"@notice The identifier for the disputed output root."},"mutability":"constant","name":"DISPUTED_OUTPUT_ROOT","nameLocation":"2645:20:60","scope":54973,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54962,"name":"uint256","nodeType":"ElementaryTypeName","src":"2619:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783033","id":54963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2668:4:60","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"0x03"},"visibility":"internal"},{"id":54968,"nodeType":"VariableDeclaration","src":"2744:57:60","nodes":[],"constant":true,"documentation":{"id":54965,"nodeType":"StructuredDocumentation","src":"2679:60:60","text":"@notice The identifier for the disputed L2 block number."},"mutability":"constant","name":"DISPUTED_L2_BLOCK_NUMBER","nameLocation":"2770:24:60","scope":54973,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54966,"name":"uint256","nodeType":"ElementaryTypeName","src":"2744:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783034","id":54967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2797:4:60","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x04"},"visibility":"internal"},{"id":54972,"nodeType":"VariableDeclaration","src":"2857:41:60","nodes":[],"constant":true,"documentation":{"id":54969,"nodeType":"StructuredDocumentation","src":"2808:44:60","text":"@notice The identifier for the chain ID."},"mutability":"constant","name":"CHAIN_ID","nameLocation":"2883:8:60","scope":54973,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54970,"name":"uint256","nodeType":"ElementaryTypeName","src":"2857:7:60","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783035","id":54971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2894:4:60","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":54952,"nodeType":"StructuredDocumentation","src":"2198:103:60","text":"@title LocalPreimageKey\n @notice Named type aliases for local `PreimageOracle` key identifiers."},"fullyImplemented":true,"linearizedBaseContracts":[54973],"name":"LocalPreimageKey","nameLocation":"2309:16:60","scope":54974,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":60}