UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 34.5 kB
{"abi":[],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"1693:503:199:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1693:503:199;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"1693:503:199:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"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\":\"london\",\"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.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/","@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":"london","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":110713,"exportedSymbols":{"Claim":[110496],"Clock":[110404],"Duration":[110528],"GameId":[110458],"GameStatus":[110608],"GameType":[110588],"GameTypes":[110656],"Hash":[110543],"LibClaim":[110526],"LibClock":[110456],"LibDuration":[110541],"LibGameId":[110494],"LibGameType":[110601],"LibHash":[110556],"LibPosition":[110367],"LibTimestamp":[110571],"LibVMStatus":[110586],"LocalPreimageKey":[110712],"OutputRoot":[110614],"Position":[110154],"Timestamp":[110558],"VMStatus":[110573],"VMStatuses":[110690]},"nodeType":"SourceUnit","src":"32:2870:199","nodes":[{"id":110603,"nodeType":"PragmaDirective","src":"32:24:199","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":110604,"nodeType":"ImportDirective","src":"58:36:199","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":110713,"sourceUnit":110602,"symbolAliases":[],"unitAlias":""},{"id":110608,"nodeType":"EnumDefinition","src":"148:299:199","nodes":[],"canonicalName":"GameStatus","members":[{"id":110605,"name":"IN_PROGRESS","nameLocation":"239:11:199","nodeType":"EnumValue","src":"239:11:199"},{"id":110606,"name":"CHALLENGER_WINS","nameLocation":"336:15:199","nodeType":"EnumValue","src":"336:15:199"},{"id":110607,"name":"DEFENDER_WINS","nameLocation":"432:13:199","nodeType":"EnumValue","src":"432:13:199"}],"name":"GameStatus","nameLocation":"153:10:199"},{"id":110614,"nodeType":"StructDefinition","src":"673:63:199","nodes":[],"canonicalName":"OutputRoot","members":[{"constant":false,"id":110611,"mutability":"mutable","name":"root","nameLocation":"702:4:199","nodeType":"VariableDeclaration","scope":110614,"src":"697:9:199","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$110543","typeString":"Hash"},"typeName":{"id":110610,"nodeType":"UserDefinedTypeName","pathNode":{"id":110609,"name":"Hash","nodeType":"IdentifierPath","referencedDeclaration":110543,"src":"697:4:199"},"referencedDeclaration":110543,"src":"697:4:199","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$110543","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":110613,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"720:13:199","nodeType":"VariableDeclaration","scope":110614,"src":"712:21:199","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":110612,"name":"uint256","nodeType":"ElementaryTypeName","src":"712:7:199","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OutputRoot","nameLocation":"680:10:199","scope":110713,"visibility":"public"},{"id":110656,"nodeType":"ContractDefinition","src":"831:768:199","nodes":[{"id":110623,"nodeType":"VariableDeclaration","src":"912:52:199","nodes":[],"constant":true,"documentation":{"id":110616,"nodeType":"StructuredDocumentation","src":"855:52:199","text":"@dev A dispute game type the uses the cannon vm."},"mutability":"constant","name":"CANNON","nameLocation":"939:6:199","scope":110656,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"},"typeName":{"id":110618,"nodeType":"UserDefinedTypeName","pathNode":{"id":110617,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":110588,"src":"912:8:199"},"referencedDeclaration":110588,"src":"912:8:199","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"30","id":110621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:199","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":110619,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110588,"src":"948:8:199","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$110588_$","typeString":"type(GameType)"}},"id":110620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"948:13:199","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$110588_$","typeString":"function (uint32) pure returns (GameType)"}},"id":110622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"948:16:199","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"visibility":"internal"},{"id":110631,"nodeType":"VariableDeclaration","src":"1041:65:199","nodes":[],"constant":true,"documentation":{"id":110624,"nodeType":"StructuredDocumentation","src":"971:65:199","text":"@dev A permissioned dispute game type the uses the cannon vm."},"mutability":"constant","name":"PERMISSIONED_CANNON","nameLocation":"1068:19:199","scope":110656,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"},"typeName":{"id":110626,"nodeType":"UserDefinedTypeName","pathNode":{"id":110625,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":110588,"src":"1041:8:199"},"referencedDeclaration":110588,"src":"1041:8:199","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"31","id":110629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:199","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":110627,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110588,"src":"1090:8:199","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$110588_$","typeString":"type(GameType)"}},"id":110628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"1090:13:199","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$110588_$","typeString":"function (uint32) pure returns (GameType)"}},"id":110630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1090:16:199","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"visibility":"internal"},{"id":110639,"nodeType":"VariableDeclaration","src":"1174:54:199","nodes":[],"constant":true,"documentation":{"id":110632,"nodeType":"StructuredDocumentation","src":"1113:56:199","text":"@notice A dispute game type the uses the asterisc VM"},"mutability":"constant","name":"ASTERISC","nameLocation":"1201:8:199","scope":110656,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"},"typeName":{"id":110634,"nodeType":"UserDefinedTypeName","pathNode":{"id":110633,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":110588,"src":"1174:8:199"},"referencedDeclaration":110588,"src":"1174:8:199","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"32","id":110637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1226:1:199","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":110635,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110588,"src":"1212:8:199","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$110588_$","typeString":"type(GameType)"}},"id":110636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"1212:13:199","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$110588_$","typeString":"function (uint32) pure returns (GameType)"}},"id":110638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1212:16:199","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"visibility":"internal"},{"id":110647,"nodeType":"VariableDeclaration","src":"1370:52:199","nodes":[],"constant":true,"documentation":{"id":110640,"nodeType":"StructuredDocumentation","src":"1235:130:199","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:199","scope":110656,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"},"typeName":{"id":110642,"nodeType":"UserDefinedTypeName","pathNode":{"id":110641,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":110588,"src":"1370:8:199"},"referencedDeclaration":110588,"src":"1370:8:199","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323534","id":110645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1418:3:199","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":110643,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110588,"src":"1404:8:199","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$110588_$","typeString":"type(GameType)"}},"id":110644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"1404:13:199","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$110588_$","typeString":"function (uint32) pure returns (GameType)"}},"id":110646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1404:18:199","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"visibility":"internal"},{"id":110655,"nodeType":"VariableDeclaration","src":"1540:56:199","nodes":[],"constant":true,"documentation":{"id":110648,"nodeType":"StructuredDocumentation","src":"1429:106:199","text":"@notice A dispute game type that uses an alphabet vm.\n Not intended for production use."},"mutability":"constant","name":"ALPHABET","nameLocation":"1567:8:199","scope":110656,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"},"typeName":{"id":110650,"nodeType":"UserDefinedTypeName","pathNode":{"id":110649,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":110588,"src":"1540:8:199"},"referencedDeclaration":110588,"src":"1540:8:199","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323535","id":110653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1592:3:199","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":110651,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110588,"src":"1578:8:199","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$110588_$","typeString":"type(GameType)"}},"id":110652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"1578:13:199","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$110588_$","typeString":"function (uint32) pure returns (GameType)"}},"id":110654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1578:18:199","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GameTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":110615,"nodeType":"StructuredDocumentation","src":"738:93:199","text":"@title GameTypes\n @notice A library that defines the IDs of games that can be played."},"fullyImplemented":true,"linearizedBaseContracts":[110656],"name":"GameTypes","nameLocation":"839:9:199","scope":110713,"usedErrors":[]},{"id":110690,"nodeType":"ContractDefinition","src":"1693:503:199","nodes":[{"id":110665,"nodeType":"VariableDeclaration","src":"1793:51:199","nodes":[],"constant":true,"documentation":{"id":110658,"nodeType":"StructuredDocumentation","src":"1718:70:199","text":"@notice The VM has executed successfully and the outcome is valid."},"mutability":"constant","name":"VALID","nameLocation":"1820:5:199","scope":110690,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"},"typeName":{"id":110660,"nodeType":"UserDefinedTypeName","pathNode":{"id":110659,"name":"VMStatus","nodeType":"IdentifierPath","referencedDeclaration":110573,"src":"1793:8:199"},"referencedDeclaration":110573,"src":"1793:8:199","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"30","id":110663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1842:1:199","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":110661,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110573,"src":"1828:8:199","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$110573_$","typeString":"type(VMStatus)"}},"id":110662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"1828:13:199","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$110573_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":110664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1828:16:199","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"}},"visibility":"internal"},{"id":110673,"nodeType":"VariableDeclaration","src":"1928:53:199","nodes":[],"constant":true,"documentation":{"id":110666,"nodeType":"StructuredDocumentation","src":"1851:72:199","text":"@notice The VM has executed successfully and the outcome is invalid."},"mutability":"constant","name":"INVALID","nameLocation":"1955:7:199","scope":110690,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"},"typeName":{"id":110668,"nodeType":"UserDefinedTypeName","pathNode":{"id":110667,"name":"VMStatus","nodeType":"IdentifierPath","referencedDeclaration":110573,"src":"1928:8:199"},"referencedDeclaration":110573,"src":"1928:8:199","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"31","id":110671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1979:1:199","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":110669,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110573,"src":"1965:8:199","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$110573_$","typeString":"type(VMStatus)"}},"id":110670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"1965:13:199","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$110573_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":110672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1965:16:199","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"}},"visibility":"internal"},{"id":110681,"nodeType":"VariableDeclaration","src":"2024:51:199","nodes":[],"constant":true,"documentation":{"id":110674,"nodeType":"StructuredDocumentation","src":"1988:31:199","text":"@notice The VM has paniced."},"mutability":"constant","name":"PANIC","nameLocation":"2051:5:199","scope":110690,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"},"typeName":{"id":110676,"nodeType":"UserDefinedTypeName","pathNode":{"id":110675,"name":"VMStatus","nodeType":"IdentifierPath","referencedDeclaration":110573,"src":"2024:8:199"},"referencedDeclaration":110573,"src":"2024:8:199","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"32","id":110679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2073:1:199","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":110677,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110573,"src":"2059:8:199","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$110573_$","typeString":"type(VMStatus)"}},"id":110678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"2059:13:199","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$110573_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":110680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2059:16:199","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"}},"visibility":"internal"},{"id":110689,"nodeType":"VariableDeclaration","src":"2137:56:199","nodes":[],"constant":true,"documentation":{"id":110682,"nodeType":"StructuredDocumentation","src":"2082:50:199","text":"@notice The VM execution is still in progress."},"mutability":"constant","name":"UNFINISHED","nameLocation":"2164:10:199","scope":110690,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"},"typeName":{"id":110684,"nodeType":"UserDefinedTypeName","pathNode":{"id":110683,"name":"VMStatus","nodeType":"IdentifierPath","referencedDeclaration":110573,"src":"2137:8:199"},"referencedDeclaration":110573,"src":"2137:8:199","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"33","id":110687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2191:1:199","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":110685,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110573,"src":"2177:8:199","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$110573_$","typeString":"type(VMStatus)"}},"id":110686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"2177:13:199","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$110573_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":110688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2177:16:199","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$110573","typeString":"VMStatus"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"VMStatuses","contractDependencies":[],"contractKind":"library","documentation":{"id":110657,"nodeType":"StructuredDocumentation","src":"1601:92:199","text":"@title VMStatuses\n @notice Named type aliases for the various valid VM status bytes."},"fullyImplemented":true,"linearizedBaseContracts":[110690],"name":"VMStatuses","nameLocation":"1701:10:199","scope":110713,"usedErrors":[]},{"id":110712,"nodeType":"ContractDefinition","src":"2301:600:199","nodes":[{"id":110695,"nodeType":"VariableDeclaration","src":"2385:45:199","nodes":[],"constant":true,"documentation":{"id":110692,"nodeType":"StructuredDocumentation","src":"2332:48:199","text":"@notice The identifier for the L1 head hash."},"mutability":"constant","name":"L1_HEAD_HASH","nameLocation":"2411:12:199","scope":110712,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":110693,"name":"uint256","nodeType":"ElementaryTypeName","src":"2385:7:199","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":110694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2426:4:199","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":110699,"nodeType":"VariableDeclaration","src":"2498:53:199","nodes":[],"constant":true,"documentation":{"id":110696,"nodeType":"StructuredDocumentation","src":"2437:56:199","text":"@notice The identifier for the starting output root."},"mutability":"constant","name":"STARTING_OUTPUT_ROOT","nameLocation":"2524:20:199","scope":110712,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":110697,"name":"uint256","nodeType":"ElementaryTypeName","src":"2498:7:199","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783032","id":110698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2547:4:199","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x02"},"visibility":"internal"},{"id":110703,"nodeType":"VariableDeclaration","src":"2619:53:199","nodes":[],"constant":true,"documentation":{"id":110700,"nodeType":"StructuredDocumentation","src":"2558:56:199","text":"@notice The identifier for the disputed output root."},"mutability":"constant","name":"DISPUTED_OUTPUT_ROOT","nameLocation":"2645:20:199","scope":110712,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":110701,"name":"uint256","nodeType":"ElementaryTypeName","src":"2619:7:199","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783033","id":110702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2668:4:199","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"0x03"},"visibility":"internal"},{"id":110707,"nodeType":"VariableDeclaration","src":"2744:57:199","nodes":[],"constant":true,"documentation":{"id":110704,"nodeType":"StructuredDocumentation","src":"2679:60:199","text":"@notice The identifier for the disputed L2 block number."},"mutability":"constant","name":"DISPUTED_L2_BLOCK_NUMBER","nameLocation":"2770:24:199","scope":110712,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":110705,"name":"uint256","nodeType":"ElementaryTypeName","src":"2744:7:199","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783034","id":110706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2797:4:199","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x04"},"visibility":"internal"},{"id":110711,"nodeType":"VariableDeclaration","src":"2857:41:199","nodes":[],"constant":true,"documentation":{"id":110708,"nodeType":"StructuredDocumentation","src":"2808:44:199","text":"@notice The identifier for the chain ID."},"mutability":"constant","name":"CHAIN_ID","nameLocation":"2883:8:199","scope":110712,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":110709,"name":"uint256","nodeType":"ElementaryTypeName","src":"2857:7:199","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783035","id":110710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2894:4:199","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":110691,"nodeType":"StructuredDocumentation","src":"2198:103:199","text":"@title LocalPreimageKey\n @notice Named type aliases for local `PreimageOracle` key identifiers."},"fullyImplemented":true,"linearizedBaseContracts":[110712],"name":"LocalPreimageKey","nameLocation":"2309:16:199","scope":110713,"usedErrors":[]}],"license":"MIT"},"id":199}